aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/gdth.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 5a3f93101017..841101846b88 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -4177,6 +4177,14 @@ static int ioc_general(void __user *arg, char *cmnd)
4177 ha = gdth_find_ha(gen.ionode); 4177 ha = gdth_find_ha(gen.ionode);
4178 if (!ha) 4178 if (!ha)
4179 return -EFAULT; 4179 return -EFAULT;
4180
4181 if (gen.data_len > INT_MAX)
4182 return -EINVAL;
4183 if (gen.sense_len > INT_MAX)
4184 return -EINVAL;
4185 if (gen.data_len + gen.sense_len > INT_MAX)
4186 return -EINVAL;
4187
4180 if (gen.data_len + gen.sense_len != 0) { 4188 if (gen.data_len + gen.sense_len != 0) {
4181 if (!(buf = gdth_ioctl_alloc(ha, gen.data_len + gen.sense_len, 4189 if (!(buf = gdth_ioctl_alloc(ha, gen.data_len + gen.sense_len,
4182 FALSE, &paddr))) 4190 FALSE, &paddr)))