Nikita V. Youshchenko wrote:
>> +static struct uts_namespace *do_restore_uts_ns(struct ckpt_ctx *ctx)
>> ...
>> +#ifdef CONFIG_UTS_NS
>> +    uts_ns = create_uts_ns();
>> +    if (!uts_ns) {
>> +            uts_ns = ERR_PTR(-ENOMEM);
>> +            goto out;
>> +    }
>> +    down_read(&uts_sem);
>> +    name = &uts_ns->name;
>> +    memcpy(name->sysname, h->sysname, sizeof(name->sysname));
>> +    memcpy(name->nodename, h->nodename, sizeof(name->nodename));
>> +    memcpy(name->release, h->release, sizeof(name->release));
>> +    memcpy(name->version, h->version, sizeof(name->version));
>> +    memcpy(name->machine, h->machine, sizeof(name->machine));
>> +    memcpy(name->domainname, h->domainname, sizeof(name->domainname));
>> +    up_read(&uts_sem);
> 
> Could you please explain what for is this down_read() / up_read() ?
> You operate only on local objects: 'name' points to just-created 
> uts_ns, 'h' is also local data.

Nothing more than symmetry with checkpoint code, and a pedagogical
aspect...

Can be replaced by a suitable comment.

Oren.
_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to