]> git.baikalelectronics.ru Git - kernel.git/commit
smp: Fix offline cpu check in flush_smp_call_function_queue()
authorNadav Amit <namit@vmware.com>
Sat, 19 Mar 2022 07:20:15 +0000 (00:20 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 13 Apr 2022 16:44:35 +0000 (18:44 +0200)
commita014a6359c1798896b49bf10d2fad65e8e9c6bc8
tree916ef467a472e53dde59398e1d382c31ae330853
parentc02c8228f39a35a18b7da5bed4327a96bdd1c782
smp: Fix offline cpu check in flush_smp_call_function_queue()

The check in flush_smp_call_function_queue() for callbacks that are sent
to offline CPUs currently checks whether the queue is empty.

However, flush_smp_call_function_queue() has just deleted all the
callbacks from the queue and moved all the entries into a local list.
This checks would only be positive if some callbacks were added in the
short time after llist_del_all() was called. This does not seem to be
the intention of this check.

Change the check to look at the local list to which the entries were
moved instead of the queue from which all the callbacks were just
removed.

Fixes: ab4e83af2701c ("CPU hotplug, smp: flush any pending IPI callbacks before CPU offline")
Signed-off-by: Nadav Amit <namit@vmware.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20220319072015.1495036-1-namit@vmware.com
kernel/smp.c