RDMA/ocrdma: fix double free on pd
A reorganisation of the PD allocation and deallocation in commit9ba1377daa
("RDMA/ocrdma: Move PD resource management to driver.") introduced a double free on pd, as detected by static analysis by smatch: drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:682 ocrdma_alloc_pd() error: double free of 'pd'^ The original call to ocrdma_mbx_dealloc_pd() (which does not kfree pd) was replaced with a call to _ocrdma_dealloc_pd() (which does kfree pd). The kfree following this call causes the double free, so just remove it to fix the problem. Fixes:9ba1377daa
("RDMA/ocrdma: Move PD resource management to driver.") Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-By: Devesh Sharma <devesh.sharma@avagotech.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
fc3aa45b63
commit
4dc5444279
@ -684,7 +684,6 @@ struct ib_pd *ocrdma_alloc_pd(struct ib_device *ibdev,
|
||||
ocrdma_release_ucontext_pd(uctx);
|
||||
} else {
|
||||
status = _ocrdma_dealloc_pd(dev, pd);
|
||||
kfree(pd);
|
||||
}
|
||||
exit:
|
||||
return ERR_PTR(status);
|
||||
|
Loading…
Reference in New Issue
Block a user