From: Bob Pearson <rpearsonhpe@gmail.com>
To: jgg@nvidia.com, zyjzyj2000@gmail.com, lizhijian@fujitsu.com,
jhack@hpe.com, linux-rdma@vger.kernel.org
Cc: Bob Pearson <rpearsonhpe@gmail.com>
Subject: [PATCH v5 for-next 0/2] RDMA/rxe: Fix error paths in MR alloc routines
Date: Fri, 5 Aug 2022 13:31:52 -0500 [thread overview]
Message-ID: <20220805183153.32007-1-rpearsonhpe@gmail.com> (raw)
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
next reply other threads:[~2022-08-05 18:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-05 18:31 Bob Pearson [this message]
2022-08-05 18:31 ` [PATCH v5 1/2] RDMA/rxe: Set pd early in mr alloc routines 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220805183153.32007-1-rpearsonhpe@gmail.com \
--to=rpearsonhpe@gmail.com \
--cc=jgg@nvidia.com \
--cc=jhack@hpe.com \
--cc=linux-rdma@vger.kernel.org \
--cc=lizhijian@fujitsu.com \
--cc=zyjzyj2000@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox