lkml.org 
[lkml]   [2020]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 154/376] libertas_tf: avoid a null dereference in pointer priv
    Date
    From: Colin Ian King <colin.king@canonical.com>

    [ Upstream commit 049ceac308b0d57c4f06b9fb957cdf95d315cf0b ]

    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.

    It is noteable that there don't seem to be any bugs reported that the
    null pointer dereference has ever occurred, so I'm not sure if the null
    check is required, but since we're doing a null check anyway it should
    be done for both function calls.

    Addresses-Coverity: ("Dereference before null check")
    Fixes: baa0280f08c7 ("libertas_tf: don't defer firmware loading until start()")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20200501173900.296658-1-colin.king@canonical.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/marvell/libertas_tf/if_usb.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/net/wireless/marvell/libertas_tf/if_usb.c b/drivers/net/wireless/marvell/libertas_tf/if_usb.c
    index 25ac9db35dbf..bedc09215088 100644
    --- a/drivers/net/wireless/marvell/libertas_tf/if_usb.c
    +++ 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);
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-06-19 17:53    [W:4.041 / U:1.556 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site