aboutsummaryrefslogtreecommitdiff
path: root/fs/init.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2024-07-31 12:23:51 +0200
committerThomas Gleixner <tglx@linutronix.de>2024-07-31 12:37:43 +0200
commit6881e75237a84093d0986f56223db3724619f26e (patch)
tree7c26f5503345ef2af599e60b7c173dd925a35c8c /fs/init.c
parent8400291e289ee6b2bf9779ff1c83a291501f017b (diff)
tick/broadcast: Move per CPU pointer access into the atomic section
The recent fix for making the take over of the broadcast timer more reliable retrieves a per CPU pointer in preemptible context. This went unnoticed as compilers hoist the access into the non-preemptible region where the pointer is actually used. But of course it's valid that the compiler keeps it at the place where the code puts it which rightfully triggers: BUG: using smp_processor_id() in preemptible [00000000] code: caller is hotplug_cpu__broadcast_tick_pull+0x1c/0xc0 Move it to the actual usage site which is in a non-preemptible region. Fixes: f7d43dd206e7 ("tick/broadcast: Make takeover of broadcast hrtimer reliable") Reported-by: David Wang <00107082@163.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Yu Liao <liaoyu15@huawei.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/all/87ttg56ers.ffs@tglx
Diffstat (limited to 'fs/init.c')
0 files changed, 0 insertions, 0 deletions