LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Masami Hiramatsu <mhiramat@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org, Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
	Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
	"David S . Miller" <davem@davemloft.net>,
	Jon Medhurst <tixy@linaro.org>, Will Deacon <will.deacon@arm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	David Howells <dhowells@redhat.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	"Tobin C . Harding" <me@tobin.cc>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Thomas Richter <tmricht@linux.ibm.com>,
	akpm@linux-foundation.org, acme@kernel.org, rostedt@goodmis.org,
	brueckner@linux.vnet.ibm.com, schwidefsky@de.ibm.com,
	stable@vger.kernel.org
Subject: Re: [PATCH v3 4/7] kprobes: Replace %p with other pointer types
Date: Sat, 28 Apr 2018 00:42:02 +0900	[thread overview]
Message-ID: <20180428004202.4297e781304b5eda53100f67@kernel.org> (raw)
In-Reply-To: <20180427065636.ells635z7cw4b4oz@gmail.com>

On Fri, 27 Apr 2018 08:56:36 +0200
Ingo Molnar <mingo@kernel.org> wrote:

> 
> * Masami Hiramatsu <mhiramat@kernel.org> wrote:
> 
> > @@ -712,7 +712,7 @@ static void reuse_unused_kprobe(struct kprobe *ap)
> >  	op = container_of(ap, struct optimized_kprobe, kp);
> >  	if (unlikely(list_empty(&op->list)))
> >  		printk(KERN_WARNING "Warning: found a stray unused "
> > -			"aggrprobe@%p\n", ap->addr);
> > +			"aggrprobe@%pS\n", ap->addr);
> 
> Is this a kernel bug? If yes then please convert this to a WARN_ON_ONCE() that 
> doesn't print any kernel addresses.

OK, I will do.

> 
> >  	/* Enable the probe again */
> >  	ap->flags &= ~KPROBE_FLAG_DISABLED;
> >  	/* Optimize it again (remove from op->list) */
> > @@ -985,7 +985,8 @@ static int arm_kprobe_ftrace(struct kprobe *p)
> >  	ret = ftrace_set_filter_ip(&kprobe_ftrace_ops,
> >  				   (unsigned long)p->addr, 0, 0);
> >  	if (ret) {
> > -		pr_debug("Failed to arm kprobe-ftrace at %p (%d)\n", p->addr, ret);
> > +		pr_debug("Failed to arm kprobe-ftrace at %pS (%d)\n",
> > +			 p->addr, ret);
> >  		return ret;
> 
> Can this happen during normal use? If yes then just remove the warning message.

Yes, it can, for example probing on live-patched function.

> 
> >  	}
> >  
> > @@ -1025,7 +1026,8 @@ static int disarm_kprobe_ftrace(struct kprobe *p)
> >  
> >  	ret = ftrace_set_filter_ip(&kprobe_ftrace_ops,
> >  			   (unsigned long)p->addr, 1, 0);
> > -	WARN(ret < 0, "Failed to disarm kprobe-ftrace at %p (%d)\n", p->addr, ret);
> > +	WARN(ret < 0, "Failed to disarm kprobe-ftrace at %pS (%d)\n",
> > +	     p->addr, ret);
> 
> As this is a signal of a kernel bug, just convert this to a regular WARN_ONCE() 
> that doesn't print any kernel addresses.

Would you mean just replace WARN with WARN_ONCE as below?

WARN_ONCE(ret < 0, "Failed to disarm kprobe-ftrace at %pS (%d)\n",
	     p->addr, ret);

Anyway, without printing kprobe->addr, it may be meaningless for this case.

> 
> > +/* Caller must NOT call this in usual path. This is only for critical case */
> >  void dump_kprobe(struct kprobe *kp)
> >  {
> > -	printk(KERN_WARNING "Dumping kprobe:\n");
> > -	printk(KERN_WARNING "Name: %s\nAddress: %p\nOffset: %x\n",
> > -	       kp->symbol_name, kp->addr, kp->offset);
> > +	pr_err("Dumping kprobe:\n");
> > +	pr_err("Name: %s\nOffset: %x\nAddress: %pS\n",
> > +	       kp->symbol_name, kp->offset, kp->addr);
> 
> No, this function should just go away and be replaced by a WARN() in 
> reenter_kprobe().

Would you consider to use pr_err() here? If so, I'll move this
dump as you suggested.

Thank you,


-- 
Masami Hiramatsu <mhiramat@kernel.org>

  reply	other threads:[~2018-04-27 15:42 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-27  6:39 [PATCH v3 0/7] kprobes: Fix %p in kprobes Masami Hiramatsu
2018-04-27  6:40 ` [PATCH v3 1/7] kprobes: Make blacklist root user read only Masami Hiramatsu
2018-04-27  6:56   ` Greg KH
2018-04-27 14:52     ` Masami Hiramatsu
2018-04-27  7:04   ` Ingo Molnar
2018-04-27 15:58     ` Masami Hiramatsu
2018-04-27  6:40 ` [PATCH v3 2/7] kprobes: Show blacklist addresses as same as kallsyms does Masami Hiramatsu
2018-04-27  7:14   ` Ingo Molnar
2018-04-27 16:10     ` Masami Hiramatsu
2018-04-27  6:41 ` [PATCH v3 3/7] kprobes: Show address of kprobes if " Masami Hiramatsu
2018-04-27  6:41 ` [PATCH v3 4/7] kprobes: Replace %p with other pointer types Masami Hiramatsu
2018-04-27  6:56   ` Ingo Molnar
2018-04-27 15:42     ` Masami Hiramatsu [this message]
2018-04-28  4:43       ` Masami Hiramatsu
2018-04-27  6:42 ` [PATCH v3 5/7] kprobes/x86: Fix %p uses in error messages Masami Hiramatsu
2018-04-27  6:58   ` Ingo Molnar
2018-04-27 15:06     ` Masami Hiramatsu
2018-04-27  6:42 ` [PATCH v3 6/7] kprobes/arm: " Masami Hiramatsu
2018-04-27  6:43 ` [PATCH v3 7/7] kprobes/arm64: " Masami Hiramatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180428004202.4297e781304b5eda53100f67@kernel.org \
    --to=mhiramat@kernel.org \
    --cc=acme@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=ananth@in.ibm.com \
    --cc=anil.s.keshavamurthy@intel.com \
    --cc=arnd@arndb.de \
    --cc=brueckner@linux.vnet.ibm.com \
    --cc=davem@davemloft.net \
    --cc=dhowells@redhat.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hpa@zytor.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=me@tobin.cc \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=stable@vger.kernel.org \
    --cc=tixy@linaro.org \
    --cc=tmricht@linux.ibm.com \
    --cc=torvalds@linux-foundation.org \
    --cc=will.deacon@arm.com \
    --cc=x86@kernel.org \
    --subject='Re: [PATCH v3 4/7] kprobes: Replace %p with other pointer types' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).