kobject: Export kobject_get_unless_zero()
Make the function available for outside use and fortify it against NULL kobject. CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
f759741d9d
commit
c70c176ff8
@ -108,6 +108,8 @@ extern int __must_check kobject_rename(struct kobject *, const char *new_name);
|
|||||||
extern int __must_check kobject_move(struct kobject *, struct kobject *);
|
extern int __must_check kobject_move(struct kobject *, struct kobject *);
|
||||||
|
|
||||||
extern struct kobject *kobject_get(struct kobject *kobj);
|
extern struct kobject *kobject_get(struct kobject *kobj);
|
||||||
|
extern struct kobject * __must_check kobject_get_unless_zero(
|
||||||
|
struct kobject *kobj);
|
||||||
extern void kobject_put(struct kobject *kobj);
|
extern void kobject_put(struct kobject *kobj);
|
||||||
|
|
||||||
extern const void *kobject_namespace(struct kobject *kobj);
|
extern const void *kobject_namespace(struct kobject *kobj);
|
||||||
|
@ -601,12 +601,15 @@ struct kobject *kobject_get(struct kobject *kobj)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(kobject_get);
|
EXPORT_SYMBOL(kobject_get);
|
||||||
|
|
||||||
static struct kobject * __must_check kobject_get_unless_zero(struct kobject *kobj)
|
struct kobject * __must_check kobject_get_unless_zero(struct kobject *kobj)
|
||||||
{
|
{
|
||||||
|
if (!kobj)
|
||||||
|
return NULL;
|
||||||
if (!kref_get_unless_zero(&kobj->kref))
|
if (!kref_get_unless_zero(&kobj->kref))
|
||||||
kobj = NULL;
|
kobj = NULL;
|
||||||
return kobj;
|
return kobj;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(kobject_get_unless_zero);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* kobject_cleanup - free kobject resources.
|
* kobject_cleanup - free kobject resources.
|
||||||
|
Loading…
Reference in New Issue
Block a user