lib/kobject.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/kobject.c b/lib/kobject.c index e07ee1fcd6f1..8d35fa0d2c15 100644 --- a/lib/kobject.c +++ b/lib/kobject.c @@ -525,7 +525,8 @@ void kobject_del(struct kobject *kobj) struct kobject *kobject_get(struct kobject *kobj) { if (kobj) - kref_get(&kobj->kref); + if (!atomic_inc_not_zero(&kobj->kref.refcount)) + kobj = NULL; return kobj; }