Patch "RDMA/qedr: Fix qp structure memory leak" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    RDMA/qedr: Fix qp structure memory leak

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     rdma-qedr-fix-qp-structure-memory-leak.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 438d8a19a5adbeff8d3afd0224b70fcf8ec50840
Author: Michal Kalderon <michal.kalderon@xxxxxxxxxxx>
Date:   Wed Sep 2 19:57:34 2020 +0300

    RDMA/qedr: Fix qp structure memory leak
    
    [ Upstream commit 098e345a1a8faaad6e4e54d138773466cecc45d4 ]
    
    The qedr_qp structure wasn't freed when the protocol was RoCE.  kmemleak
    output when running basic RoCE scenario.
    
    unreferenced object 0xffff927ad7e22c00 (size 1024):
      comm "ib_send_bw", pid 7082, jiffies 4384133693 (age 274.698s)
      hex dump (first 32 bytes):
        00 b0 cd a2 79 92 ff ff 00 3f a1 a2 79 92 ff ff  ....y....?..y...
        00 ee 5c dd 80 92 ff ff 00 f6 5c dd 80 92 ff ff  ..\.......\.....
      backtrace:
        [<00000000b2ba0f35>] qedr_create_qp+0xb3/0x6c0 [qedr]
        [<00000000e85a43dd>] ib_uverbs_handler_UVERBS_METHOD_QP_CREATE+0x555/0xad0 [ib_uverbs]
        [<00000000fee4d029>] ib_uverbs_cmd_verbs+0xa5a/0xb80 [ib_uverbs]
        [<000000005d622660>] ib_uverbs_ioctl+0xa4/0x110 [ib_uverbs]
        [<00000000eb4cdc71>] ksys_ioctl+0x87/0xc0
        [<00000000abe6b23a>] __x64_sys_ioctl+0x16/0x20
        [<0000000046e7cef4>] do_syscall_64+0x4d/0x90
        [<00000000c6948f76>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    Fixes: 1212767e23bb ("qedr: Add wrapping generic structure for qpidr and adjust idr routines.")
    Link: https://lore.kernel.org/r/20200902165741.8355-2-michal.kalderon@xxxxxxxxxxx
    Signed-off-by: Michal Kalderon <michal.kalderon@xxxxxxxxxxx>
    Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
index 16a994fd7d0a7..682329789d00d 100644
--- a/drivers/infiniband/hw/qedr/verbs.c
+++ b/drivers/infiniband/hw/qedr/verbs.c
@@ -2518,6 +2518,8 @@ int qedr_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata)
 
 	if (rdma_protocol_iwarp(&dev->ibdev, 1))
 		qedr_iw_qp_rem_ref(&qp->ibqp);
+	else
+		kfree(qp);
 
 	return 0;
 }



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux