From: Joel Fernandes <joel@joelfernandes.org>
To: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Anders Roxell <anders.roxell@linaro.org>,
paulmck@kernel.org, "Naveen N . Rao" <naveen.n.rao@linux.ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
David Miller <davem@davemloft.net>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH -tip V2 0/2] kprobes: Fix RCU warning and cleanup
Date: Sat, 11 Jan 2020 21:05:37 -0500 [thread overview]
Message-ID: <20200112020537.GJ128013@google.com> (raw)
In-Reply-To: <20200111083507.c32b85b1d47aa69928de530b@kernel.org>
On Sat, Jan 11, 2020 at 08:35:07AM +0900, Masami Hiramatsu wrote:
> Hi Joel and Paul,
>
> On Fri, 10 Jan 2020 16:14:38 -0500
> Joel Fernandes <joel@joelfernandes.org> wrote:
>
> > On Tue, Jan 07, 2020 at 09:15:35PM +0900, Masami Hiramatsu wrote:
> > > Hello,
> > >
> > > Anyone have any comment on this series?
> > > Without this series, I still see the suspicious RCU warning for kprobe on -tip tree.
> >
> > +Paul since RCU.
> >
> > Hi Masami,
> >
> > I believe I had commented before that I don't agree with this patch:
> > https://lore.kernel.org/lkml/157535318870.16485.6366477974356032624.stgit@devnote2/
> >
> > The rationale you used is to replace RCU-api with non-RCU api just to avoid
> > warnings. I think a better approach is to use RCU api and pass the optional
> > expression to silence the false-positive warnings by informing the RCU API
> > about the fact that locks are held (similar to what we do for
> > rcu_dereference_protected()). The RCU API will do additional checking
> > (such as making sure preemption is disabled for safe RCU usage etc) as well.
>
> Yes, that is what I did in [1/2] for get_kprobe().
> Let me clarify the RCU list usage in [2/2].
>
> With the careful check, other list traversals never be done in non-sleepable
> context, those are always runs with kprobe_mutex held.
> If I correctly understand the Documentation/RCU/listRCU.rst, we should/can use
> non-RCU api for those cases, or do I miss something?
Yes, that is fine. However personally I prefer not to mix usage of
list_for_each_entry_rcu() and list_for_each_entry() on the same pointer
(kprobe_table). I think it is more confusing and error prone. Just use
list_for_each_entry_rcu() everywhere and pass the appropriate lockdep
expression, instead of calling lockdep_assert_held() independently. Is this
not doable?
thanks,
- Joel
> Thank you,
>
> --
> Masami Hiramatsu <mhiramat@kernel.org>
next prev parent reply other threads:[~2020-01-12 2:05 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-03 6:06 [PATCH -tip V2 0/2] kprobes: Fix RCU warning and cleanup Masami Hiramatsu
2019-12-03 6:06 ` [PATCH -tip V2 1/2] kprobes: Suppress the suspicious RCU warning on kprobes Masami Hiramatsu
2019-12-03 6:06 ` [PATCH -tip V2 2/2] kprobes: Use non RCU traversal APIs on kprobe_tables if possible Masami Hiramatsu
2020-01-14 13:56 ` Joel Fernandes
2020-01-15 1:31 ` Masami Hiramatsu
2019-12-20 18:55 ` [PATCH -tip V2 0/2] kprobes: Fix RCU warning and cleanup Masami Hiramatsu
2020-01-07 12:15 ` Masami Hiramatsu
2020-01-10 21:14 ` Joel Fernandes
2020-01-10 23:35 ` Masami Hiramatsu
2020-01-12 2:05 ` Joel Fernandes [this message]
2020-01-13 3:16 ` Masami Hiramatsu
2020-01-13 13:09 ` Masami Hiramatsu
2020-01-13 19:23 ` Paul E. McKenney
2020-01-14 11:49 ` 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=20200112020537.GJ128013@google.com \
--to=joel@joelfernandes.org \
--cc=anders.roxell@linaro.org \
--cc=anil.s.keshavamurthy@intel.com \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=mingo@kernel.org \
--cc=naveen.n.rao@linux.ibm.com \
--cc=paulmck@kernel.org \
/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.