Wed, Nov 15, 2017 at 09:03:59AM CET, jakub.kicin...@netronome.com wrote:
>On Tue, 14 Nov 2017 17:18:44 +0100, Jiri Pirko wrote:
>> +static int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info 
>> *info)
>> +{
>> +    struct devlink *devlink = info->user_ptr[0];
>> +    int err;
>> +
>> +    if (!devlink->ops->reload)
>> +            return -EOPNOTSUPP;
>> +
>> +    err = devlink_resources_validate(devlink, NULL, info);
>> +    if (err)
>> +            return err;
>> +
>> +    mutex_unlock(&devlink->lock);
>> +    err = devlink->ops->reload(devlink);
>> +    mutex_lock(&devlink->lock);
>> +
>> +    return err;
>> +}
>
>I'm a bit confused with the locking, why is devlink->lock not held
>around the validation?

It is.

Reply via email to