All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	rostedt <rostedt@goodmis.org>,
	syzbot <syzbot+9c0d616860575a73166a@syzkaller.appspotmail.com>,
	Ingo Molnar <mingo@redhat.com>, acme <acme@kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	syzkaller-bugs <syzkaller-bugs@googlegroups.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Namhyung Kim <namhyung@kernel.org>
Subject: Re: WARNING in tracepoint_probe_register_prio (2)
Date: Thu, 15 Mar 2018 07:52:23 -0400 (EDT)	[thread overview]
Message-ID: <343055951.10185.1521114743799.JavaMail.zimbra@efficios.com> (raw)
In-Reply-To: <20180315091950.GA7600@krava>

----- On Mar 15, 2018, at 5:19 AM, Jiri Olsa jolsa@redhat.com wrote:

> On Thu, Mar 15, 2018 at 09:31:25AM +0100, Peter Zijlstra wrote:
>> On Wed, Mar 14, 2018 at 05:37:46PM -0400, Steven Rostedt wrote:
>> > On Tue, 13 Mar 2018 11:29:51 -0400 (EDT)
>> > Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote:
>> > 
>> > > Here is a WARN_ON() splat in tracepoint.c, which I suspect is caused
>> > > by perf trying to register the same probe twice to the tracepoint API.
>> > > We got another splat on unregister too, which I will forward in a
>> > > separate email.
>> > > 
>> > > Thoughts ?
>> > 
>> > Yes, it looks like it's perf not accounting for registered events
>> > properly.
>> > 
>> > Peter?
>> 
>> I've not yet managed to reproduce, but if you look at the provided
>> repro.c file, you'll see it opens two _different_ events.
> 
> from the log it looks like they inject the slab error,
> and the allocation fails.. looks like we need to change
> the WARN to skip ENOMEM.. something like below?

Oh, I missed this important point. Then we should only
warn if !-ENOMEM for both tracepoint_add_func and tracepoint_remove_func,
because each performs memory allocation under the hood.
Like the following:

--- a/kernel/tracepoint.c
+++ b/kernel/tracepoint.c
@@ -207,7 +207,7 @@ static int tracepoint_add_func(struct tracepoint *tp,
                        lockdep_is_held(&tracepoints_mutex));
        old = func_add(&tp_funcs, func, prio);
        if (IS_ERR(old)) {
-               WARN_ON_ONCE(1);
+               WARN_ON_ONCE(PTR_ERR(old) != -ENOMEM);
                return PTR_ERR(old);
        }
 
@@ -239,7 +239,7 @@ static int tracepoint_remove_func(struct tracepoint *tp,
                        lockdep_is_held(&tracepoints_mutex));
        old = func_remove(&tp_funcs, func);
        if (IS_ERR(old)) {
-               WARN_ON_ONCE(1);
+               WARN_ON_ONCE(PTR_ERR(old) != -ENOMEM);
                return PTR_ERR(old);
        }
 
-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

  reply	other threads:[~2018-03-15 11:52 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-13  1:59 WARNING in tracepoint_probe_register_prio (2) syzbot
2018-03-13 15:29 ` Mathieu Desnoyers
2018-03-14 21:37   ` Steven Rostedt
2018-03-15  8:31     ` Peter Zijlstra
2018-03-15  9:19       ` Jiri Olsa
2018-03-15 11:52         ` Mathieu Desnoyers [this message]
2018-03-15 12:26           ` Jiri Olsa
2018-03-13 16:22 ` Mathieu Desnoyers

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=343055951.10185.1521114743799.JavaMail.zimbra@efficios.com \
    --to=mathieu.desnoyers@efficios.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=syzbot+9c0d616860575a73166a@syzkaller.appspotmail.com \
    --cc=syzkaller-bugs@googlegroups.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.