2020-05-01 18:16:34

by Markus Elfring

[permalink] [raw]
Subject: Re: [PATCH] libertas_tf: Avoid a null pointer dereference in if_usb_disconnect()

> Currently there is a check if priv is null when calling lbtf_remove_card
> but not in a previous call to if_usb_reset_dev that can also dereference
> priv. Fix this by also only calling lbtf_remove_card if priv is null.

I suggest to recheck this description (and the corresponding patch subject).



> +++ b/drivers/net/wireless/marvell/libertas_tf/if_usb.c
> @@ -247,10 +247,10 @@ static void if_usb_disconnect(struct usb_interface *intf)
>
> lbtf_deb_enter(LBTF_DEB_MAIN);
>
> - if_usb_reset_device(priv);
> -
> - if (priv)
> + if (priv) {
> + if_usb_reset_device(priv);
> lbtf_remove_card(priv);
> + }
>
> /* Unlink and free urb */
> if_usb_free(cardp);

The patch code proposes to move a specific function call into an if branch
according to a null pointer check.

Regards,
Markus