diff options
| author | matthieu castet <[email protected]> | 2011-01-23 15:45:52 +0100 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2011-01-23 16:12:45 +0100 |
| commit | 8969691343354bdd80eff5405a0f879edbf013d6 (patch) | |
| tree | 94780f18bfb33a6c5c20b007795e19eb628c1832 | |
| parent | 93789b32dbf355e70f18b17a82e8661677a7f7fb (diff) | |
x86: Fix jump label with RO/NX module protection crash
If we use jump table in module init, there are marked
as removed in __jump_table section after init is done.
But we already applied ro permissions on the module, so
we can't modify a read only section (crash in
remove_jump_label_module_init).
Make the __jump_table section rw.
Signed-off-by: Matthieu CASTET <[email protected]>
Cc: Xiaotian Feng <[email protected]>
Cc: Jason Baron <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Siarhei Liakh <[email protected]>
Cc: Xuxian Jiang <[email protected]>
Cc: James Morris <[email protected]>
Cc: Rusty Russell <[email protected]>
Cc: Dave Jones <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Andrew Morton <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
| -rw-r--r-- | arch/x86/include/asm/jump_label.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/include/asm/jump_label.h b/arch/x86/include/asm/jump_label.h index f52d42e80585..574dbc22893a 100644 --- a/arch/x86/include/asm/jump_label.h +++ b/arch/x86/include/asm/jump_label.h @@ -14,7 +14,7 @@ do { \ asm goto("1:" \ JUMP_LABEL_INITIAL_NOP \ - ".pushsection __jump_table, \"a\" \n\t"\ + ".pushsection __jump_table, \"aw\" \n\t"\ _ASM_PTR "1b, %l[" #label "], %c0 \n\t" \ ".popsection \n\t" \ : : "i" (key) : : label); \ |