diff options
author | Paul E. McKenney <paulmck@linux.ibm.com> | 2018-10-22 17:33:06 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.ibm.com> | 2018-11-12 17:15:59 +0100 |
commit | f0ad56e876cdd67730065274625edbcfe0cca278 (patch) | |
tree | d29ef247705f788e9b9b148da3e2d1f020b95621 /kernel/rcu/update.c | |
parent | rcu: Eliminate BUG_ON() for kernel/rcu/tree_plugin.h (diff) | |
download | linux-f0ad56e876cdd67730065274625edbcfe0cca278.tar.xz linux-f0ad56e876cdd67730065274625edbcfe0cca278.zip |
rcu: Eliminate BUG_ON() for kernel/rcu/update.c
The update.c file has a number of calls to BUG_ON(), which panics the
kernel, which is not a good strategy for devices (like embedded) that
don't have a way to capture console output. This commit therefore
converts these BUG_ON() calls to WARN_ON_ONCE() and WARN_ONCE().
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Diffstat (limited to 'kernel/rcu/update.c')
-rw-r--r-- | kernel/rcu/update.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index f203b94f6b5b..cb26de25658a 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c @@ -822,7 +822,8 @@ static int __init rcu_spawn_tasks_kthread(void) struct task_struct *t; t = kthread_run(rcu_tasks_kthread, NULL, "rcu_tasks_kthread"); - BUG_ON(IS_ERR(t)); + if (WARN_ONCE(IS_ERR(t), "%s: Could not start Tasks-RCU grace-period kthread, OOM is now expected behavior\n", __func__)) + return 0; smp_mb(); /* Ensure others see full kthread. */ WRITE_ONCE(rcu_tasks_kthread_ptr, t); return 0; |