All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 for-next 0/2] RDMA/rxe: Fix error paths in MR alloc routines
@ 2022-08-05 18:31 Bob Pearson
  2022-08-05 18:31 ` [PATCH v5 1/2] RDMA/rxe: Set pd early in mr " Bob Pearson
  2022-08-05 18:31 ` [PATCH v5 for-next 2/2] RDMA/rxe: Test mr->umem before releasing umem Bob Pearson
  0 siblings, 2 replies; 7+ messages in thread
From: Bob Pearson @ 2022-08-05 18:31 UTC (permalink / raw)
  To: jgg, zyjzyj2000, lizhijian, jhack, linux-rdma; +Cc: Bob Pearson

Currently the rxe driver has incorrect code in error paths for
allocating MR objects. The PD and umem are always freed in
rxe_mr_cleanup() but in some error paths they are already
freed or never set. This patch makes sure that the PD is always
set and checks to see if umem is set before freeing it in
rxe_mr_cleanup(). umem and maps are freed if an error occurs
in an allocate mr call.

Reported-by: Li Zhijian <lizhijian@fujitsu.com>
Link: https://lore.kernel.org/linux-rdma/11dafa5f-c52d-16c1-fe37-2cd45ab20474@fujitsu.com/
Fixes: 3902b429ca14 ("Implement invalidate MW operations")
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
---
v5:
  Dropped cleanup code from patch per Li Zhijian.
  Split up into two small patches.
v4:
  Added set mr->ibmr.pd back to avoid an -ENOMEM error causing
  rxe_put(mr_pd(mr)); to seg fault in rxe_mr_cleanup() since pd
  is not getting set in the error path.
v3:
  Rebased to apply to current for-next after
  	Revert "RDMA/rxe: Create duplicate mapping tables for FMRs"
v2:
  Moved setting mr->umem until after checks to avoid sending
  an ERR_PTR to ib_umem_release().
  Cleaned up umem and map sets if errors occur in alloc mr calls.
  Rebased to current for-next.

Bob Pearson (2):
  RDMA/rxe: Set pd early in mr alloc routines
  RDMA/rxe: Test mr->umem before releaseing umem

 drivers/infiniband/sw/rxe/rxe_loc.h   |  6 +++---
 drivers/infiniband/sw/rxe/rxe_mr.c    | 15 +++++++--------
 drivers/infiniband/sw/rxe/rxe_verbs.c | 10 +++++++---
 3 files changed, 17 insertions(+), 14 deletions(-)


base-commit: 6b822d408b58c3c4f26dae93245c6b7d8b39e0f9
-- 
2.34.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-09-26 17:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-05 18:31 [PATCH v5 for-next 0/2] RDMA/rxe: Fix error paths in MR alloc routines Bob Pearson
2022-08-05 18:31 ` [PATCH v5 1/2] RDMA/rxe: Set pd early in mr " Bob Pearson
2022-08-05 18:36   ` Bob Pearson
2022-09-26 17:27   ` Jason Gunthorpe
2022-08-05 18:31 ` [PATCH v5 for-next 2/2] RDMA/rxe: Test mr->umem before releasing umem Bob Pearson
2022-08-22  5:50   ` lizhijian
2022-08-22 19:08     ` Bob Pearson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.