From: Thomas Gleixner <t...@linutronix.de> Date: Wed, 24 May 2017 10:15:35 +0200
> The conversion of the hotplug locking to a percpu rwsem unearthed lock > ordering issues all over the place. > > The jump_label code has two issues: > > 1) Nested get_online_cpus() invocations > > 2) Ordering problems vs. the cpus rwsem and the jump_label_mutex > > To cure these, the following lock order has been established; > > cpus_rwsem -> jump_label_lock -> text_mutex > > Even if not all architectures need protection against CPU hotplug, taking > cpus_rwsem before jump_label_lock is now mandatory in code pathes which > actually modify code and therefor need text_mutex protection. > > Move the get_online_cpus() invocations into the core jump label code and > establish the proper lock order where required. > > Signed-off-by: Thomas Gleixner <t...@linutronix.de> Acked-by: David S. Miller <da...@davemloft.net>