Messages in this thread |  | | Date | Sun, 16 May 2021 19:02:01 +0900 | From | Masami Hiramatsu <> | Subject | Re: [PATCH v3] samples/kprobes: Fix typo in handler_{post,fault}() |
| |
On Sat, 15 May 2021 10:39:06 +0800 Tiezhu Yang <yangtiezhu@loongson.cn> wrote:
> It should use post_handler instead of pre_handler in handler_post(). > > As Joe Perches suggested, it would be better to use pr_fmt and remove > all the embedded pre/post strings. This would change the style of the > output through. >
NAK, this also shows which handler cought the event. If you wanna change it. Please replace it with __func__ instead.
> Also fix a defective format in handler_fault() ending with an 'n' that > should be '\n'.
This is another typo. Please split the fix from this patch.
Thank you,
> > Fixes: e16c5dd5157e ("samples/kprobes: Add s390 case in kprobe example module") > Fixes: 804defea1c02 ("Kprobes: move kprobe examples to samples/") > Acked-by: Marc Koderer <marc@koderer.com> > Acked-by: Masami Hiramatsu <mhiramat@kernel.org> > Suggested-by: Joe Perches <joe@perches.com> > Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> > --- > > v3: use pr_fmt and fix typo in handler_fault() suggested by Joe Perches > > v2: rebase on the latest mainline kernel > > samples/kprobes/kprobe_example.c | 33 +++++++++++++++++---------------- > 1 file changed, 17 insertions(+), 16 deletions(-) > > diff --git a/samples/kprobes/kprobe_example.c b/samples/kprobes/kprobe_example.c > index c495664..5f1eb8b 100644 > --- a/samples/kprobes/kprobe_example.c > +++ b/samples/kprobes/kprobe_example.c > @@ -10,6 +10,8 @@ > * whenever kernel_clone() is invoked to create a new process. > */ > > +#define pr_fmt(fmt) "%s: " fmt, __func__ > + > #include <linux/kernel.h> > #include <linux/module.h> > #include <linux/kprobes.h> > @@ -27,32 +29,31 @@ static struct kprobe kp = { > static int __kprobes handler_pre(struct kprobe *p, struct pt_regs *regs) > { > #ifdef CONFIG_X86 > - pr_info("<%s> pre_handler: p->addr = 0x%p, ip = %lx, flags = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, ip = %lx, flags = 0x%lx\n", > p->symbol_name, p->addr, regs->ip, regs->flags); > #endif > #ifdef CONFIG_PPC > - pr_info("<%s> pre_handler: p->addr = 0x%p, nip = 0x%lx, msr = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, nip = 0x%lx, msr = 0x%lx\n", > p->symbol_name, p->addr, regs->nip, regs->msr); > #endif > #ifdef CONFIG_MIPS > - pr_info("<%s> pre_handler: p->addr = 0x%p, epc = 0x%lx, status = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, epc = 0x%lx, status = 0x%lx\n", > p->symbol_name, p->addr, regs->cp0_epc, regs->cp0_status); > #endif > #ifdef CONFIG_ARM64 > - pr_info("<%s> pre_handler: p->addr = 0x%p, pc = 0x%lx," > - " pstate = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, pc = 0x%lx, pstate = 0x%lx\n", > p->symbol_name, p->addr, (long)regs->pc, (long)regs->pstate); > #endif > #ifdef CONFIG_ARM > - pr_info("<%s> pre_handler: p->addr = 0x%p, pc = 0x%lx, cpsr = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, pc = 0x%lx, cpsr = 0x%lx\n", > p->symbol_name, p->addr, (long)regs->ARM_pc, (long)regs->ARM_cpsr); > #endif > #ifdef CONFIG_RISCV > - pr_info("<%s> pre_handler: p->addr = 0x%p, pc = 0x%lx, status = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, pc = 0x%lx, status = 0x%lx\n", > p->symbol_name, p->addr, regs->epc, regs->status); > #endif > #ifdef CONFIG_S390 > - pr_info("<%s> pre_handler: p->addr, 0x%p, ip = 0x%lx, flags = 0x%lx\n", > + pr_info("<%s> p->addr, 0x%p, ip = 0x%lx, flags = 0x%lx\n", > p->symbol_name, p->addr, regs->psw.addr, regs->flags); > #endif > > @@ -65,31 +66,31 @@ static void __kprobes handler_post(struct kprobe *p, struct pt_regs *regs, > unsigned long flags) > { > #ifdef CONFIG_X86 > - pr_info("<%s> post_handler: p->addr = 0x%p, flags = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, flags = 0x%lx\n", > p->symbol_name, p->addr, regs->flags); > #endif > #ifdef CONFIG_PPC > - pr_info("<%s> post_handler: p->addr = 0x%p, msr = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, msr = 0x%lx\n", > p->symbol_name, p->addr, regs->msr); > #endif > #ifdef CONFIG_MIPS > - pr_info("<%s> post_handler: p->addr = 0x%p, status = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, status = 0x%lx\n", > p->symbol_name, p->addr, regs->cp0_status); > #endif > #ifdef CONFIG_ARM64 > - pr_info("<%s> post_handler: p->addr = 0x%p, pstate = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, pstate = 0x%lx\n", > p->symbol_name, p->addr, (long)regs->pstate); > #endif > #ifdef CONFIG_ARM > - pr_info("<%s> post_handler: p->addr = 0x%p, cpsr = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, cpsr = 0x%lx\n", > p->symbol_name, p->addr, (long)regs->ARM_cpsr); > #endif > #ifdef CONFIG_RISCV > - pr_info("<%s> post_handler: p->addr = 0x%p, status = 0x%lx\n", > + pr_info("<%s> p->addr = 0x%p, status = 0x%lx\n", > p->symbol_name, p->addr, regs->status); > #endif > #ifdef CONFIG_S390 > - pr_info("<%s> pre_handler: p->addr, 0x%p, flags = 0x%lx\n", > + pr_info("<%s> p->addr, 0x%p, flags = 0x%lx\n", > p->symbol_name, p->addr, regs->flags); > #endif > } > @@ -101,7 +102,7 @@ static void __kprobes handler_post(struct kprobe *p, struct pt_regs *regs, > */ > static int handler_fault(struct kprobe *p, struct pt_regs *regs, int trapnr) > { > - pr_info("fault_handler: p->addr = 0x%p, trap #%dn", p->addr, trapnr); > + pr_info("p->addr = 0x%p, trap #%d\n", p->addr, trapnr); > /* Return 0 because we don't handle the fault. */ > return 0; > } > -- > 2.1.0 >
-- Masami Hiramatsu <mhiramat@kernel.org>
|  |