aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/entry.S
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2007-05-02 13:27:14 -0400
committerAndi Kleen <andi@basil.nowhere.org>2007-05-02 13:27:14 -0400
commit42c24fa22e86365055fc931d833f26165e687c19 (patch)
treec74861202966ccb80afaae8469843cf2617fea65 /arch/i386/kernel/entry.S
parentd582203578a1f3d408e27bb9042e8635954cd320 (diff)
[PATCH] i386: PARAVIRT: Fix patch site clobbers to include return register
Fix a few clobbers to include the return register. The clobbers set is the set of all registers modified (or may be modified) by the code snippet, regardless of whether it was deliberate or accidental. Also, make sure that callsites which are used in contexts which don't allow clobbers actually save and restore all clobberable registers. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Signed-off-by: Andi Kleen <ak@suse.de> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Zachary Amsden <zach@vmware.com>
Diffstat (limited to 'arch/i386/kernel/entry.S')
-rw-r--r--arch/i386/kernel/entry.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S
index e901952dff37..e07473c0d3e7 100644
--- a/arch/i386/kernel/entry.S
+++ b/arch/i386/kernel/entry.S
@@ -338,7 +338,7 @@ sysenter_past_esp:
338 jae syscall_badsys 338 jae syscall_badsys
339 call *sys_call_table(,%eax,4) 339 call *sys_call_table(,%eax,4)
340 movl %eax,PT_EAX(%esp) 340 movl %eax,PT_EAX(%esp)
341 DISABLE_INTERRUPTS(CLBR_ECX|CLBR_EDX) 341 DISABLE_INTERRUPTS(CLBR_ANY)
342 TRACE_IRQS_OFF 342 TRACE_IRQS_OFF
343 movl TI_flags(%ebp), %ecx 343 movl TI_flags(%ebp), %ecx
344 testw $_TIF_ALLWORK_MASK, %cx 344 testw $_TIF_ALLWORK_MASK, %cx