Skip to contentSkip to conversation

x86_64: syscall argument clobber check

PATCH In review Jan Beulich 1 participant 1 message Aug 23, 2006

lore
Share & tools
lore
#0 lore raw

PATCH 2/7 x86_64: syscall argument clobber check

(noticed during preparation of initial PAE-guest-on-64bit patches) The offset used to compare the return IP was apparently wrong; I didn't actually test that things didn't work as intended (or that they do now with this change), it just caught my eye that the UREGS_rip access a little further up in the same function was done with adjustment for the extra item on the stack, but this one wasn't.

xen/arch/x86/x86_64/entry.S +1 -1
Index: 2006-08-16/xen/arch/x86/x86_64/entry.S
===================================================================
@@ -152,7 +152,7 @@ ENTRY(syscall_enter)
 #ifndef NDEBUG
         /* Deliberately corrupt parameter regs used by this hypercall. */
         popq  %r10         # Shadow RIP
-        cmpq  %r10,UREGS_rip(%rsp)
+        cmpq  %r10,UREGS_rip+8(%rsp)
         popq  %rcx         # Shadow hypercall index
         jne   skip_clobber /* If RIP has changed then don't clobber. */
         leaq  hypercall_args_table(%rip),%r10

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel