[PATCH 1/4] userns: let clone_uts_ns() handle setting uts->user_ns
Serge E. Hallyn
serge at hallyn.com
Mon Feb 21 05:58:03 PST 2011
Quoting Oleg Nesterov (oleg at redhat.com):
> On 02/21, Daniel Lezcano wrote:
> > On 02/21/2011 05:01 AM, Serge E. Hallyn wrote:
> >> To do so we need to pass in the task_struct who'll get the utsname,
> >> so we can get its user_ns.
> >> -extern struct uts_namespace *copy_utsname(unsigned long flags,
> >> - struct uts_namespace *ns);
> >> +extern struct uts_namespace *copy_utsname(struct task_struct *tsk,
> >> + unsigned long flags,
> >> + struct uts_namespace *ns);
> > Why don't we pass 'user_ns' instead of 'tsk' ? that will look
> > semantically clearer for the caller no ?
> > (example below).
> > ...
> > new_nsp->uts_ns = copy_utsname(flags, tsk->nsproxy->uts_ns, task_cred_xxx(tsk, user)->user_ns);
> To me tsk looks more readable, I mean
> new_nsp->uts_ns = copy_utsname(flags, tsk);
> copy_utsname() can find both uts_ns and user_ns looking at task_strcut.
Uh, yeah. I should remove the 'ns' argument there shouldn't I.
Daniel, does that sway your opinion then?
More information about the Containers