[SCSI] sg: return EFAULT for an invalid user address
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Fri, 3 Apr 2009 15:35:42 +0000 (00:35 +0900)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Mon, 27 Apr 2009 14:38:11 +0000 (09:38 -0500)
commite7ee4cc04b058d1eae9c1ac359031301b1798e3f
tree3edc28a8f84a84b9893813e047b805e2915528c5
parent96bcc722c47d07b6fd05c9d0cb3ab8ea5574c5b1
[SCSI] sg: return EFAULT for an invalid user address

blk_rq_unmap_user() returns EFAULT if a program passes an invalid
address to kernel (the kernel fails to copy data to user space). sg
needs to pass the returned value to user space instead of ignoring
it. Before the block layer conversion, sg returns EFAULT
properly. This restores the old behavior.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/sg.c