diff options
author | NeilBrown <neilb@suse.de> | 2010-03-16 05:14:51 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-21 18:37:29 +0200 |
commit | db1afffab0b5d9f6d31f8f4bea44c9cb3bc59351 (patch) | |
tree | 5ba8fd7a5018c0772d999b8c3aa945c0efb929e0 /lib/kref.c | |
parent | firmware_class: fix memory leak - free allocated pages (diff) | |
download | linux-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 'lib/kref.c')
-rw-r--r-- | lib/kref.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/lib/kref.c b/lib/kref.c index 6d19f690380b..d3d227a08a4b 100644 --- a/lib/kref.c +++ b/lib/kref.c @@ -16,23 +16,13 @@ #include <linux/slab.h> /** - * kref_set - initialize object and set refcount to requested number. - * @kref: object in question. - * @num: initial reference counter - */ -void kref_set(struct kref *kref, int num) -{ - atomic_set(&kref->refcount, num); - smp_mb(); -} - -/** * kref_init - initialize object. * @kref: object in question. */ void kref_init(struct kref *kref) { - kref_set(kref, 1); + atomic_set(&kref->refcount, 1); + smp_mb(); } /** @@ -72,7 +62,6 @@ int kref_put(struct kref *kref, void (*release)(struct kref *kref)) return 0; } -EXPORT_SYMBOL(kref_set); EXPORT_SYMBOL(kref_init); EXPORT_SYMBOL(kref_get); EXPORT_SYMBOL(kref_put); |