On 07/21/2018 07:18 PM, M. Vefa Bicakci wrote: > On 07/21/2018 05:19 PM, Boris Ostrovsky wrote: >> On 07/21/2018 03:49 PM, M. Vefa Bicakci wrote: >>> diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S >>> index c7449f377a77..96e8ff34129e 100644 >>> --- a/arch/x86/entry/entry_64.S >>> +++ b/arch/x86/entry/entry_64.S >>> @@ -1129,7 +1129,7 @@ ENTRY(xen_failsafe_callback) >>> addq $0x30, %rsp >>> UNWIND_HINT_IRET_REGS >>> pushq $-1 /* orig_ax = -1 => not a system call */ >>> - PUSH_AND_CLEAR_REGS >>> + PUSH_AND_CLEAR_REGS clear_rbx=0 >> >> >> Do we need this at all? We are returning from the hypervisor here. >> >> -boris >> >>> ENCODE_FRAME_POINTER >>> jmp error_exit >>> END(xen_failsafe_callback) > > Hello Boris, > > If you are referring to the PUSH_AND_CLEAR_REGS macro itself, I am not > sure; > however, not clearing the RBX register seemed to resolve the issues > mentioned > in the commit message for me. Given Andy's comment though, I believe > that the > approach in this patch may not be correct. I was only referring to register clearing part of PUSH_AND_CLEAR_REGS. -boris