diff options
-rw-r--r-- | drivers/scsi/aacraid/aachba.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c index 707ee2f5954d..4591113c49de 100644 --- a/drivers/scsi/aacraid/aachba.c +++ b/drivers/scsi/aacraid/aachba.c | |||
@@ -3198,10 +3198,11 @@ static int query_disk(struct aac_dev *dev, void __user *arg) | |||
3198 | return -EBUSY; | 3198 | return -EBUSY; |
3199 | if (copy_from_user(&qd, arg, sizeof (struct aac_query_disk))) | 3199 | if (copy_from_user(&qd, arg, sizeof (struct aac_query_disk))) |
3200 | return -EFAULT; | 3200 | return -EFAULT; |
3201 | if (qd.cnum == -1) | 3201 | if (qd.cnum == -1) { |
3202 | if (qd.id < 0 || qd.id >= dev->maximum_num_containers) | ||
3203 | return -EINVAL; | ||
3202 | qd.cnum = qd.id; | 3204 | qd.cnum = qd.id; |
3203 | else if ((qd.bus == -1) && (qd.id == -1) && (qd.lun == -1)) | 3205 | } else if ((qd.bus == -1) && (qd.id == -1) && (qd.lun == -1)) { |
3204 | { | ||
3205 | if (qd.cnum < 0 || qd.cnum >= dev->maximum_num_containers) | 3206 | if (qd.cnum < 0 || qd.cnum >= dev->maximum_num_containers) |
3206 | return -EINVAL; | 3207 | return -EINVAL; |
3207 | qd.instance = dev->scsi_host_ptr->host_no; | 3208 | qd.instance = dev->scsi_host_ptr->host_no; |