lkml.org 
[lkml]   [2019]   [Nov]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.9 14/91] rtl818x: fix potential use after free
    Date
    From: Pan Bian <bianpan2016@163.com>

    [ Upstream commit afbb1947db94eacc5a13302eee88a9772fb78935 ]

    entry is released via usb_put_urb just after calling usb_submit_urb.
    However, entry is used if the submission fails, resulting in a use after
    free bug. The patch fixes this.

    Signed-off-by: Pan Bian <bianpan2016@163.com>
    ACKed-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
    index 6113624ccec39..17e3d5e830626 100644
    --- a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
    +++ b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
    @@ -446,12 +446,13 @@ static int rtl8187_init_urbs(struct ieee80211_hw *dev)
    skb_queue_tail(&priv->rx_queue, skb);
    usb_anchor_urb(entry, &priv->anchored);
    ret = usb_submit_urb(entry, GFP_KERNEL);
    - usb_put_urb(entry);
    if (ret) {
    skb_unlink(skb, &priv->rx_queue);
    usb_unanchor_urb(entry);
    + usb_put_urb(entry);
    goto err;
    }
    + usb_put_urb(entry);
    }
    return ret;

    --
    2.20.1
    \
     
     \ /
      Last update: 2019-11-22 07:09    [W:5.764 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site