Skip to content

Commit a92f411

Browse files
peter changgregkh
authored andcommitted
scsi: sg: check length passed to SG_NEXT_CMD_LEN
commit bf33f87dd04c371ea33feb821b60d63d754e3124 upstream. The user can control the size of the next command passed along, but the value passed to the ioctl isn't checked against the usable max command size. Signed-off-by: Peter Chang <dpf@google.com> Acked-by: Douglas Gilbert <dgilbert@interlog.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 18639c4 commit a92f411

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

drivers/scsi/sg.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,6 +1008,8 @@ sg_ioctl(struct file *filp, unsigned int cmd_in, unsigned long arg)
10081008
result = get_user(val, ip);
10091009
if (result)
10101010
return result;
1011+
if (val > SG_MAX_CDB_SIZE)
1012+
return -ENOMEM;
10111013
sfp->next_cmd_len = (val > 0) ? val : 0;
10121014
return 0;
10131015
case SG_GET_VERSION_NUM:

0 commit comments

Comments
 (0)