[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251218160610.788b0bf8@gandalf.local.home>
Date: Thu, 18 Dec 2025 16:06:10 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Paolo Abeni <pabeni@...hat.com>
Cc: Jiayuan Chen <jiayuan.chen@...ux.dev>, netdev@...r.kernel.org,
syzbot+9b35e9bc0951140d13e6@...kaller.appspotmail.com, "David S. Miller"
<davem@...emloft.net>, David Ahern <dsahern@...nel.org>, Eric Dumazet
<edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Simon Horman
<horms@...nel.org>, Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Clark Williams <clrkwllms@...nel.org>, linux-kernel@...r.kernel.org,
linux-rt-devel@...ts.linux.dev
Subject: Re: [PATCH net-next v1] ipv6: fix a BUG in rt6_get_pcpu_route()
under PREEMPT_RT
On Thu, 18 Dec 2025 13:25:31 +0100
Paolo Abeni <pabeni@...hat.com> wrote:
> AFAICS, this part is not needed: local_bh_disable() ensures migrating is
> already disabled, if !CONFIG_PREEMPT_RT_NEEDS_BH_LOCK or preemption is
> disabled, when CONFIG_PREEMPT_RT_NEEDS_BH_LOCK==y
As the code has this:
/* First entry of a task into a BH disabled section? */
if (!current->softirq_disable_cnt) {
if (preemptible()) {
if (IS_ENABLED(CONFIG_PREEMPT_RT_NEEDS_BH_LOCK))
local_lock(&softirq_ctrl.lock);
else
migrate_disable();
/* Required to meet the RCU bottomhalf requirements. */
rcu_read_lock();
} else {
DEBUG_LOCKS_WARN_ON(this_cpu_read(softirq_ctrl.cnt));
}
}
It looks as though migration will always be disabled (local_lock() also
disables migration). It will warn if preemption is disabled.
But yeah, the added migrate_disable() is not needed.
-- Steve
Powered by blists - more mailing lists