Commit 108aae22339f445c134aeb48eca25df1014ab08d
1 parent
561190e3b3
Exists in
master
and in
39 other branches
rcu: Use WARN_ON_ONCE for DEBUG_OBJECTS_RCU_HEAD warnings
Avoid additional multiple-warning confusion in memory-corruption scenarios. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Showing 1 changed file with 6 additions and 6 deletions Side-by-side Diff
kernel/rcupdate.c
... | ... | @@ -147,12 +147,12 @@ |
147 | 147 | * attempt any fixup and just print a warning. |
148 | 148 | */ |
149 | 149 | #ifndef CONFIG_PREEMPT |
150 | - WARN_ON(1); | |
150 | + WARN_ON_ONCE(1); | |
151 | 151 | return 0; |
152 | 152 | #endif |
153 | 153 | if (rcu_preempt_depth() != 0 || preempt_count() != 0 || |
154 | 154 | irqs_disabled()) { |
155 | - WARN_ON(1); | |
155 | + WARN_ON_ONCE(1); | |
156 | 156 | return 0; |
157 | 157 | } |
158 | 158 | rcu_barrier(); |
159 | 159 | |
... | ... | @@ -196,12 +196,12 @@ |
196 | 196 | * attempt any fixup and just print a warning. |
197 | 197 | */ |
198 | 198 | #ifndef CONFIG_PREEMPT |
199 | - WARN_ON(1); | |
199 | + WARN_ON_ONCE(1); | |
200 | 200 | return 0; |
201 | 201 | #endif |
202 | 202 | if (rcu_preempt_depth() != 0 || preempt_count() != 0 || |
203 | 203 | irqs_disabled()) { |
204 | - WARN_ON(1); | |
204 | + WARN_ON_ONCE(1); | |
205 | 205 | return 0; |
206 | 206 | } |
207 | 207 | rcu_barrier(); |
208 | 208 | |
... | ... | @@ -233,12 +233,12 @@ |
233 | 233 | * attempt any fixup and just print a warning. |
234 | 234 | */ |
235 | 235 | #ifndef CONFIG_PREEMPT |
236 | - WARN_ON(1); | |
236 | + WARN_ON_ONCE(1); | |
237 | 237 | return 0; |
238 | 238 | #endif |
239 | 239 | if (rcu_preempt_depth() != 0 || preempt_count() != 0 || |
240 | 240 | irqs_disabled()) { |
241 | - WARN_ON(1); | |
241 | + WARN_ON_ONCE(1); | |
242 | 242 | return 0; |
243 | 243 | } |
244 | 244 | rcu_barrier(); |