diff --git a/drivers/scsi/scsi_ioctl.c b/drivers/scsi/scsi_ioctl.c index 0ddc95bafc71..c14f81403a09 100644 --- a/drivers/scsi/scsi_ioctl.c +++ b/drivers/scsi/scsi_ioctl.c @@ -176,10 +176,13 @@ static int scsi_ioctl_get_pci(struct scsi_device *sdev, void __user *arg) name = dev_name(dev); - /* compatibility with old ioctl which only returned - * 20 characters */ - return copy_to_user(arg, name, min(strlen(name), (size_t)20)) - ? -EFAULT: 0; + /* + * Compatibility with old ioctl which only returned 20 characters. + */ + if (copy_to_user(arg, name, strnlen(name, 20))) + return -EFAULT; + + return 0; } static int sg_get_version(int __user *p)