summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJeff Moyer <jmoyer@redhat.com>2010-05-26 14:44:26 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-07-05 11:22:35 -0700
commit64857a8ea697a9813bceb43f108a19c832215c8f (patch)
tree570d8a8aa0c656fbc9ac45c76457e65389098f8e /lib
parent693b478a85a8732c4a76ad3c188be928a08eda68 (diff)
aio: fix the compat vectored operations
commit 9d85cba718efeef9ca00ce3f7f34f5880737aa9b upstream. 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> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions