[SCSI] st: fix test of value range in st_set_options()
value cannot logically be less than START and greater than BUFFERSIZE. #define EXTENDED_SENSE_START 18 // vi include/scsi/scsi_cmnd.h +105 #define SCSI_SENSE_BUFFERSIZE 96 [akpm@linux-foundation.org: fix warning] Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Acked-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
1acf3b06f7
commit
832151f458
|
@ -2280,7 +2280,8 @@ static int st_set_options(struct scsi_tape *STp, long options)
|
|||
} else if (code == MT_ST_SET_CLN) {
|
||||
value = (options & ~MT_ST_OPTIONS) & 0xff;
|
||||
if (value != 0 &&
|
||||
value < EXTENDED_SENSE_START && value >= SCSI_SENSE_BUFFERSIZE)
|
||||
(value < EXTENDED_SENSE_START ||
|
||||
value >= SCSI_SENSE_BUFFERSIZE))
|
||||
return (-EINVAL);
|
||||
STp->cln_mode = value;
|
||||
STp->cln_sense_mask = (options >> 8) & 0xff;
|
||||
|
|
Loading…
Reference in a new issue