Fri, Oct 18, 2019 at 06:35:09PM CEST, step...@networkplumber.org wrote: >On Fri, 18 Oct 2019 18:07:26 +0200 >Jiri Pirko <j...@resnulli.us> wrote: > >> +static bool devlink_param_valid_name(const char *name) >> +{ >> + int len = strlen(name); >> + int i; >> + >> + /* Name can contain lowercase characters or digits. >> + * Underscores are also allowed, but not at the beginning >> + * or end of the name and not more than one in a row. >> + */ >> + >> + for (i = 0; i < len; i++) { >> + if (islower(name[i]) || isdigit(name[i])) >> + continue; >> + if (name[i] != '_') >> + return false; >> + if (i == 0 || i + 1 == len) >> + return false; >> + if (name[i - 1] == '_') >> + return false; >> + } >> + return true; >> +} > >You might want to also impose a maximum length on name,
Well I don't really see why. >and not allow slash in name (if you ever plan to use sysfs). They are not allowed. Only islower, isdigit, '_'. That's it.