On 02/21/2011 02:58 PM, Serge E. Hallyn wrote: > Quoting Oleg Nesterov (oleg@xxxxxxxxxx): >> 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? Well, I prefer to pass the needed parameters to a function. AFAICS, 'tsk' is not really needed but 'user_ns'. But it is a detail, so if passing the tsk parameter in the other copy_* functions helps to cleanup, that will be consistent. So I am fine with that. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers