On 6/7/25 2:40 PM, Alok Tiwari wrote: > 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: bca939d5bcd0 ("vhost-scsi: Dynamically allocate scatterlists") > Signed-off-by: Alok Tiwari <alok.a.tiw...@oracle.com> > --- > drivers/vhost/scsi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c > index c12a0d4e6386..8d655b2d15d9 100644 > --- a/drivers/vhost/scsi.c > +++ b/drivers/vhost/scsi.c > @@ -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; > }
Thanks. Reviewed-by: Mike Christie <michael.chris...@oracle.com>