Commit 3c68cf68 authored by Li Zhijian's avatar Li Zhijian Committed by Leon Romanovsky
Browse files

IB/rxe: Fix missing umem_odp->umem_mutex unlock on error path



rxe_odp_map_range_and_lock() must release umem_odp->umem_mutex when an
error occurs, including cases where rxe_check_pagefault() fails.

Fixes: 2fae67ab ("RDMA/rxe: Add support for Send/Recv/Write/Read with ODP")
Signed-off-by: default avatarLi Zhijian <lizhijian@fujitsu.com>
Link: https://patch.msgid.link/20251226094112.3042583-1-lizhijian@fujitsu.com


Reviewed-by: default avatarZhu Yanjun <yanjun.zhu@linux.dev>
Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent 3d70e0fb
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -179,9 +179,11 @@ static int rxe_odp_map_range_and_lock(struct rxe_mr *mr, u64 iova, int length, u
			return err;

		need_fault = rxe_check_pagefault(umem_odp, iova, length);
		if (need_fault)
		if (need_fault) {
			mutex_unlock(&umem_odp->umem_mutex);
			return -EFAULT;
		}
	}

	return 0;
}