diff options
Diffstat (limited to 'arch/x86/kernel/test_nx.c')
-rw-r--r-- | arch/x86/kernel/test_nx.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/x86/kernel/test_nx.c b/arch/x86/kernel/test_nx.c index ae0ef2e304c7..36c100c323aa 100644 --- a/arch/x86/kernel/test_nx.c +++ b/arch/x86/kernel/test_nx.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
13 | #include <linux/sort.h> | 13 | #include <linux/sort.h> |
14 | #include <asm/uaccess.h> | 14 | #include <asm/uaccess.h> |
15 | #include <asm/asm.h> | ||
15 | 16 | ||
16 | extern int rodata_test_data; | 17 | extern int rodata_test_data; |
17 | 18 | ||
@@ -89,16 +90,7 @@ static noinline int test_address(void *address) | |||
89 | "2: mov %[zero], %[rslt]\n" | 90 | "2: mov %[zero], %[rslt]\n" |
90 | " ret\n" | 91 | " ret\n" |
91 | ".previous\n" | 92 | ".previous\n" |
92 | ".section __ex_table,\"a\"\n" | 93 | _ASM_EXTABLE(0b,2b) |
93 | " .align 8\n" | ||
94 | #ifdef CONFIG_X86_32 | ||
95 | " .long 0b\n" | ||
96 | " .long 2b\n" | ||
97 | #else | ||
98 | " .quad 0b\n" | ||
99 | " .quad 2b\n" | ||
100 | #endif | ||
101 | ".previous\n" | ||
102 | : [rslt] "=r" (result) | 94 | : [rslt] "=r" (result) |
103 | : [fake_code] "r" (address), [zero] "r" (0UL), "0" (result) | 95 | : [fake_code] "r" (address), [zero] "r" (0UL), "0" (result) |
104 | ); | 96 | ); |