IB/qib: Fix memory leak in qib_user_sdma_queue_pkts()
[ Upstream commit bee90911e0138c76ee67458ac0d58b38a3190f65 ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ab381351f9
commit
0aaec9c5f6
@@ -945,7 +945,7 @@ static int qib_user_sdma_queue_pkts(const struct qib_devdata *dd,
|
|||||||
&addrlimit) ||
|
&addrlimit) ||
|
||||||
addrlimit > type_max(typeof(pkt->addrlimit))) {
|
addrlimit > type_max(typeof(pkt->addrlimit))) {
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
goto free_pbc;
|
goto free_pkt;
|
||||||
}
|
}
|
||||||
pkt->addrlimit = addrlimit;
|
pkt->addrlimit = addrlimit;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user