1
0

scsi: core: Improve sdev_store_timeout()

Check whether or not the conversion of the argument to an integer
succeeded. Reject invalid timeout values.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://patch.msgid.link/20251031221844.2921694-1-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Bart Van Assche
2025-10-31 15:18:44 -07:00
committed by Martin K. Petersen
parent 61deab8a32
commit 867e4b1bae

View File

@@ -648,10 +648,14 @@ static ssize_t
sdev_store_timeout (struct device *dev, struct device_attribute *attr, sdev_store_timeout (struct device *dev, struct device_attribute *attr,
const char *buf, size_t count) const char *buf, size_t count)
{ {
struct scsi_device *sdev; struct scsi_device *sdev = to_scsi_device(dev);
int timeout; int ret, timeout;
sdev = to_scsi_device(dev);
sscanf (buf, "%d\n", &timeout); ret = kstrtoint(buf, 0, &timeout);
if (ret)
return ret;
if (timeout <= 0)
return -EINVAL;
blk_queue_rq_timeout(sdev->request_queue, timeout * HZ); blk_queue_rq_timeout(sdev->request_queue, timeout * HZ);
return count; return count;
} }