xen: make sure iret faults are trapped
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
committed by
Ingo Molnar
parent
9666e9d44b
commit
90e9f53662
@@ -409,7 +409,7 @@ restore_nocheck_notrace:
|
|||||||
irq_return:
|
irq_return:
|
||||||
INTERRUPT_RETURN
|
INTERRUPT_RETURN
|
||||||
.section .fixup,"ax"
|
.section .fixup,"ax"
|
||||||
iret_exc:
|
ENTRY(iret_exc)
|
||||||
pushl $0 # no error code
|
pushl $0 # no error code
|
||||||
pushl $do_iret_error
|
pushl $do_iret_error
|
||||||
jmp error_code
|
jmp error_code
|
||||||
|
@@ -184,8 +184,12 @@ iret_restore_end:
|
|||||||
region is OK. */
|
region is OK. */
|
||||||
je xen_hypervisor_callback
|
je xen_hypervisor_callback
|
||||||
|
|
||||||
iret
|
1: iret
|
||||||
xen_iret_end_crit:
|
xen_iret_end_crit:
|
||||||
|
.section __ex_table,"a"
|
||||||
|
.align 4
|
||||||
|
.long 1b,iret_exc
|
||||||
|
.previous
|
||||||
|
|
||||||
hyper_iret:
|
hyper_iret:
|
||||||
/* put this out of line since its very rarely used */
|
/* put this out of line since its very rarely used */
|
||||||
|
Reference in New Issue
Block a user