]> Git Repo - linux.git/commitdiff
kprobes: Ensure blacklist data is aligned
authorVineet Gupta <[email protected]>
Thu, 1 May 2014 05:26:44 +0000 (10:56 +0530)
committerIngo Molnar <[email protected]>
Wed, 7 May 2014 19:04:57 +0000 (21:04 +0200)
ARC Linux (not supporting native unaligned access) was failing
to boot because __start_kprobe_blacklist was not aligned.

This was because per generated vmlinux.lds it was emitted right
next to .rodata with strings etc hence could be randomly
unaligned.

Fix that by ensuring a word alignment. While 4 would suffice for
32bit arches and problem at hand, it is probably better to put 8.

| Path: (null) CPU: 0 PID: 1 Comm: swapper Not tainted
| 3.15.0-rc3-next-20140430 #2
| task: 8f044000 ti: 8f01e000 task.ti: 8f01e000
|
| [ECR   ]: 0x00230400 => Misaligned r/w from 0x800fb0d3
| [EFA   ]: 0x800fb0d3
| [BLINK ]: do_one_initcall+0x86/0x1bc
| [ERET  ]: init_kprobes+0x52/0x120

Signed-off-by: Vineet Gupta <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
Cc: anton Kolesov <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
include/asm-generic/vmlinux.lds.h

index 40ceb3ceba79e2e271103b3ffc58f6d9ad7720b1..8e0204a68c742eb5d86543977199de2e1f6e0397 100644 (file)
 #endif
 
 #ifdef CONFIG_KPROBES
-#define KPROBE_BLACKLIST()     VMLINUX_SYMBOL(__start_kprobe_blacklist) = .; \
+#define KPROBE_BLACKLIST()     . = ALIGN(8);                                 \
+                               VMLINUX_SYMBOL(__start_kprobe_blacklist) = .; \
                                *(_kprobe_blacklist)                          \
                                VMLINUX_SYMBOL(__stop_kprobe_blacklist) = .;
 #else
This page took 0.060375 seconds and 4 git commands to generate.