summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-03-16 05:14:51 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-21 18:37:29 +0200
commitdb1afffab0b5d9f6d31f8f4bea44c9cb3bc59351 (patch)
tree5ba8fd7a5018c0772d999b8c3aa945c0efb929e0 /kernel
parentfirmware_class: fix memory leak - free allocated pages (diff)
downloadlinux-db1afffab0b5d9f6d31f8f4bea44c9cb3bc59351.tar.xz
linux-db1afffab0b5d9f6d31f8f4bea44c9cb3bc59351.zip
kref: remove kref_set
Of the three uses of kref_set in the kernel: One really should be kref_put as the code is letting go of a reference, Two really should be kref_init because the kref is being initialised. This suggests that making kref_set available encourages bad code. So fix the three uses and remove kref_set completely. Signed-off-by: NeilBrown <neilb@suse.de> Acked-by: Mimi Zohar <zohar@us.ibm.com> Acked-by: Serge Hallyn <serue@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/user_namespace.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
index 076c7c8215b0..b2d70d38dff4 100644
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
@@ -54,8 +54,8 @@ int create_user_ns(struct cred *new)
#endif
/* tgcred will be cleared in our caller bc CLONE_THREAD won't be set */
- /* alloc_uid() incremented the userns refcount. Just set it to 1 */
- kref_set(&ns->kref, 1);
+ /* root_user holds a reference to ns, our reference can be dropped */
+ put_user_ns(ns);
return 0;
}