lkml.org 
[lkml]   [2019]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 15/63] scsi: target: iscsi: cxgbit: fix csk leak
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit 801df68d617e3cb831f531c99fa6003620e6b343 ]

    csk leak can happen if a new TCP connection gets established after
    cxgbit_accept_np() returns, to fix this leak free remaining csk in
    cxgbit_free_np().

    Signed-off-by: Varun Prakash <varun@chelsio.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/target/iscsi/cxgbit/cxgbit_cm.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/target/iscsi/cxgbit/cxgbit_cm.c b/drivers/target/iscsi/cxgbit/cxgbit_cm.c
    index 2fb1bf1a26c5..8652475e01d0 100644
    --- a/drivers/target/iscsi/cxgbit/cxgbit_cm.c
    +++ b/drivers/target/iscsi/cxgbit/cxgbit_cm.c
    @@ -631,8 +631,11 @@ static void cxgbit_send_halfclose(struct cxgbit_sock *csk)

    static void cxgbit_arp_failure_discard(void *handle, struct sk_buff *skb)
    {
    + struct cxgbit_sock *csk = handle;
    +
    pr_debug("%s cxgbit_device %p\n", __func__, handle);
    kfree_skb(skb);
    + cxgbit_put_csk(csk);
    }

    static void cxgbit_abort_arp_failure(void *handle, struct sk_buff *skb)
    @@ -1136,7 +1139,7 @@ cxgbit_pass_accept_rpl(struct cxgbit_sock *csk, struct cpl_pass_accept_req *req)
    rpl5->opt0 = cpu_to_be64(opt0);
    rpl5->opt2 = cpu_to_be32(opt2);
    set_wr_txq(skb, CPL_PRIORITY_SETUP, csk->ctrlq_idx);
    - t4_set_arp_err_handler(skb, NULL, cxgbit_arp_failure_discard);
    + t4_set_arp_err_handler(skb, csk, cxgbit_arp_failure_discard);
    cxgbit_l2t_send(csk->com.cdev, skb, csk->l2t);
    }

    --
    2.19.1


    \
     
     \ /
      Last update: 2019-01-11 16:09    [W:4.312 / U:0.796 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site