|
@@ -1285,15 +1285,13 @@ ENTRY(paranoid_exit)
|
|
DISABLE_INTERRUPTS(CLBR_NONE)
|
|
DISABLE_INTERRUPTS(CLBR_NONE)
|
|
TRACE_IRQS_OFF_DEBUG
|
|
TRACE_IRQS_OFF_DEBUG
|
|
testl %ebx,%ebx /* swapgs needed? */
|
|
testl %ebx,%ebx /* swapgs needed? */
|
|
- jnz paranoid_restore
|
|
|
|
|
|
+ jnz paranoid_exit_no_swapgs
|
|
TRACE_IRQS_IRETQ 0
|
|
TRACE_IRQS_IRETQ 0
|
|
SWAPGS_UNSAFE_STACK
|
|
SWAPGS_UNSAFE_STACK
|
|
- RESTORE_EXTRA_REGS
|
|
|
|
- RESTORE_C_REGS
|
|
|
|
- REMOVE_PT_GPREGS_FROM_STACK 8
|
|
|
|
- INTERRUPT_RETURN
|
|
|
|
-paranoid_restore:
|
|
|
|
|
|
+ jmp paranoid_exit_restore
|
|
|
|
+paranoid_exit_no_swapgs:
|
|
TRACE_IRQS_IRETQ_DEBUG 0
|
|
TRACE_IRQS_IRETQ_DEBUG 0
|
|
|
|
+paranoid_exit_restore:
|
|
RESTORE_EXTRA_REGS
|
|
RESTORE_EXTRA_REGS
|
|
RESTORE_C_REGS
|
|
RESTORE_C_REGS
|
|
REMOVE_PT_GPREGS_FROM_STACK 8
|
|
REMOVE_PT_GPREGS_FROM_STACK 8
|