qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/6] linux-user: fix x86_64 safe_syscall


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH 1/6] linux-user: fix x86_64 safe_syscall
Date: Tue, 14 Jun 2016 12:58:46 +0100

On 13 June 2016 at 22:45, Richard Henderson <address@hidden> wrote:
> Do what the comment says, test for signal_pending non-zero,
> rather than the current coe which tests for bit 0 non-zero.

"code"

>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
>  linux-user/host/x86_64/safe-syscall.inc.S | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/linux-user/host/x86_64/safe-syscall.inc.S 
> b/linux-user/host/x86_64/safe-syscall.inc.S
> index e09368d..f36992d 100644
> --- a/linux-user/host/x86_64/safe-syscall.inc.S
> +++ b/linux-user/host/x86_64/safe-syscall.inc.S
> @@ -67,8 +67,8 @@ safe_syscall_base:
>           */
>  safe_syscall_start:
>          /* if signal_pending is non-zero, don't do the call */
> -        testl   $1, (%rbp)
> -        jnz     return_ERESTARTSYS
> +        cmpl   $0, (%rbp)
> +        jnz     1f
>          syscall
>  safe_syscall_end:
>          /* code path for having successfully executed the syscall */
> @@ -78,7 +78,7 @@ safe_syscall_end:
>          .cfi_restore rbp
>          ret
>
> -return_ERESTARTSYS:
> +1:
>          /* code path when we didn't execute the syscall */
>          .cfi_restore_state
>          mov     $-TARGET_ERESTARTSYS, %rax

Reviewed-by: Peter Maydell <address@hidden>

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]