Re: [PATCH 1/3] user namespaces: introduceuser_struct->user_namespace relationship

From: Andrew Morton
Date: Wed Aug 27 2008 - 20:12:53 EST


On Tue, 26 Aug 2008 13:53:41 -0500
"Serge E. Hallyn" <serue@xxxxxxxxxx> wrote:

> When a task does clone(CLONE_NEWNS), the task's user is the 'creator' of the
> new user_namespace, and the user_namespace is tacked onto a list of those
> created by this user.
>
> Changelog:
> Aug 25: make free_user not inlined as it's not trivial. (Eric
> Biederman suggestion)
> Aug 1: renamed user->user_namespace to user_ns, as the next
> patch did anyway.
> Aug 1: move put_user_ns call in one free_user() definition
> to move it outside the lock in free_user. put_user_ns
> calls free_user on the user_ns->creator, which in
> turn would grab the lock again.
>
> Signed-off-by: Serge Hallyn <serue@xxxxxxxxxx>
> ---
> include/linux/sched.h | 1 +
> include/linux/user_namespace.h | 1 +
> kernel/user.c | 11 +++++++++--
> kernel/user_namespace.c | 20 +++++++++++---------

The credentials code in linux-next is changing the same code which
you're changing, in more-than-trivially-textual ways.

I'd suggest a dhowells cc on these changes, as he's also working
in this area, and as you touch the keyring code a bit.

And, of course, please remove that almost-always-wrong
extern-declaration-in-C which checkpatch told you about. init_groups
is already declared in include/linux/init_task.h anyway...

--
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/