diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2016-09-16 20:48:08 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-09-19 10:53:54 +1000 |
commit | 03465f899bdac70d34f6ca447a74d8ae9e284ce5 (patch) | |
tree | 5822e3b95e15197b2ea837dca99da30342c7b618 /arch/powerpc/include/asm/asm-prototypes.h | |
parent | e1c0d66fcb179a1737b3d5cc11c6e37bcabbd861 (diff) | |
download | op-kernel-dev-03465f899bdac70d34f6ca447a74d8ae9e284ce5.zip op-kernel-dev-03465f899bdac70d34f6ca447a74d8ae9e284ce5.tar.gz |
powerpc: Use kprobe blacklist for exception handlers
Currently we mark the C implementations of some exception handlers as
__kprobes. This has the effect of putting them in the ".kprobes.text"
section, which separates them from the rest of the text.
Instead we can use the blacklist macros to add the symbols to a
blacklist which kprobes will check. This allows the linker to move
exception handler functions close to callers and avoids trampolines in
larger kernels.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Reword change log a bit]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/asm-prototypes.h')
-rw-r--r-- | arch/powerpc/include/asm/asm-prototypes.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/include/asm/asm-prototypes.h b/arch/powerpc/include/asm/asm-prototypes.h index a5b2399..d149273 100644 --- a/arch/powerpc/include/asm/asm-prototypes.h +++ b/arch/powerpc/include/asm/asm-prototypes.h @@ -54,8 +54,8 @@ void SMIException(struct pt_regs *regs); void handle_hmi_exception(struct pt_regs *regs); void instruction_breakpoint_exception(struct pt_regs *regs); void RunModeException(struct pt_regs *regs); -void __kprobes single_step_exception(struct pt_regs *regs); -void __kprobes program_check_exception(struct pt_regs *regs); +void single_step_exception(struct pt_regs *regs); +void program_check_exception(struct pt_regs *regs); void alignment_exception(struct pt_regs *regs); void StackOverflow(struct pt_regs *regs); void nonrecoverable_exception(struct pt_regs *regs); @@ -72,7 +72,7 @@ void unrecoverable_exception(struct pt_regs *regs); void kernel_bad_stack(struct pt_regs *regs); void system_reset_exception(struct pt_regs *regs); void machine_check_exception(struct pt_regs *regs); -void __kprobes emulation_assist_interrupt(struct pt_regs *regs); +void emulation_assist_interrupt(struct pt_regs *regs); /* signals, syscalls and interrupts */ #ifdef CONFIG_PPC64 |