From 73c5d9828ef88a4b7480b672a77c052e1e6bf6ed Mon Sep 17 00:00:00 2001 From: "Serge E. Hallyn" Date: Wed, 3 Dec 2008 13:17:06 -0600 Subject: [PATCH] --- yaml --- r: 120745 b: refs/heads/master c: c37bbb0fdcc01610fd55604eb6927210a1d20044 h: refs/heads/master i: 120743: 3f5e5cce09ff052c6cf0595a94a4008e6f7152c2 v: v3 --- [refs] | 2 +- trunk/kernel/user.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 2d8fc4dd8f22..e43b992f404f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ec98ce480ada787f2cfbd696980ff3564415505b +refs/heads/master: c37bbb0fdcc01610fd55604eb6927210a1d20044 diff --git a/trunk/kernel/user.c b/trunk/kernel/user.c index 97202cb29adc..6c924bc48c08 100644 --- a/trunk/kernel/user.c +++ b/trunk/kernel/user.c @@ -246,6 +246,8 @@ static int uids_user_create(struct user_struct *up) int error; memset(kobj, 0, sizeof(struct kobject)); + if (up->user_ns != &init_user_ns) + return 0; kobj->kset = uids_kset; error = kobject_init_and_add(kobj, &uids_ktype, NULL, "%d", up->uid); if (error) { @@ -281,6 +283,8 @@ static void remove_user_sysfs_dir(struct work_struct *w) unsigned long flags; int remove_user = 0; + if (up->user_ns != &init_user_ns) + return; /* Make uid_hash_remove() + sysfs_remove_file() + kobject_del() * atomic. */