[Devel] Re: [RFC 1/5] user namespaces: Add a user_namespace as creator/owner of uts_namespace

Greg KH greg at kroah.com
Fri Dec 17 11:57:15 PST 2010


On Fri, Dec 17, 2010 at 01:46:45PM -0600, Serge Hallyn wrote:
> Quoting Greg KH (greg at kroah.com):
> > > +extern struct user_namespace init_user_ns;
> > >  struct uts_namespace init_uts_ns = {
> > >  	.kref = {
> > >  		.refcount	= ATOMIC_INIT(2),
> > 
> > Wait, WTF?
> > 
> > You have a static kref and you try to automatically instanciate it here?
> 
> You're complaining about the pre-existing init_uts_ns right?

Yup.

> > As it's static, why are you even having a kref at all, what good does it
> > do you, you can't delete the thing,
> 
> Can't delete this one, but can delete all the uts namespaces, obviously.
> As with init_tgcred in kernel/cred.c.
> 
> It's initialized with a refcount which will keep it from ever getting
> freed.

That's my point.  You are getting "lucky" by creating a static kref.
Which is a totally pointless thing to do, right?

> > it's always around, so just remove
> > it entirely please.
> > 
> > Or, dynamically create it properly.  In other words, this is majorly
> > broken.
> 
> If we create it dynamically, then I don't think we can use it the way we
> do in kernel/utsname_sysctl.c for instance.

Why not?  It's just a pointer to the structure instead of the structure
itself, right?

thanks,

greg k-h
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list