Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757956AbaGODQo (ORCPT ); Mon, 14 Jul 2014 23:16:44 -0400 Received: from ozlabs.org ([103.22.144.67]:49371 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757901AbaGODQk (ORCPT ); Mon, 14 Jul 2014 23:16:40 -0400 Message-ID: <1405394196.17767.6.camel@concordia> Subject: Re: Re: [PATCH v5 2/2] [BUGFIX] kprobes: Fix "Failed to find blacklist" error on ia64 and ppc64 From: Michael Ellerman To: Masami Hiramatsu Cc: Tony Luck , Benjamin Herrenschmidt , Paul Mackerras , Jeremy Fitzhardinge , "linux-ia64@vger.kernel.org" , sparse@chrisli.org, "H. Peter Anvin" , Ingo Molnar , linux-tip-commits@vger.kernel.org, akataria@vmware.com, anil.s.keshavamurthy@intel.com, "Suzuki K. Poulose" , Fenghua Yu , Arnd Bergmann , Rusty Russell , Chris Wright , yrl.pp-manager.tt@hitachi.com, Thomas Gleixner , Kevin Hao , Ananth N Mavinakayanahalli , linuxppc-dev@lists.ozlabs.org, rdunlap@infradead.org, Linux Kernel Mailing List , dl9pf@gmx.de, Andrew Morton , Linus Torvalds , "David S. Miller" Date: Tue, 15 Jul 2014 13:16:36 +1000 In-Reply-To: <53C490F1.4020402@hitachi.com> References: <1404276081.7254.1.camel@concordia> <20140702070029.14689.18485.stgit@kbuild-fedora.novalocal> <53BBDEE6.1080800@hitachi.com> <1405390262.17767.5.camel@concordia> <53C490F1.4020402@hitachi.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > >> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/