Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull compat iovec cleanups from Al Viro: "Christoph's series around import_iovec() and compat variant thereof" * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: security/keys: remove compat_keyctl_instantiate_key_iov mm: remove compat_process_vm_{readv,writev} fs: remove compat_sys_vmsplice fs: remove the compat readv/writev syscalls fs: remove various compat readv/writev helpers iov_iter: transparently handle compat iovecs in import_iovec iov_iter: refactor rw_copy_check_uvector and import_iovec iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c compat.h: fix a spelling error in <linux/compat.h>
This commit is contained in:
@@ -2852,13 +2852,8 @@ static ssize_t __io_import_iovec(int rw, struct io_kiocb *req,
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
if (req->ctx->compat)
|
||||
return compat_import_iovec(rw, buf, sqe_len, UIO_FASTIOV,
|
||||
iovec, iter);
|
||||
#endif
|
||||
|
||||
return import_iovec(rw, buf, sqe_len, UIO_FASTIOV, iovec, iter);
|
||||
return __import_iovec(rw, buf, sqe_len, UIO_FASTIOV, iovec, iter,
|
||||
req->ctx->compat);
|
||||
}
|
||||
|
||||
static ssize_t io_import_iovec(int rw, struct io_kiocb *req,
|
||||
@@ -4200,8 +4195,9 @@ static int __io_recvmsg_copy_hdr(struct io_kiocb *req,
|
||||
sr->len);
|
||||
iomsg->iov = NULL;
|
||||
} else {
|
||||
ret = import_iovec(READ, uiov, iov_len, UIO_FASTIOV,
|
||||
&iomsg->iov, &iomsg->msg.msg_iter);
|
||||
ret = __import_iovec(READ, uiov, iov_len, UIO_FASTIOV,
|
||||
&iomsg->iov, &iomsg->msg.msg_iter,
|
||||
false);
|
||||
if (ret > 0)
|
||||
ret = 0;
|
||||
}
|
||||
@@ -4241,9 +4237,9 @@ static int __io_compat_recvmsg_copy_hdr(struct io_kiocb *req,
|
||||
sr->len = iomsg->iov[0].iov_len;
|
||||
iomsg->iov = NULL;
|
||||
} else {
|
||||
ret = compat_import_iovec(READ, uiov, len, UIO_FASTIOV,
|
||||
&iomsg->iov,
|
||||
&iomsg->msg.msg_iter);
|
||||
ret = __import_iovec(READ, (struct iovec __user *)uiov, len,
|
||||
UIO_FASTIOV, &iomsg->iov,
|
||||
&iomsg->msg.msg_iter, true);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user