36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Martin Wilck <mwilck@suse.com>
|
||
|
Date: Fri, 6 Mar 2020 21:50:30 +0100
|
||
|
Subject: [PATCH] libmpathpersist: limit PRIN allocation length to 8192 bytes
|
||
|
|
||
|
Some targets (notably the qemu-pr-helper) don't support PERSISTENT
|
||
|
RESERVE IN commands with more than 8192 bytes allocation length.
|
||
|
While I have found no explicit requirement in the SCSI specs that
|
||
|
the allocation lengh may not exceed 8k, an 8k limit is also enforced
|
||
|
by sg_persist(8), and actually by mpathpersist itself for the
|
||
|
--allocation-length option, but not for the auto-determined length.
|
||
|
|
||
|
Fix that.
|
||
|
|
||
|
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||
|
---
|
||
|
libmpathpersist/mpath_pr_ioctl.c | 2 ++
|
||
|
1 file changed, 2 insertions(+)
|
||
|
|
||
|
diff --git a/libmpathpersist/mpath_pr_ioctl.c b/libmpathpersist/mpath_pr_ioctl.c
|
||
|
index 74b26b0c..1a28cba7 100644
|
||
|
--- a/libmpathpersist/mpath_pr_ioctl.c
|
||
|
+++ b/libmpathpersist/mpath_pr_ioctl.c
|
||
|
@@ -543,5 +543,7 @@ int get_prin_length(int rq_servact)
|
||
|
mx_resp_len = 0;
|
||
|
break;
|
||
|
}
|
||
|
+ if (mx_resp_len > MPATH_MAX_PARAM_LEN)
|
||
|
+ mx_resp_len = MPATH_MAX_PARAM_LEN;
|
||
|
return mx_resp_len;
|
||
|
}
|
||
|
--
|
||
|
2.17.2
|
||
|
|