Re: [PATCH v18 49/80] c/r: support for UTS namespace

From: Serge E. Hallyn
Date: Tue Sep 29 2009 - 14:51:41 EST


Quoting Nikita V. Youshchenko (yoush@xxxxxxxxx):
> > +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.

Yup, good point, that looks unnecessary.

thanks,
-serge
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/