[dm-devel] [PATCH 1/4] libmpathpersist: limit PRIN allocation length to 8192 bytes
Benjamin Marzinski
bmarzins at redhat.com
Sat Mar 14 23:14:15 UTC 2020
On Sat, Mar 07, 2020 at 12:06:02AM +0100, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
>
> 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 at redhat.com>
> Signed-off-by: Martin Wilck <mwilck at suse.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.25.1
More information about the dm-devel
mailing list