On 03/18, Jeremy Linton wrote: > > --- a/include/linux/uprobes.h > +++ b/include/linux/uprobes.h > @@ -185,6 +185,7 @@ struct uprobes_state { > }; > > extern void __init uprobes_init(void); > +extern void uprobe_warn(struct task_struct *t, const char *msg); > extern int set_swbp(struct arch_uprobe *aup, struct mm_struct *mm, unsigned > long vaddr); > extern int set_orig_insn(struct arch_uprobe *aup, struct mm_struct *mm, > unsigned long vaddr); > extern bool is_swbp_insn(uprobe_opcode_t *insn); > diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c > index b4ca8898fe17..613c1c76f227 100644 > --- a/kernel/events/uprobes.c > +++ b/kernel/events/uprobes.c > @@ -118,7 +118,7 @@ struct xol_area { > unsigned long vaddr; /* Page(s) of > instruction slots */ > }; > > -static void uprobe_warn(struct task_struct *t, const char *msg) > +void uprobe_warn(struct task_struct *t, const char *msg) > { > pr_warn("uprobe: %s:%d failed to %s\n", current->comm, current->pid, > msg); > }
Oh, no, please don't. uprobe_warn() is ugly and needs changes. If nothing else it doesn't even use its "t" argument. Oleg.