Jeff Moyer
9d85cba718
aio: fix the compat vectored operations
...
The aio compat code was not converting the struct iovecs from 32bit to
64bit pointers, causing either EINVAL to be returned from io_getevents, or
EFAULT as the result of the I/O. This patch passes a compat flag to
io_submit to signal that pointer conversion is necessary for a given iocb
array.
A variant of this was tested by Michael Tokarev. I have also updated the
libaio test harness to exercise this code path with good success.
Further, I grabbed a copy of ltp and ran the
testcases/kernel/syscall/readv and writev tests there (compiled with -m32
on my 64bit system). All seems happy, but extra eyes on this would be
welcome.
[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: fix CONFIG_COMPAT=n build]
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Cc: Zach Brown <zach.brown@oracle.com>
Cc: <stable@kernel.org> [2.6.35.1]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-05-27 09:12:53 -07:00
..
2010-05-24 07:41:13 -07:00
2010-03-30 22:02:32 +09:00
2010-05-27 09:12:53 -07:00
2010-05-21 18:31:28 -04:00
2010-03-30 22:02:32 +09:00
2010-05-27 09:12:41 -07:00
2010-03-30 22:02:32 +09:00
2010-05-21 18:31:25 -04:00
2010-05-25 15:08:26 -07:00
2010-05-12 18:23:58 -07:00
2010-05-24 07:37:52 -07:00
2010-05-17 20:59:21 +00:00
2010-05-24 08:01:10 -07:00
2010-05-15 07:16:33 -04:00
2010-03-30 22:02:32 +09:00
2010-05-21 18:31:12 -04:00
2010-04-30 14:52:51 -05:00
2010-05-21 18:31:28 -04:00
2010-05-24 07:57:41 -07:00
2010-05-21 18:31:24 -04:00
2010-05-21 19:37:45 -07:00
2010-05-21 19:37:45 -07:00
2010-05-25 08:07:04 -07:00
2010-03-30 22:02:32 +09:00
2010-05-26 08:19:23 -07:00
2010-05-25 15:08:26 -07:00
2010-05-25 08:17:51 -07:00
2010-03-30 22:02:32 +09:00
2010-05-17 05:27:03 +02:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-03-03 14:08:00 -05:00
2010-03-30 22:02:32 +09:00
2010-05-21 19:30:41 +02:00
2010-05-21 21:27:26 +02:00
2010-05-21 18:31:20 -04:00
2010-05-21 18:31:23 -04:00
2010-03-30 22:02:32 +09:00
2010-05-21 18:31:27 -04:00
2010-05-21 18:31:24 -04:00
2010-05-17 05:27:42 +02:00
2010-05-25 08:07:02 -07:00
2010-03-30 22:02:32 +09:00
2010-05-25 08:07:02 -07:00
2010-05-21 19:37:45 -07:00
2010-05-21 18:31:14 -04:00
2010-05-25 08:07:03 -07:00
2010-05-25 08:07:02 -07:00
2010-05-21 18:31:25 -04:00
2010-05-25 08:07:06 -07:00
2010-05-27 09:12:47 -07:00
2010-05-21 18:31:16 -04:00
2010-05-21 18:31:26 -04:00
2010-05-21 19:37:45 -07:00
2010-05-25 08:07:07 -07:00
2010-05-23 08:27:42 +01:00
2010-05-21 09:37:31 -07:00
2010-05-21 18:31:26 -04:00
2010-05-21 18:31:26 -04:00
2010-05-21 18:31:27 -04:00
2010-05-27 09:12:43 -07:00
2010-05-24 11:57:36 -05:00
2010-05-27 09:12:53 -07:00
2010-05-21 18:31:20 -04:00
2010-03-06 11:26:29 -08:00
2010-03-30 22:02:32 +09:00
2010-04-27 09:01:26 -07:00
2010-03-06 11:26:46 -08:00
2010-03-30 22:02:32 +09:00
2010-04-21 13:28:49 +10:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-03-19 08:05:10 +01:00
2010-05-21 19:37:45 -07:00
2010-05-21 19:37:45 -07:00
2010-03-06 11:26:45 -08:00
2010-04-29 08:44:37 -07:00
2010-05-27 09:12:53 -07:00
2010-05-21 18:31:16 -04:00
2010-05-21 18:31:16 -04:00
2010-03-30 22:02:32 +09:00
2010-05-11 17:43:58 +02:00
2010-05-27 09:12:46 -07:00
2010-05-21 21:27:26 +02:00
2010-03-30 22:02:32 +09:00
2010-03-06 11:26:25 -08:00
2010-03-06 11:26:29 -08:00
2010-03-30 22:02:32 +09:00
2010-05-25 08:07:00 -07:00
2010-05-21 18:31:18 -04:00
2010-05-21 18:31:22 -04:00
2010-05-21 18:31:16 -04:00
2010-05-21 18:31:18 -04:00
2010-03-30 22:02:32 +09:00
2010-03-19 09:43:06 -07:00
2010-05-10 23:08:17 +02:00
2010-03-08 16:55:37 +01:00
2010-05-21 18:31:17 -04:00
2010-03-30 22:02:32 +09:00
2010-05-21 18:31:22 -04:00
2010-05-18 08:57:00 +10:00
2010-03-03 13:00:21 -05:00
2010-05-21 18:31:17 -04:00
2010-05-21 21:12:52 +02:00
2010-03-03 13:00:22 -05:00
2010-03-03 14:07:55 -05:00
2010-03-24 16:43:29 -07:00
2010-03-12 15:52:32 -08:00
2010-03-07 15:48:26 -08:00
2010-03-30 22:02:32 +09:00
2010-05-21 21:12:40 +02:00
2010-05-21 18:31:17 -04:00
2010-05-21 18:31:22 -04:00
2010-05-21 19:37:45 -07:00
2010-05-20 13:21:42 -07:00
2010-03-30 22:02:32 +09:00
2010-05-21 18:31:18 -04:00