]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
RDMA/hns: Prevent memory leaks of eq->buf_list
authorLijun Ou <oulijun@huawei.com>
Sat, 26 Oct 2019 06:56:35 +0000 (14:56 +0800)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 28 Oct 2019 18:06:38 +0000 (15:06 -0300)
eq->buf_list->buf and eq->buf_list should also be freed when eqe_hop_num
is set to 0, or there will be memory leaks.

Fixes: a5073d6054f7 ("RDMA/hns: Add eq support of hip08")
Link: https://lore.kernel.org/r/1572072995-11277-3-git-send-email-liweihang@hisilicon.com
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Weihang Li <liweihang@hisilicon.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index 7a89d669f8bfa93265228c855d233a48cd5f5cf6..e82567fcdeb7f05c46110a77176d50563ee3e10f 100644 (file)
@@ -5389,9 +5389,9 @@ static void hns_roce_v2_free_eq(struct hns_roce_dev *hr_dev,
                return;
        }
 
-       if (eq->buf_list)
-               dma_free_coherent(hr_dev->dev, buf_chk_sz,
-                                 eq->buf_list->buf, eq->buf_list->map);
+       dma_free_coherent(hr_dev->dev, buf_chk_sz, eq->buf_list->buf,
+                         eq->buf_list->map);
+       kfree(eq->buf_list);
 }
 
 static void hns_roce_config_eqc(struct hns_roce_dev *hr_dev,