]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/rxe: Fix incorrect return value of rxe_odp_atomic_op()
authorDaisuke Matsuda <matsuda-daisuke@fujitsu.com>
Thu, 13 Mar 2025 06:45:40 +0000 (15:45 +0900)
committerLeon Romanovsky <leon@kernel.org>
Thu, 13 Mar 2025 12:56:51 +0000 (08:56 -0400)
rxe_mr_do_atomic_op() returns enum resp_states numbers, so the ODP
counterpart must not return raw errno codes.

Signed-off-by: Daisuke Matsuda <matsuda-daisuke@fujitsu.com>
Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev>
Link: https://patch.msgid.link/20250313064540.2619115-1-matsuda-daisuke@fujitsu.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/sw/rxe/rxe_odp.c

index 94f7bbe14981c75b5acb90ccaa0dc54d8cedeedb..9f6e2bb2a269eda4d31d5ccbc904f4c1069ad039 100644 (file)
@@ -316,7 +316,7 @@ int rxe_odp_atomic_op(struct rxe_mr *mr, u64 iova, int opcode,
        err = rxe_odp_map_range_and_lock(mr, iova, sizeof(char),
                                         RXE_PAGEFAULT_DEFAULT);
        if (err < 0)
-               return err;
+               return RESPST_ERR_RKEY_VIOLATION;
 
        err = rxe_odp_do_atomic_op(mr, iova, opcode, compare, swap_add,
                                   orig_val);