From: Andrew Cooper Date: Wed, 4 Apr 2018 20:18:34 +0000 (+0100) Subject: Fix latent bug in 64bit exec_user_param() X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=e8debcece867acffc2c0c477f4572948c585940b;p=xtf.git Fix latent bug in 64bit exec_user_param() Use a full %rsp reference rather than %esp. Only a latent bug as the upper bits will be clear. Signed-off-by: Andrew Cooper --- diff --git a/arch/x86/entry_64.S b/arch/x86/entry_64.S index c638e60..756ccb1 100644 --- a/arch/x86/entry_64.S +++ b/arch/x86/entry_64.S @@ -124,9 +124,9 @@ ENTRY(exec_user_param) /* ulong (*fn)(ulong), ulong p1 */ /* Apply and/or masks to eflags. */ mov exec_user_efl_and_mask(%rip), %rdx - and %rdx, (%esp) + and %rdx, (%rsp) mov exec_user_efl_or_mask(%rip), %rdx - or %rdx, (%esp) + or %rdx, (%rsp) push exec_user_cs(%rip) /* CS */ push $exec_user_stub /* RIP */