Linux Modules
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Petr Pavlu <petr.pavlu@suse.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>,
	Daniel Gomez <da.gomez@kernel.org>,
	Sami Tolvanen <samitolvanen@google.com>,
	Aaron Tomlin <atomlin@atomlin.com>,
	linux-modules@vger.kernel.org,
	"Paul E. McKenney" <paulmck@kernel.org>
Subject: Re: [PATCH net v2] ppp: defer channel free to an RCU grace period to fix pppol2tp RX UAF
Date: Wed, 8 Jul 2026 21:00:03 +0200	[thread overview]
Message-ID: <20260708190003.gmLFJGYo@linutronix.de> (raw)
In-Reply-To: <20260708135651.zl03TEfr@linutronix.de>

-*, +module +Paul.

On 2026-07-08 15:56:53 [+0200], To Petr Pavlu wrote:
> > One problem is that I'm not sure where the new rcu_barrier() call should
> > be placed. The prototype adds it before calling the module's exit
> > function. Would this actually fit all modules? From a quick look, I can
> > see that various modules call it at different points during their exit.
> 
> I don't know why you would use call_rcu() in your module_exit()
> (pointing to the same module). But you could have call_rcu() invoking
> kmem_cache_free() and destroying that cache (kmem_cache_destroy()) in
> your exit path. From that perspective it would make sense to flush all
> calls before invoking module_exit().

Paul, are the RCU callbacks always invoked in FIFO order?
If we put the module unmap into a call_rcu() (instead of the current
synchronize_rcu()) would we invoke the callback's of the module's
callback before the unmap of the module? Or is this not guaranteed due
callbacks on CPU0 vs CPU1 are executed in different order?

Because if the FIFO order is guaranteed then it would be cheapest
solution. But it would require a rcu_barrier() in kmem_cache_destroy()).

> > -- 
> > Thanks,
> > Petr

Sebastian

  reply	other threads:[~2026-07-08 19:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <D9C0245B-608B-4884-8A09-F55BA4A9F948@doyensec.com>
     [not found] ` <de2616b3-6edf-4255-ba77-0674e225ab27@linux.dev>
     [not found]   ` <akfjpBVML_1RFF91@gmail.com>
     [not found]     ` <87111f02-5b7a-4185-8364-2faba650578b@linux.dev>
2026-07-06  9:29       ` [PATCH net v2] ppp: defer channel free to an RCU grace period to fix pppol2tp RX UAF Sebastian Andrzej Siewior
2026-07-07 15:32         ` Petr Pavlu
2026-07-07 16:39           ` Paul E. McKenney
2026-07-08  9:11             ` Sebastian Andrzej Siewior
2026-07-08 14:01               ` Paul E. McKenney
2026-07-08  7:49           ` Sebastian Andrzej Siewior
2026-07-08 13:04             ` Petr Pavlu
2026-07-08 13:56               ` Sebastian Andrzej Siewior
2026-07-08 19:00                 ` Sebastian Andrzej Siewior [this message]
2026-07-08 19:22                   ` Paul E. McKenney

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=20260708190003.gmLFJGYo@linutronix.de \
    --to=bigeasy@linutronix.de \
    --cc=atomlin@atomlin.com \
    --cc=da.gomez@kernel.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=paulmck@kernel.org \
    --cc=petr.pavlu@suse.com \
    --cc=samitolvanen@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox