From: Andy Shevchenko andriy.shevchenko@linux.intel.com
commit 40b8b826a6998639dd1c26f0e127f18371e1058d upstream.
The commit 079ad2fb4bf9 ("kobject: Avoid premature parent object freeing in kobject_cleanup()") inadvertently dropped a possibility to call kobject_del() with NULL pointer. Restore the old behaviour.
Fixes: 079ad2fb4bf9 ("kobject: Avoid premature parent object freeing in kobject_cleanup()") Cc: stable stable@vger.kernel.org Reported-by: Qu Wenruo quwenruo.btrfs@gmx.com Cc: Heikki Krogerus heikki.krogerus@linux.intel.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Reviewed-by: Qu Wenruo wqu@suse.com Link: https://lore.kernel.org/r/20200803082706.65347-1-andriy.shevchenko@linux.int... Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- lib/kobject.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
--- a/lib/kobject.c +++ b/lib/kobject.c @@ -637,8 +637,12 @@ static void __kobject_del(struct kobject */ void kobject_del(struct kobject *kobj) { - struct kobject *parent = kobj->parent; + struct kobject *parent;
+ if (!kobj) + return; + + parent = kobj->parent; __kobject_del(kobj); kobject_put(parent); }