From: Andrew Morton statements-with-side-effects inside debug macros are a bit worrisome. Cc: Alan Stern Cc: Paul E. McKenney Signed-off-by: Andrew Morton --- kernel/sys.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN include/linux/srcu.h~srcu-report-out-of-memory-errors-fixlet include/linux/srcu.h diff -puN kernel/srcu.c~srcu-report-out-of-memory-errors-fixlet kernel/srcu.c diff -puN kernel/sys.c~srcu-report-out-of-memory-errors-fixlet kernel/sys.c --- a/kernel/sys.c~srcu-report-out-of-memory-errors-fixlet +++ a/kernel/sys.c @@ -516,7 +516,8 @@ EXPORT_SYMBOL_GPL(srcu_notifier_call_cha void srcu_init_notifier_head(struct srcu_notifier_head *nh) { mutex_init(&nh->mutex); - BUG_ON(init_srcu_struct(&nh->srcu) < 0); + if (init_srcu_struct(&nh->srcu) < 0) + BUG(); nh->head = NULL; } _