aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/qib/qib_user_sdma.c
diff options
context:
space:
mode:
authorJosé Expósito <jose.exposito89@gmail.com>2021-12-08 18:52:38 +0100
committerJason Gunthorpe <jgg@nvidia.com>2021-12-14 20:05:13 -0400
commitbee90911e0138c76ee67458ac0d58b38a3190f65 (patch)
treeef205b460764a79d24cf114fb04d16f5bc8271b4 /drivers/infiniband/hw/qib/qib_user_sdma.c
parentRDMA/hns: Fix RNR retransmission issue for HIP08 (diff)
downloadlinux-dev-bee90911e0138c76ee67458ac0d58b38a3190f65.tar.xz
linux-dev-bee90911e0138c76ee67458ac0d58b38a3190f65.zip
IB/qib: Fix memory leak in qib_user_sdma_queue_pkts()
The wrong goto label was used for the error case and missed cleanup of the pkt allocation. Fixes: d39bf40e55e6 ("IB/qib: Protect from buffer overflow in struct qib_user_sdma_pkt fields") Link: https://lore.kernel.org/r/20211208175238.29983-1-jose.exposito89@gmail.com Addresses-Coverity-ID: 1493352 ("Resource leak") Signed-off-by: José Expósito <jose.exposito89@gmail.com> Acked-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/infiniband/hw/qib/qib_user_sdma.c')
-rw-r--r--drivers/infiniband/hw/qib/qib_user_sdma.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/qib/qib_user_sdma.c b/drivers/infiniband/hw/qib/qib_user_sdma.c
index ac11943a5ddb..bf2f30d67949 100644
--- a/drivers/infiniband/hw/qib/qib_user_sdma.c
+++ b/drivers/infiniband/hw/qib/qib_user_sdma.c
@@ -941,7 +941,7 @@ static int qib_user_sdma_queue_pkts(const struct qib_devdata *dd,
&addrlimit) ||
addrlimit > type_max(typeof(pkt->addrlimit))) {
ret = -EINVAL;
- goto free_pbc;
+ goto free_pkt;
}
pkt->addrlimit = addrlimit;