Commit 400cad51 authored by Alok Tiwari's avatar Alok Tiwari Committed by Michael S. Tsirkin
Browse files

vhost-scsi: Fix check for inline_sg_cnt exceeding preallocated limit



The condition comparing ret to VHOST_SCSI_PREALLOC_SGLS was incorrect,
as ret holds the result of kstrtouint() (typically 0 on success),
not the parsed value. Update the check to use cnt, which contains the
actual user-provided value.

prevents silently accepting values exceeding the maximum inline_sg_cnt.

Fixes: bca939d5 ("vhost-scsi: Dynamically allocate scatterlists")
Signed-off-by: default avatarAlok Tiwari <alok.a.tiwari@oracle.com>
Reviewed-by: default avatarMike Christie <michael.christie@oracle.com>
Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20250628183405.3979538-1-alok.a.tiwari@oracle.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Acked-by: default avatarJason Wang <jasowang@redhat.com>
parent 95109b46
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ static int vhost_scsi_set_inline_sg_cnt(const char *buf,
	if (ret)
		return ret;

	if (ret > VHOST_SCSI_PREALLOC_SGLS) {
	if (cnt > VHOST_SCSI_PREALLOC_SGLS) {
		pr_err("Max inline_sg_cnt is %u\n", VHOST_SCSI_PREALLOC_SGLS);
		return -EINVAL;
	}