Centos-kernel-stream-9/kernel/printk
Derek Barbosa 9a1ea4bf72 printk: nbcon: Fix illegal RCU usage on thread wakeup
JIRA: https://issues.redhat.com/browse/RHEL-45588

Upstream Status: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git

commit de9c4b3b028c8731ce3917d87eb60d5df38c07c3
Author: Derek Barbosa <debarbos@redhat.com>
Date:   Mon Nov 4 09:29:34 2024 -0500

    printk: nbcon: Fix illegal RCU usage on thread wakeup

    In debug kernels, printk'ing during the SMP startup of a secondary CPU
    results in a splat on boot that details illegal RCU usage from
    offline CPUs.

    This patch aligns rcuwait_has_sleeper() with what currently exists in
    Torvalds' tree, at commit 76f258bf3f2aa, and will avoid the
    aforementioned splat.

    Furthermore, this patch makes it so that we avoid the use of hacky
    rcu_derefrencing through the waiter's task struct,and instead leverages
    the correct RCU API with the rcuwait_active() function.

    Reported-by: Andrew Halaney <ahalaney@redhat.com>
    Closes: https://lore.kernel.org/linux-rt-users/5x4nejpojrtny37k7l6loewqwuaituq77zc3tkkojvawcuvmml@thwg65fdb3vn
    Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Reviewed-by: John Ogness <john.ogness@linutronix.de>
    Signed-off-by: Derek Barbosa <debarbos@redhat.com>

Signed-off-by: Derek Barbosa <debarbos@redhat.com>
2025-01-06 10:33:52 -05:00
..
Makefile printk: Add non-BKL (nbcon) console basic infrastructure 2024-05-09 11:26:22 -04:00
braille.c
braille.h
console_cmdline.h
index.c kernel/printk/index.c: fix memory leak with using debugfs_lookup() 2024-05-09 11:26:20 -04:00
internal.h printk: Add kthread for all legacy consoles 2024-05-09 11:26:27 -04:00
nbcon.c printk: nbcon: Fix illegal RCU usage on thread wakeup 2025-01-06 10:33:52 -05:00
printk.c crash: split vmcoreinfo exporting code out from crash_core.c 2024-12-23 09:35:35 +08:00
printk_ringbuffer.c printk: ringbuffer: Consider committed as finalized in panic 2024-05-09 11:26:24 -04:00
printk_ringbuffer.h printk: Wait for all reserved records with pr_flush() 2024-05-09 11:26:23 -04:00
printk_safe.c printk: Check printk_deferred_enter()/_exit() usage 2024-05-09 11:26:24 -04:00
sysctl.c kernel/sysctl.c: fixup printk sysctl constants 2023-01-09 13:32:41 -05:00