sg: limit maximum cdb size to 252 bytes
Subsystems (2)
Douglas Gilbert
maintainerPATCH 1/1 sg: limit maximum cdb size to 252 bytes
Boaz Harrosh commented on the "[PATCH v5] sg: relax 16 byte cdb restriction" thread that SCSI variable length commands (which are all SCSI commands greater than 16 bytes long) must themselves be a multiple of 4 bytes long.
ChangeLog
- limit the maximum cdb size permitted by the sg v3 interface to 252 bytes. Commands that large are called "variable length" and their length needs to be a multiple of 4.
Original patch:
drivers/scsi/sg.c +3 -2
@@ -74,9 +74,10 @@ static void sg_proc_cleanup(void);#define SG_MAX_DEVS 32768/* SG_MAX_CDB_SIZE should be 260 (spc4r37 section 3.1.30) however the type -* of sg_io_hdr::cmd_len can only represent 255 +* of sg_io_hdr::cmd_len can only represent 255. All SCSI commands greater +* than 16 bytes are "variable length" whose length is a multiple of 4 */ -#define SG_MAX_CDB_SIZE 255 +#define SG_MAX_CDB_SIZE 252/* * Suppose you want to calculate the formula muldiv(x,m,d)=int(x * m / d)
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Doug" == Douglas Gilbert <[email protected]> writes:
Doug> Boaz Harrosh commented on the "[PATCH v5] sg: relax 16 byte cdb Doug> restriction" thread that SCSI variable length commands (which are Doug> all SCSI commands greater than 16 bytes long) must themselves be a Doug> multiple of 4 bytes long.
Doug> ChangeLog
Doug> - limit the maximum cdb size permitted by the sg
Doug> v3 interface to 252 bytes. Commands that large are called Doug> "variable length" and their length needs to be a multiple of Doug> 4.
Doug> Original patch:
Doug> Reviewed-by: Boaz Harrosh <[email protected]>
Doug> Signed-off-by: Douglas Gilbert <[email protected]>
Signature · 1 line
Martin K. Petersen Oracle Linux Engineering
Looks good,
Quoted 12 lines · Douglas Gilbert
Boaz Harrosh commented on the "[PATCH v5] sg: relax 16 byte cdb restriction" thread that SCSI variable length commands (which are all SCSI commands greater than 16 bytes long) must themselves be a multiple of 4 bytes long.
ChangeLog
- limit the maximum cdb size permitted by the sg v3 interface to 252 bytes. Commands that large are called "variable length" and their length needs to be a multiple of 4.
Quoted 5 lines
Original patch:
Reviewed-by Boaz Harrosh <[email protected]>Signed-off-by Douglas Gilbert <[email protected]>
Sure.