linux-yocto/kernel/rcu
Ankur Arora e2df1936c1 rcu: handle unstable rdp in rcu_read_unlock_strict()
[ Upstream commit fcf0e25ad4c8d14d2faab4d9a17040f31efce205 ]

rcu_read_unlock_strict() can be called with preemption enabled
which can make for an unstable rdp and a racy norm value.

Fix this by dropping the preempt-count in __rcu_read_unlock()
after the call to rcu_read_unlock_strict(), adjusting the
preempt-count check appropriately.

Suggested-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Ankur Arora <ankur.a.arora@oracle.com>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-06-04 14:40:16 +02:00
..
Kconfig Merge branch 'ctxt.2022.07.05a' into HEAD 2022-07-21 17:46:18 -07:00
Kconfig.debug Char / Misc driver changes for 6.0-rc1 2022-08-04 11:05:48 -07:00
Makefile rcuperf: Change rcuperf to rcuscale 2020-08-24 18:39:24 -07:00
rcu_segcblist.c rcu: Clarify fill-the-gap comment in rcu_segcblist_advance() 2022-04-11 17:28:48 -07:00
rcu_segcblist.h rcu: Mark writes to the rcu_segcblist structure's ->flags field 2022-02-14 10:36:58 -08:00
rcu.h rcu: Dump memory object info if callback function is invalid 2024-08-29 17:30:28 +02:00
rcuscale.c rcuscale: Provide clear error when async specified without primitives 2024-10-17 15:21:42 +02:00
rcutorture.c rcutorture: Fix rcu_torture_fwd_cb_cr() data race 2024-08-14 13:52:44 +02:00
refscale.c refscale: Fix uninitalized use of wait_queue_head_t 2023-09-13 09:42:28 +02:00
srcutiny.c rcu: Dump memory object info if callback function is invalid 2024-08-29 17:30:28 +02:00
srcutree.c rcu: Dump memory object info if callback function is invalid 2024-08-29 17:30:28 +02:00
sync.c rcu_sync: Fix comment to properly reflect rcu_sync_exit() behavior 2022-04-20 16:51:11 -07:00
tasks.h Revert "rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb()" 2025-01-02 10:30:55 +01:00
tiny.c rcu: Dump memory object info if callback function is invalid 2024-08-29 17:30:28 +02:00
tree_exp.h rcu/exp: Handle RCU expedited grace period kworker allocation failure 2024-03-26 18:20:28 -04:00
tree_nocb.h rcu/nocb: Fix RT throttling hrtimer armed from offline CPU 2024-10-17 15:20:49 +02:00
tree_plugin.h rcu: handle unstable rdp in rcu_read_unlock_strict() 2025-06-04 14:40:16 +02:00
tree_stall.h rcu: Fix buffer overflow in print_cpu_stall_info() 2024-06-12 11:03:05 +02:00
tree.c rcu: Eliminate rcu_gp_slow_unregister() false positive 2024-08-29 17:30:28 +02:00
tree.h rcu/nocb: Remove buggy bypass lock contention mitigation 2024-09-08 07:53:10 +02:00
update.c Merge branch 'ctxt.2022.07.05a' into HEAD 2022-07-21 17:46:18 -07:00