diff options
| -rw-r--r-- | fs/compat_ioctl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c index c5c45de1a2ee..7cbbc7ab4b50 100644 --- a/fs/compat_ioctl.c +++ b/fs/compat_ioctl.c | |||
| @@ -301,6 +301,12 @@ static int sg_ioctl_trans(unsigned int fd, unsigned int cmd, | |||
| 301 | u32 data; | 301 | u32 data; |
| 302 | void __user *dxferp; | 302 | void __user *dxferp; |
| 303 | int err; | 303 | int err; |
| 304 | int interface_id; | ||
| 305 | |||
| 306 | if (get_user(interface_id, &sgio32->interface_id)) | ||
| 307 | return -EFAULT; | ||
| 308 | if (interface_id != 'S') | ||
| 309 | return sys_ioctl(fd, cmd, (unsigned long)sgio32); | ||
| 304 | 310 | ||
| 305 | if (get_user(iovec_count, &sgio32->iovec_count)) | 311 | if (get_user(iovec_count, &sgio32->iovec_count)) |
| 306 | return -EFAULT; | 312 | return -EFAULT; |
