On Mon, Aug 03, 2020 at 10:38:59AM +0300, Andy Shevchenko wrote:
> 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()")
> Reported-by: Qu Wenruo <[email protected]>
> Cc: Heikki Krogerus <[email protected]>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
>  lib/kobject.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/kobject.c b/lib/kobject.c
> index 3afb939f2a1c..f5f5273031d2 100644
> --- a/lib/kobject.c
> +++ b/lib/kobject.c
> @@ -637,7 +637,7 @@ static void __kobject_del(struct kobject *kobj)
>   */
>  void kobject_del(struct kobject *kobj)
>  {
> -     struct kobject *parent = kobj->parent;
> +     struct kobject *parent = kobj ? kobj->parent : NULL;

I _HATE_ "? :" logic, and it obscures the logic in this function, just
add a simple:
        if (!kobj)
                return;

to this function please.

thanks,

greg k-h

Reply via email to