aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Zaytsev <alexey.zaytsev@gmail.com>2009-06-10 15:56:56 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-15 11:09:30 -0400
commitdf59c0ad05182329688e514e5a9c3836fa208ea3 (patch)
treebc46408a925f85eabccc979b84ac3dd7559cf0e7
parentdc577d554a274b79a6ad05e9e1ac20c320200599 (diff)
[SCSI] compat: don't perform unneeded copy in sg_io code
The members from 'status' in struct sg_io_hdr to the last are used to transfer information from kernel to user space. The values that user space sets are just ignored. Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com> Acked-by: Jens Axboe <jens.axboe@oracle.com> Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--fs/compat_ioctl.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c
index b83f6bcfa51a..905523cc281f 100644
--- a/fs/compat_ioctl.c
+++ b/fs/compat_ioctl.c
@@ -788,12 +788,6 @@ static int sg_ioctl_trans(unsigned int fd, unsigned int cmd, unsigned long arg)
788 if (put_user(compat_ptr(data), &sgio->usr_ptr)) 788 if (put_user(compat_ptr(data), &sgio->usr_ptr))
789 return -EFAULT; 789 return -EFAULT;
790 790
791 if (copy_in_user(&sgio->status, &sgio32->status,
792 (4 * sizeof(unsigned char)) +
793 (2 * sizeof(unsigned short)) +
794 (3 * sizeof(int))))
795 return -EFAULT;
796
797 err = sys_ioctl(fd, cmd, (unsigned long) sgio); 791 err = sys_ioctl(fd, cmd, (unsigned long) sgio);
798 792
799 if (err >= 0) { 793 if (err >= 0) {