forked from luck/tmp_suning_uos_patched
[PATCH] kprobes: 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. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
4b1294f928
commit
6772926bef
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -433,3 +433,8 @@ int longjmp_break_handler(struct kprobe *p, struct pt_regs *regs)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* architecture specific initialization */
|
||||
int arch_init_kprobes(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -155,7 +155,7 @@ extern void arch_copy_kprobe(struct kprobe *p);
|
|||
extern 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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user