aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatthieu castet <[email protected]>2011-01-23 15:45:52 +0100
committerIngo Molnar <[email protected]>2011-01-23 16:12:45 +0100
commit8969691343354bdd80eff5405a0f879edbf013d6 (patch)
tree94780f18bfb33a6c5c20b007795e19eb628c1832
parent93789b32dbf355e70f18b17a82e8661677a7f7fb (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.h2
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); \