lkml.org 
[lkml]   [2020]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 07/58] smsc95xx: avoid memory leak in smsc95xx_bind
    Date
    From: Andre Edich <andre.edich@microchip.com>

    [ Upstream commit 3ed58f96a70b85ef646d5427258f677f1395b62f ]

    In a case where the ID_REV register read is failed, the memory for a
    private data structure has to be freed before returning error from the
    function smsc95xx_bind.

    Fixes: bbd9f9ee69242 ("smsc95xx: add wol support for more frame types")
    Signed-off-by: Andre Edich <andre.edich@microchip.com>
    Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/usb/smsc95xx.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
    index 8037a2e51a789..e4299852974e3 100644
    --- a/drivers/net/usb/smsc95xx.c
    +++ b/drivers/net/usb/smsc95xx.c
    @@ -1142,7 +1142,8 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf)
    /* detect device revision as different features may be available */
    ret = smsc95xx_read_reg(dev, ID_REV, &val);
    if (ret < 0)
    - return ret;
    + goto free_pdata;
    +
    val >>= 16;

    if ((val == ID_REV_CHIP_ID_9500A_) || (val == ID_REV_CHIP_ID_9530_) ||
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-07-20 17:39    [W:4.146 / U:0.180 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site