[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 06/19] linux-user: Use safe_syscall for sigsu
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH v2 06/19] linux-user: Use safe_syscall for sigsuspend syscalls |
Date: |
Tue, 7 Jun 2016 09:20:36 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 |
Le 27/05/2016 à 16:51, Peter Maydell a écrit :
> Use the safe_syscall wrapper for sigsuspend syscalls. This
> means that we will definitely deliver a signal that arrives
> before we do the sigsuspend call, rather than blocking first
> and delivering afterwards.
>
> Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
> ---
> linux-user/syscall.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index e4b7404..083f26f 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -703,6 +703,7 @@ safe_syscall6(int, pselect6, int, nfds, fd_set *,
> readfds, fd_set *, writefds, \
> fd_set *, exceptfds, struct timespec *, timeout, void *, sig)
> safe_syscall6(int,futex,int *,uaddr,int,op,int,val, \
> const struct timespec *,timeout,int *,uaddr2,int,val3)
> +safe_syscall2(int, rt_sigsuspend, sigset_t *, newset, size_t, sigsetsize)
>
> static inline int host_to_target_sock_type(int host_type)
> {
> @@ -7007,7 +7008,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long
> arg1,
> target_to_host_old_sigset(&set, p);
> unlock_user(p, arg1, 0);
> #endif
> - ret = get_errno(sigsuspend(&set));
> + ret = get_errno(safe_rt_sigsuspend(&set, SIGSET_T_SIZE));
> }
> break;
> #endif
> @@ -7018,7 +7019,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long
> arg1,
> goto efault;
> target_to_host_sigset(&set, p);
> unlock_user(p, arg1, 0);
> - ret = get_errno(sigsuspend(&set));
> + ret = get_errno(safe_rt_sigsuspend(&set, SIGSET_T_SIZE));
> }
> break;
> case TARGET_NR_rt_sigtimedwait:
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v2 06/19] linux-user: Use safe_syscall for sigsuspend syscalls,
Laurent Vivier <=