Re: [PATCH] usb: core: Remove redundant NULL checks before kfree

From: Greg KH
Date: Fri Jun 10 2022 - 05:07:58 EST


On Mon, Jun 06, 2022 at 01:43:52AM +0000, cgel.zte@xxxxxxxxx wrote:
> From: Minghao Chi <chi.minghao@xxxxxxxxxx>
>
> Checking a pointer for NULL before calling kfree() on it is redundant,
> kfree() deals with NULL pointers just fine.
>
> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Minghao Chi <chi.minghao@xxxxxxxxxx>
> ---
> drivers/usb/core/quirks.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index f99a65a64588..7e918e4a95f2 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -56,10 +56,8 @@ static int quirks_param_set(const char *value, const struct kernel_param *kp)
> if (val[i] == ',')
> quirk_count++;
>
> - if (quirk_list) {
> - kfree(quirk_list);
> - quirk_list = NULL;
> - }
> + kfree(quirk_list);
> + quirk_list = NULL;

Why are you setting this to NULL right before you assign it again:

> quirk_list = kcalloc(quirk_count, sizeof(struct quirk_entry),
> GFP_KERNEL);

Please just free and move on.

thanks,

greg k-h