|
@@ -55,6 +55,7 @@
|
|
|
#include <asm/paravirt.h>
|
|
|
#include <asm/ftrace.h>
|
|
|
#include <asm/percpu.h>
|
|
|
+#include <asm/asm.h>
|
|
|
#include <linux/err.h>
|
|
|
|
|
|
/* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */
|
|
@@ -900,18 +901,12 @@ restore_args:
|
|
|
|
|
|
irq_return:
|
|
|
INTERRUPT_RETURN
|
|
|
-
|
|
|
- .section __ex_table, "a"
|
|
|
- .quad irq_return, bad_iret
|
|
|
- .previous
|
|
|
+ _ASM_EXTABLE(irq_return, bad_iret)
|
|
|
|
|
|
#ifdef CONFIG_PARAVIRT
|
|
|
ENTRY(native_iret)
|
|
|
iretq
|
|
|
-
|
|
|
- .section __ex_table,"a"
|
|
|
- .quad native_iret, bad_iret
|
|
|
- .previous
|
|
|
+ _ASM_EXTABLE(native_iret, bad_iret)
|
|
|
#endif
|
|
|
|
|
|
.section .fixup,"ax"
|
|
@@ -1181,10 +1176,7 @@ gs_change:
|
|
|
CFI_ENDPROC
|
|
|
END(native_load_gs_index)
|
|
|
|
|
|
- .section __ex_table,"a"
|
|
|
- .align 8
|
|
|
- .quad gs_change,bad_gs
|
|
|
- .previous
|
|
|
+ _ASM_EXTABLE(gs_change,bad_gs)
|
|
|
.section .fixup,"ax"
|
|
|
/* running with kernelgs */
|
|
|
bad_gs:
|