Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley: "Two fairly simple fixes: one is a change that causes us to have a very low queue depth leading to performance issues and the other is a null deref occasionally in tapes thanks to use after put" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: fix host max depth checking for the 'queue_depth' sysfs interface st: null pointer dereference panic caused by use after kref_put by st_open
This commit is contained in:
@@ -859,7 +859,7 @@ sdev_store_queue_depth(struct device *dev, struct device_attribute *attr,
|
||||
|
||||
depth = simple_strtoul(buf, NULL, 0);
|
||||
|
||||
if (depth < 1 || depth > sht->can_queue)
|
||||
if (depth < 1 || depth > sdev->host->can_queue)
|
||||
return -EINVAL;
|
||||
|
||||
retval = sht->change_queue_depth(sdev, depth);
|
||||
|
||||
@@ -1329,9 +1329,9 @@ static int st_open(struct inode *inode, struct file *filp)
|
||||
spin_lock(&st_use_lock);
|
||||
STp->in_use = 0;
|
||||
spin_unlock(&st_use_lock);
|
||||
scsi_tape_put(STp);
|
||||
if (resumed)
|
||||
scsi_autopm_put_device(STp->device);
|
||||
scsi_tape_put(STp);
|
||||
return retval;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user