fix namespace problem and sparc64 build
PATCH 1/1 fix namespace problem and sparc64 build
The following renames arch_init, a kprobes function for performing any architecture specific initialization, to arch_init_kprobes in order to cleanup the namespace.
Also, this patch adds arch_init_kprobes to sparc64 to fix the sparc64 kprobes build from the last return probe patch.
--rusty
arch/i386/kernel/kprobes.c | 2 +- arch/ia64/kernel/kprobes.c | 2 +- arch/ppc64/kernel/kprobes.c | 2 +- arch/sparc64/kernel/kprobes.c | 5 +++++ arch/x86_64/kernel/kprobes.c | 2 +- include/linux/kprobes.h | 2 +- kernel/kprobes.c | 2 +- 7 files changed, 11 insertions(+), 6 deletions(-)
arch/i386/kernel/kprobes.c +1 -1
@@ -537,7 +537,7 @@ static struct kprobe trampoline_p = { .pre_handler = trampoline_probe_handler }; -int __init arch_init (void ) +int __init arch_init_kprobes (void ) {return register_kprobe (&trampoline_p); }
arch/ia64/kernel/kprobes.c +1 -1
@@ -713,7 +713,7 @@ static struct kprobe trampoline_p = { .pre_handler = trampoline_probe_handler }; -int __init arch_init (void ) +int __init arch_init_kprobes (void ) { trampoline_p.addr = (kprobe_opcode_t *)((struct fnptr *)kretprobe_trampoline)->ip;
arch/ppc64/kernel/kprobes.c +1 -1
@@ -444,7 +444,7 @@ static struct kprobe trampoline_p = { .pre_handler = trampoline_probe_handler }; -int __init arch_init (void ) +int __init arch_init_kprobes (void ) {return register_kprobe (&trampoline_p); }
arch/sparc64/kernel/kprobes.c +5 -0
@@ -433,3 +433,8 @@ int longjmp_break_handler(struct kprobereturn 0 ; } +/* architecture specific initialization */ +int arch_init_kprobes (void ) +{ +return 0 ; +}
arch/x86_64/kernel/kprobes.c +1 -1
@@ -682,7 +682,7 @@ static struct kprobe trampoline_p = { .pre_handler = trampoline_probe_handler }; -int __init arch_init (void ) +int __init arch_init_kprobes (void ) {return register_kprobe (&trampoline_p); }
include/linux/kprobes.h +1 -1
@@ -155,7 +155,7 @@ extern void arch_copy_kprobe(struct kproextern void arch_arm_kprobe (struct kprobe *p);extern void arch_disarm_kprobe (struct kprobe *p);extern void arch_remove_kprobe (struct kprobe *p); -extern int arch_init (void ); +extern int arch_init_kprobes (void );extern void show_registers (struct pt_regs *regs);extern kprobe_opcode_t *get_insn_slot (void );extern void free_insn_slot (kprobe_opcode_t *slot);
kernel/kprobes.c +1 -1
@@ -574,7 +574,7 @@ static int __init init_kprobes(void)INIT_HLIST_HEAD (&kretprobe_inst_table[i]); } - err =arch_init (); + err =arch_init_kprobes ();if (!err) err =register_die_notifier (&kprobe_exceptions_nb);