Blame SOURCES/0006-verbs-Set-missing-errno-in-ibv_cmd_reg_mr.patch

baba1b
From 5639fce1322dd8ae1398f8a7f530197484fc1f9e Mon Sep 17 00:00:00 2001
baba1b
From: Shay Drory <shayd@mellanox.com>
baba1b
Date: Mon, 7 Oct 2019 12:09:05 +0300
baba1b
Subject: [PATCH rdma-core 06/13] verbs: Set missing errno in ibv_cmd_reg_mr
baba1b
baba1b
[ Upstream commit f9e127a4bffa09ee72fc0ce92228296a4d1c1588 ]
baba1b
baba1b
Set missing errno in ibv_cmd_reg_mr() when implicit MR is used.
baba1b
baba1b
Fixes: d4021e743fda7 ("verbs: Fix implicit ODP MR support for 32 bit
baba1b
systems")
baba1b
Signed-off-by: Shay Drory <shayd@mellanox.com>
baba1b
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
baba1b
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
baba1b
---
baba1b
 libibverbs/cmd.c | 4 +++-
baba1b
 1 file changed, 3 insertions(+), 1 deletion(-)
baba1b
baba1b
diff --git a/libibverbs/cmd.c b/libibverbs/cmd.c
baba1b
index 3936e69b..26eaa479 100644
baba1b
--- a/libibverbs/cmd.c
baba1b
+++ b/libibverbs/cmd.c
baba1b
@@ -340,8 +340,10 @@ int ibv_cmd_reg_mr(struct ibv_pd *pd, void *addr, size_t length,
baba1b
 	 * In that case set the value in the command to what kernel expects.
baba1b
 	 */
baba1b
 	if (access & IBV_ACCESS_ON_DEMAND) {
baba1b
-		if (length == SIZE_MAX && addr)
baba1b
+		if (length == SIZE_MAX && addr) {
baba1b
+			errno = EINVAL;
baba1b
 			return EINVAL;
baba1b
+		}
baba1b
 		if (length == SIZE_MAX)
baba1b
 			cmd->length = UINT64_MAX;
baba1b
 	}
baba1b
-- 
baba1b
2.20.1
baba1b