c088b62ffa
BugLink: https://bugs.launchpad.net/bugs/2102249 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> (cherry picked from PREEMPT_RT 6.6.78-rt51) Link: https://lore.kernel.org/all/ZxZ5WXV6umbL9XG9@debarbos-thinkpadt14sgen2i.remote.csb/T/ Acked-by: Benjamin Wheeler <benjamin.wheeler@canonical.com> Acked-by: Massimiliano Pellizzer <massimiliano.pellizzer@canonical.com> Signed-off-by: Kevin Becker <kevin.becker@canonical.com>