[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1405394196.17767.6.camel@concordia>
Date: Tue, 15 Jul 2014 13:16:36 +1000
From: Michael Ellerman <mpe@...erman.id.au>
To: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
Cc: Tony Luck <tony.luck@...il.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Jeremy Fitzhardinge <jeremy@...p.org>,
"linux-ia64@...r.kernel.org" <linux-ia64@...r.kernel.org>,
sparse@...isli.org, "H. Peter Anvin" <hpa@...or.com>,
Ingo Molnar <mingo@...nel.org>,
linux-tip-commits@...r.kernel.org, akataria@...are.com,
anil.s.keshavamurthy@...el.com,
"Suzuki K. Poulose" <suzuki@...ibm.com>,
Fenghua Yu <fenghua.yu@...el.com>,
Arnd Bergmann <arnd@...db.de>,
Rusty Russell <rusty@...tcorp.com.au>,
Chris Wright <chrisw@...s-sol.org>,
yrl.pp-manager.tt@...achi.com,
Thomas Gleixner <tglx@...utronix.de>,
Kevin Hao <haokexin@...il.com>,
Ananth N Mavinakayanahalli <ananth@...ibm.com>,
linuxppc-dev@...ts.ozlabs.org, rdunlap@...radead.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
dl9pf@....de, Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
"David S. Miller" <davem@...emloft.net>
Subject: Re: Re: [PATCH v5 2/2] [BUGFIX] kprobes: Fix "Failed to find
blacklist" error on ia64 and ppc64
On Tue, 2014-07-15 at 11:24 +0900, Masami Hiramatsu wrote:
> (2014/07/15 11:11), Michael Ellerman wrote:
> > On Mon, 2014-07-14 at 10:17 -0700, Tony Luck wrote:
> >> On Tue, Jul 8, 2014 at 5:07 AM, Masami Hiramatsu
> >> <masami.hiramatsu.pt@...achi.com> wrote:
> >>> Ping?
> >>>
> >>> This patch can be applied without 1/2, and will fix ia64/ppc64 problem.
> >>
> >> Is somebody going to push this upstream? Another week has gone by,
> >> we are at -rc5, and I'm still seeing the
> >>
> >> Failed to find blacklist a00000010133b150
> >>
> >> messages on ia64.
> >
> > I don't see those messages on ppc64, I don't know where the original report
> > that it was broken on ppc64 came from. So I'm a bit lukewarm on the patch.
>
> Right, on ppc64(ABIv1) it may be silently failed. Because each function
> descriptor has another entry on kallsyms, original code can't detect
> that.
OK, that would have been good to know :)
It's actually much worse than you describe. On ppc64 (ABIv1) we are
successfully blacklisting the function descriptors. But that doesn't prevent
you from probing the text address. So basically NOKPROBE_SYMBOL() does nothing
useful for us.
$ head -2 ../kprobes/blacklist
0xc000000000d4cff8-0xc000000000d4d010 notify_die
0xc000000000d4cf80-0xc000000000d4cf98 atomic_notifier_call_chain
$ echo "p:atomic_notifier_call_chain .atomic_notifier_call_chain" > kprobe_events
$ echo 1 > events/kprobes/enable
$ ls
available_events instances saved_cmdlines trace_options
available_tracers kprobe_events saved_cmdlines_size trace_pipe
buffer_size_kb kprobe_profile set_event tracing_cpumask
buffer_total_size_kb options snapshot tracing_max_latency
current_tracer per_cpu trace tracing_on
events printk_formats trace_clock tracing_thresh
free_buffer README trace_marker
$ Dumping ftrace buffer:
cpu 0x2: Vector: 400 (Instruction Access) at [c0000001defaf830]
pc: 0000000000000000
lr: 0000000000000001
sp: c0000001defafab0
msr: 8000000140009032
current = 0xc0000001def57e40
paca = 0xc00000000fe00800 softe: 0 irq_happened: 0x01
pid = 1, comm = swapper/2
cpu 0x3: Vector: 400 (Instruction Access) at [c0000001ddbcc640]
pc: 0000000000000000
lr: 0000000000000000
sp: c0000001ddbcc8c0
msr: 8000000040001032
current = 0xc0000001def5a100
paca = 0xc00000000fe00c00 softe: 0 irq_happened: 0x01
pid = -554326528, comm =
Dead machine.
With your patch:
$ head -2 kprobes/blacklist
0xc0000000000bf860-0xc0000000000bf8b0 .notify_die
0xc0000000000bf750-0xc0000000000bf780 .atomic_notifier_call_chain
$ echo "p:notify_die .notify_die" > tracing/kprobe_events
-bash: echo: write error: Invalid argument
So that is much better.
cheers
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists