]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr()
authorJianglei Nie <niejianglei2021@163.com>
Thu, 14 Jul 2022 06:15:05 +0000 (14:15 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 17 Oct 2022 09:56:43 +0000 (11:56 +0200)
commit019e432be504dd29a02c597ff90bcda43d32a41b
tree77ed8a9a402941feb4a6fedc9ec990c1109aaf23
parentbccd9f319aadfb1bc41fde916b89772866f0215e
RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr()

BugLink: https://bugs.launchpad.net/bugs/1990162
[ Upstream commit b3236a64ddd125a455ef5b5316c1b9051b732974 ]

__qedr_alloc_mr() allocates a memory chunk for "mr->info.pbl_table" with
init_mr_info(). When rdma_alloc_tid() and rdma_register_tid() fail, "mr"
is released while "mr->info.pbl_table" is not released, which will lead
to a memory leak.

We should release the "mr->info.pbl_table" with qedr_free_pbl() when error
occurs to fix the memory leak.

Fixes: e0290cce6ac0 ("qedr: Add support for memory registeration verbs")
Link: https://lore.kernel.org/r/20220714061505.2342759-1-niejianglei2021@163.com
Signed-off-by: Jianglei Nie <niejianglei2021@163.com>
Acked-by: Michal KalderonĀ <michal.kalderon@marvell.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/infiniband/hw/qedr/verbs.c