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>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
dd336c554d
commit
db1afffab0
15
lib/kref.c
15
lib/kref.c
@@ -15,24 +15,14 @@
|
||||
#include <linux/module.h>
|
||||
#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);
|
||||
|
Reference in New Issue
Block a user