lkml.org 
[lkml]   [2021]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 081/103] NFC: digital: fix possible memory leak in digital_in_send_sdd_req()
    Date
    From: Ziyang Xuan <william.xuanziyang@huawei.com>

    commit 291c932fc3692e4d211a445ba8aa35663831bac7 upstream.

    'skb' is allocated in digital_in_send_sdd_req(), but not free when
    digital_in_send_cmd() failed, which will cause memory leak. Fix it
    by freeing 'skb' if digital_in_send_cmd() return failed.

    Fixes: 2c66daecc409 ("NFC Digital: Add NFC-A technology support")
    Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com>
    Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/nfc/digital_technology.c | 8 ++++++--
    1 file changed, 6 insertions(+), 2 deletions(-)

    --- a/net/nfc/digital_technology.c
    +++ b/net/nfc/digital_technology.c
    @@ -465,8 +465,12 @@ static int digital_in_send_sdd_req(struc
    skb_put_u8(skb, sel_cmd);
    skb_put_u8(skb, DIGITAL_SDD_REQ_SEL_PAR);

    - return digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sdd_res,
    - target);
    + rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sdd_res,
    + target);
    + if (rc)
    + kfree_skb(skb);
    +
    + return rc;
    }

    static void digital_in_recv_sens_res(struct nfc_digital_dev *ddev, void *arg,

    \
     
     \ /
      Last update: 2021-10-18 15:48    [W:5.703 / U:0.592 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site