scsi: fix off-by-one LUN check in scsi_scan_host_selected()
The Scsi_Host structure max_lun field is the maximum allowed LUN plus 1. So a LUN value is invalid if >= max_lun. Signed-off-by: Mark Knibbs <markk@clara.co.uk> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
fb0d82f491
commit
605c6dbef7
|
@ -1727,7 +1727,7 @@ int scsi_scan_host_selected(struct Scsi_Host *shost, unsigned int channel,
|
|||
|
||||
if (((channel != SCAN_WILD_CARD) && (channel > shost->max_channel)) ||
|
||||
((id != SCAN_WILD_CARD) && (id >= shost->max_id)) ||
|
||||
((lun != SCAN_WILD_CARD) && (lun > shost->max_lun)))
|
||||
((lun != SCAN_WILD_CARD) && (lun >= shost->max_lun)))
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&shost->scan_mutex);
|
||||
|
|
Loading…
Reference in New Issue