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.

Reply via email to