|
@@ -72,6 +72,7 @@ static void uid_hash_insert(struct user_struct *up, struct hlist_head *hashent)
|
|
|
static void uid_hash_remove(struct user_struct *up)
|
|
|
{
|
|
|
hlist_del_init(&up->uidhash_node);
|
|
|
+ put_user_ns(up->user_ns);
|
|
|
}
|
|
|
|
|
|
static struct user_struct *uid_hash_find(uid_t uid, struct hlist_head *hashent)
|
|
@@ -334,7 +335,6 @@ static void free_user(struct user_struct *up, unsigned long flags)
|
|
|
atomic_inc(&up->__count);
|
|
|
spin_unlock_irqrestore(&uidhash_lock, flags);
|
|
|
|
|
|
- put_user_ns(up->user_ns);
|
|
|
INIT_WORK(&up->work, remove_user_sysfs_dir);
|
|
|
schedule_work(&up->work);
|
|
|
}
|
|
@@ -357,7 +357,6 @@ static void free_user(struct user_struct *up, unsigned long flags)
|
|
|
sched_destroy_user(up);
|
|
|
key_put(up->uid_keyring);
|
|
|
key_put(up->session_keyring);
|
|
|
- put_user_ns(up->user_ns);
|
|
|
kmem_cache_free(uid_cachep, up);
|
|
|
}
|
|
|
|