2023-07-17 20:21:02

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] RDMA/rxe: Fix an error handling path in rxe_bind_mw()

All errors go to the error handling path, except this one. Be consistent
and also branch to it.

Fixes: 02ed253770fb ("RDMA/rxe: Introduce rxe access supported flags")
Signed-off-by: Christophe JAILLET <[email protected]>
---
/!\ Speculative /!\

This patch is based on analysis of the surrounding code and should be
reviewed with care !

/!\ Speculative /!\
---
drivers/infiniband/sw/rxe/rxe_mw.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/sw/rxe/rxe_mw.c b/drivers/infiniband/sw/rxe/rxe_mw.c
index d8a43d87de93..d9312b5c9d20 100644
--- a/drivers/infiniband/sw/rxe/rxe_mw.c
+++ b/drivers/infiniband/sw/rxe/rxe_mw.c
@@ -199,7 +199,8 @@ int rxe_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe)

if (access & ~RXE_ACCESS_SUPPORTED_MW) {
rxe_err_mw(mw, "access %#x not supported", access);
- return -EOPNOTSUPP;
+ ret = -EOPNOTSUPP;
+ goto err_drop_mr;
}

spin_lock_bh(&mw->lock);
--
2.34.1



2023-07-17 22:53:56

by Bob Pearson

[permalink] [raw]
Subject: Re: [PATCH] RDMA/rxe: Fix an error handling path in rxe_bind_mw()

On 7/17/23 14:55, Christophe JAILLET wrote:
> All errors go to the error handling path, except this one. Be consistent
> and also branch to it.
>
> Fixes: 02ed253770fb ("RDMA/rxe: Introduce rxe access supported flags")
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> /!\ Speculative /!\
>
> This patch is based on analysis of the surrounding code and should be
> reviewed with care !
>
> /!\ Speculative /!\
> ---
> drivers/infiniband/sw/rxe/rxe_mw.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/sw/rxe/rxe_mw.c b/drivers/infiniband/sw/rxe/rxe_mw.c
> index d8a43d87de93..d9312b5c9d20 100644
> --- a/drivers/infiniband/sw/rxe/rxe_mw.c
> +++ b/drivers/infiniband/sw/rxe/rxe_mw.c
> @@ -199,7 +199,8 @@ int rxe_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
>
> if (access & ~RXE_ACCESS_SUPPORTED_MW) {
> rxe_err_mw(mw, "access %#x not supported", access);
> - return -EOPNOTSUPP;
> + ret = -EOPNOTSUPP;
> + goto err_drop_mr;
> }
>
> spin_lock_bh(&mw->lock);
Christophe,
Good catch. Thanks. Probably should go to for-next.
Bob

Reviewed-by: Bob Pearson <[email protected]>

2023-07-17 23:48:02

by Zhu Yanjun

[permalink] [raw]
Subject: Re: [PATCH] RDMA/rxe: Fix an error handling path in rxe_bind_mw()

On Tue, Jul 18, 2023 at 3:55 AM Christophe JAILLET
<[email protected]> wrote:
>
> All errors go to the error handling path, except this one. Be consistent
> and also branch to it.
>
> Fixes: 02ed253770fb ("RDMA/rxe: Introduce rxe access supported flags")
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> /!\ Speculative /!\
>
> This patch is based on analysis of the surrounding code and should be
> reviewed with care !
>
> /!\ Speculative /!\
> ---
> drivers/infiniband/sw/rxe/rxe_mw.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/sw/rxe/rxe_mw.c b/drivers/infiniband/sw/rxe/rxe_mw.c
> index d8a43d87de93..d9312b5c9d20 100644
> --- a/drivers/infiniband/sw/rxe/rxe_mw.c
> +++ b/drivers/infiniband/sw/rxe/rxe_mw.c
> @@ -199,7 +199,8 @@ int rxe_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
>
> if (access & ~RXE_ACCESS_SUPPORTED_MW) {
> rxe_err_mw(mw, "access %#x not supported", access);

https://www.kernel.org/doc/Documentation/core-api/printk-formats.rst
What is "%#x"? No such definition in the above link.
Except that, I am fine with it.

Acked-by: Zhu Yanjun <[email protected]>
Zhu Yanjun

> - return -EOPNOTSUPP;
> + ret = -EOPNOTSUPP;
> + goto err_drop_mr;
> }
>
> spin_lock_bh(&mw->lock);
> --
> 2.34.1
>

2023-07-18 12:51:06

by Leon Romanovsky

[permalink] [raw]
Subject: Re: [PATCH] RDMA/rxe: Fix an error handling path in rxe_bind_mw()


On Mon, 17 Jul 2023 21:55:56 +0200, Christophe JAILLET wrote:
> All errors go to the error handling path, except this one. Be consistent
> and also branch to it.
>
>

Applied, thanks!

[1/1] RDMA/rxe: Fix an error handling path in rxe_bind_mw()
https://git.kernel.org/rdma/rdma/c/5c719d7aef298e

Best regards,
--
Leon Romanovsky <[email protected]>