diff options
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/entry_32.S | 2 | ||||
-rw-r--r-- | arch/x86/xen/xen-asm.S | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S index f0f8934fc303..568c6ccd7ae2 100644 --- a/arch/x86/kernel/entry_32.S +++ b/arch/x86/kernel/entry_32.S | |||
@@ -409,7 +409,7 @@ restore_nocheck_notrace: | |||
409 | irq_return: | 409 | irq_return: |
410 | INTERRUPT_RETURN | 410 | INTERRUPT_RETURN |
411 | .section .fixup,"ax" | 411 | .section .fixup,"ax" |
412 | iret_exc: | 412 | ENTRY(iret_exc) |
413 | pushl $0 # no error code | 413 | pushl $0 # no error code |
414 | pushl $do_iret_error | 414 | pushl $do_iret_error |
415 | jmp error_code | 415 | jmp error_code |
diff --git a/arch/x86/xen/xen-asm.S b/arch/x86/xen/xen-asm.S index fe161ed4b01e..99223cc323be 100644 --- a/arch/x86/xen/xen-asm.S +++ b/arch/x86/xen/xen-asm.S | |||
@@ -184,8 +184,12 @@ iret_restore_end: | |||
184 | region is OK. */ | 184 | region is OK. */ |
185 | je xen_hypervisor_callback | 185 | je xen_hypervisor_callback |
186 | 186 | ||
187 | iret | 187 | 1: iret |
188 | xen_iret_end_crit: | 188 | xen_iret_end_crit: |
189 | .section __ex_table,"a" | ||
190 | .align 4 | ||
191 | .long 1b,iret_exc | ||
192 | .previous | ||
189 | 193 | ||
190 | hyper_iret: | 194 | hyper_iret: |
191 | /* put this out of line since its very rarely used */ | 195 | /* put this out of line since its very rarely used */ |