[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 01/18] linux-user: Use safe_syscall wrapper for read
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH 01/18] linux-user: Use safe_syscall wrapper for readv and writev syscalls |
Date: |
Mon, 6 Jun 2016 19:58:02 +0100 |
Use the safe_syscall wrapper for readv and writev syscalls.
Signed-off-by: Peter Maydell <address@hidden>
---
linux-user/syscall.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 31a9484..28f7244 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -699,6 +699,8 @@ safe_syscall2(int, rt_sigsuspend, sigset_t *, newset,
size_t, sigsetsize)
safe_syscall2(int, kill, pid_t, pid, int, sig)
safe_syscall2(int, tkill, int, tid, int, sig)
safe_syscall3(int, tgkill, int, tgid, int, pid, int, sig)
+safe_syscall3(ssize_t, readv, int, fd, const struct iovec *, iov, int, iovcnt)
+safe_syscall3(ssize_t, writev, int, fd, const struct iovec *, iov, int, iovcnt)
static inline int host_to_target_sock_type(int host_type)
{
@@ -8345,7 +8347,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
{
struct iovec *vec = lock_iovec(VERIFY_WRITE, arg2, arg3, 0);
if (vec != NULL) {
- ret = get_errno(readv(arg1, vec, arg3));
+ ret = get_errno(safe_readv(arg1, vec, arg3));
unlock_iovec(vec, arg2, arg3, 1);
} else {
ret = -host_to_target_errno(errno);
@@ -8356,7 +8358,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
{
struct iovec *vec = lock_iovec(VERIFY_READ, arg2, arg3, 1);
if (vec != NULL) {
- ret = get_errno(writev(arg1, vec, arg3));
+ ret = get_errno(safe_writev(arg1, vec, arg3));
unlock_iovec(vec, arg2, arg3, 0);
} else {
ret = -host_to_target_errno(errno);
--
1.9.1
- [Qemu-devel] [PATCH 04/18] linux-user: Use safe_syscall wrapper for msgsnd and msgrcv, (continued)
- [Qemu-devel] [PATCH 04/18] linux-user: Use safe_syscall wrapper for msgsnd and msgrcv, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 06/18] linux-user: Use safe_syscall wrapper for flock, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 07/18] linux-user: Use safe_syscall wrapper for rt_sigtimedwait syscall, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 09/18] linux-user: Use safe_syscall wrapper for poll and ppoll syscalls, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 13/18] linux-user: Use safe_syscall wrapper for ioctl, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 15/18] linux-user: Correct signedness of target_flock l_start and l_len fields, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 11/18] linux-user: Use safe_syscall wrapper for semop, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 17/18] linux-user: Make target_strerror() return 'const char *', Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 01/18] linux-user: Use safe_syscall wrapper for readv and writev syscalls,
Peter Maydell <=
- [Qemu-devel] [PATCH 16/18] linux-user: Use safe_syscall wrapper for fcntl, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 12/18] linux-user: Use safe_syscall wrapper for accept and accept4 syscalls, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 10/18] linux-user: Use safe_syscall wrapper for epoll_wait syscalls, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 14/18] linux-user: Use __get_user() and __put_user() to handle structs in do_fcntl(), Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 08/18] linux-user: Use safe_syscall wrapper for sleep syscalls, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 05/18] linux-user: Use safe_syscall wrapper for mq_timedsend and mq_timedreceive, Peter Maydell, 2016/06/06
- [Qemu-devel] [PATCH 03/18] linux-user: Use safe_syscall wrapper for send* and recv* syscalls, Peter Maydell, 2016/06/06