diff options
author | Christoph Hellwig <hch@lst.de> | 2020-09-25 06:51:41 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2020-10-03 00:02:13 -0400 |
commit | 89cd35c58bc2e36bfdc23dde67a429b08cf4ae03 (patch) | |
tree | 540a413bab63b20e24dba2dece0044277bb778a1 /fs/aio.c | |
parent | bfdc59701d6d100c99c3b987bcffd1c204e393c8 (diff) | |
download | lwn-89cd35c58bc2e36bfdc23dde67a429b08cf4ae03.tar.gz lwn-89cd35c58bc2e36bfdc23dde67a429b08cf4ae03.zip |
iov_iter: transparently handle compat iovecs in import_iovec
Use in compat_syscall to import either native or the compat iovecs, and
remove the now superflous compat_import_iovec.
This removes the need for special compat logic in most callers, and
the remaining ones can still be simplified by using __import_iovec
with a bool compat parameter.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/aio.c')
-rw-r--r-- | fs/aio.c | 8 |
1 files changed, 2 insertions, 6 deletions
@@ -1489,12 +1489,8 @@ static ssize_t aio_setup_rw(int rw, const struct iocb *iocb, *iovec = NULL; return ret; } -#ifdef CONFIG_COMPAT - if (compat) - return compat_import_iovec(rw, buf, len, UIO_FASTIOV, iovec, - iter); -#endif - return import_iovec(rw, buf, len, UIO_FASTIOV, iovec, iter); + + return __import_iovec(rw, buf, len, UIO_FASTIOV, iovec, iter, compat); } static inline void aio_rw_done(struct kiocb *req, ssize_t ret) |