aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/user.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/user.c b/kernel/user.c
index 97202cb29adc..6c924bc48c08 100644
--- a/kernel/user.c
+++ b/kernel/user.c
@@ -246,6 +246,8 @@ static int uids_user_create(struct user_struct *up)
246 int error; 246 int error;
247 247
248 memset(kobj, 0, sizeof(struct kobject)); 248 memset(kobj, 0, sizeof(struct kobject));
249 if (up->user_ns != &init_user_ns)
250 return 0;
249 kobj->kset = uids_kset; 251 kobj->kset = uids_kset;
250 error = kobject_init_and_add(kobj, &uids_ktype, NULL, "%d", up->uid); 252 error = kobject_init_and_add(kobj, &uids_ktype, NULL, "%d", up->uid);
251 if (error) { 253 if (error) {
@@ -281,6 +283,8 @@ static void remove_user_sysfs_dir(struct work_struct *w)
281 unsigned long flags; 283 unsigned long flags;
282 int remove_user = 0; 284 int remove_user = 0;
283 285
286 if (up->user_ns != &init_user_ns)
287 return;
284 /* Make uid_hash_remove() + sysfs_remove_file() + kobject_del() 288 /* Make uid_hash_remove() + sysfs_remove_file() + kobject_del()
285 * atomic. 289 * atomic.
286 */ 290 */