The integer overflow check was written incorrectly so it doesn't work.
Whoever wrote this clearly didn't know what they were doing. (I suck).
Fixes: f63ae56e4e97 ('[SCSI] gdth: integer overflow in ioctl')
Signed-off-by: Dan Carpenter <[email protected]>
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 71e1380..0539147 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -4175,7 +4175,7 @@ static int ioc_general(void __user *arg, char *cmnd)
return -EINVAL;
if (gen.sense_len > INT_MAX)
return -EINVAL;
- if (gen.data_len + gen.sense_len > INT_MAX)
+ if (gen.data_len > INT_MAX - gen.sense_len)
return -EINVAL;
if (gen.data_len + gen.sense_len != 0) {
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html