RDMA/amso1100: Fix memory leak in c2_reg_phys_mr()
If the allocation of mr fails, then c2_reg_phys_mr() leaks the page_list array it allocated earlier. This was Coverity CID #1413. Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
@@ -390,8 +390,10 @@ static struct ib_mr *c2_reg_phys_mr(struct ib_pd *ib_pd,
|
|||||||
}
|
}
|
||||||
|
|
||||||
mr = kmalloc(sizeof(*mr), GFP_KERNEL);
|
mr = kmalloc(sizeof(*mr), GFP_KERNEL);
|
||||||
if (!mr)
|
if (!mr) {
|
||||||
|
vfree(page_list);
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
}
|
||||||
|
|
||||||
mr->pd = to_c2pd(ib_pd);
|
mr->pd = to_c2pd(ib_pd);
|
||||||
pr_debug("%s - page shift %d, pbl_depth %d, total_len %u, "
|
pr_debug("%s - page shift %d, pbl_depth %d, total_len %u, "
|
||||||
|
Reference in New Issue
Block a user