提交 fdbd55fd 编写于 作者: L Linus Torvalds

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
...@@ -859,7 +859,7 @@ sdev_store_queue_depth(struct device *dev, struct device_attribute *attr, ...@@ -859,7 +859,7 @@ sdev_store_queue_depth(struct device *dev, struct device_attribute *attr,
depth = simple_strtoul(buf, NULL, 0); depth = simple_strtoul(buf, NULL, 0);
if (depth < 1 || depth > sht->can_queue) if (depth < 1 || depth > sdev->host->can_queue)
return -EINVAL; return -EINVAL;
retval = sht->change_queue_depth(sdev, depth); retval = sht->change_queue_depth(sdev, depth);
......
...@@ -1329,9 +1329,9 @@ static int st_open(struct inode *inode, struct file *filp) ...@@ -1329,9 +1329,9 @@ static int st_open(struct inode *inode, struct file *filp)
spin_lock(&st_use_lock); spin_lock(&st_use_lock);
STp->in_use = 0; STp->in_use = 0;
spin_unlock(&st_use_lock); spin_unlock(&st_use_lock);
scsi_tape_put(STp);
if (resumed) if (resumed)
scsi_autopm_put_device(STp->device); scsi_autopm_put_device(STp->device);
scsi_tape_put(STp);
return retval; return retval;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册