diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2014-10-22 21:51:49 (GMT) |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2014-11-04 03:21:01 (GMT) |
commit | 62db99f4783ea34531fc344bd8c539d5d186f24d (patch) | |
tree | 71b90af82e70ea33e05455bf1e6d93cec77ea79e /kernel/rcu | |
parent | 8fa7845df539105a8962c3173c866483da74ff6d (diff) | |
download | linux-62db99f4783ea34531fc344bd8c539d5d186f24d.tar.xz |
cpu: Avoid puts_pending overflow
A long string of get_online_cpus() with each followed by a
put_online_cpu() that fails to acquire cpu_hotplug.lock can result in
overflow of the cpu_hotplug.puts_pending counter. Although this is
perhaps improbably, a system with absolutely no CPU-hotplug operations
will have an arbitrarily long time in which this overflow could occur.
This commit therefore adds overflow checks to get_online_cpus() and
try_get_online_cpus().
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>
Diffstat (limited to 'kernel/rcu')
0 files changed, 0 insertions, 0 deletions