From: "Srivatsa S. Bhat" <redacted>
Date: Fri, 14 Feb 2014 13:30:43 +0530
Subsystems that want to register CPU hotplug callbacks, as well as perform
initialization for the CPUs that are already online, often do it as shown
below:
...
This is wrong, since it is prone to ABBA deadlocks involving the
cpu_add_remove_lock and the cpu_hotplug.lock (when running concurrently
with CPU hotplug operations).
Instead, the correct and race-free way of performing the callback
registration is:
...
Fix the code in net/core/flow.c by using this latter form of callback
registration.
Cc: Li RongQing <redacted>
Cc: Sasha Levin <redacted>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Chris Metcalf <redacted>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Srivatsa S. Bhat <redacted>
Acked-by: David S. Miller <davem@davemloft.net>