diff options
author | Paul E. McKenney <paulmck@linux.ibm.com> | 2019-05-23 22:56:12 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.ibm.com> | 2019-08-13 23:35:49 +0200 |
commit | ce0a825e40606d6dbe6dfe90d4d4c0ccc9fa3bde (patch) | |
tree | 178dccd9ca01e5f563652148c271ca995da9f3dd /kernel/rcu | |
parent | rcu/nocb: Never downgrade ->nocb_defer_wakeup in wake_nocb_gp_defer() (diff) | |
download | linux-ce0a825e40606d6dbe6dfe90d4d4c0ccc9fa3bde.tar.xz linux-ce0a825e40606d6dbe6dfe90d4d4c0ccc9fa3bde.zip |
rcu/nocb: Make __call_rcu_nocb_wake() safe for many callbacks
It might be hard to imagine having more than two billion callbacks
queued on a single CPU's ->cblist, but someone will do it sometime.
This commit therefore makes __call_rcu_nocb_wake() handle this situation
by upgrading local variable "len" from "int" to "long".
Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Diffstat (limited to 'kernel/rcu')
-rw-r--r-- | kernel/rcu/tree_plugin.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h index b9e00660af60..5cbc0848647c 100644 --- a/kernel/rcu/tree_plugin.h +++ b/kernel/rcu/tree_plugin.h @@ -1615,7 +1615,7 @@ static void __call_rcu_nocb_wake(struct rcu_data *rdp, bool was_alldone, unsigned long flags) __releases(rdp->nocb_lock) { - int len; + long len; struct task_struct *t; // If we are being polled or there is no kthread, just leave. |