diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-01-23 14:55:43 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-04-18 14:38:17 -0400 |
commit | dffd06a7566b379be13a831b27a55bf5b0a7dea5 (patch) | |
tree | 7adfd4d1e39a4dc737b625b554f11324685727e2 /kernel/rcu | |
parent | 15c68f7f6341da1693a60440338dd4aa8836da48 (diff) |
rcu: Semicolon inside RCU_TRACE() for rcu.h
The current use of "RCU_TRACE(statement);" can cause odd bugs, especially
where "statement" is a local-variable declaration, as it can leave a
misplaced ";" in the source code. This commit therefore converts these
to "RCU_TRACE(statement;)", which avoids the misplaced ";".
Reported-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu')
-rw-r--r-- | kernel/rcu/rcu.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h index 0d6ff3e471be..8700a81daf56 100644 --- a/kernel/rcu/rcu.h +++ b/kernel/rcu/rcu.h | |||
@@ -109,12 +109,12 @@ static inline bool __rcu_reclaim(const char *rn, struct rcu_head *head) | |||
109 | 109 | ||
110 | rcu_lock_acquire(&rcu_callback_map); | 110 | rcu_lock_acquire(&rcu_callback_map); |
111 | if (__is_kfree_rcu_offset(offset)) { | 111 | if (__is_kfree_rcu_offset(offset)) { |
112 | RCU_TRACE(trace_rcu_invoke_kfree_callback(rn, head, offset)); | 112 | RCU_TRACE(trace_rcu_invoke_kfree_callback(rn, head, offset);) |
113 | kfree((void *)head - offset); | 113 | kfree((void *)head - offset); |
114 | rcu_lock_release(&rcu_callback_map); | 114 | rcu_lock_release(&rcu_callback_map); |
115 | return true; | 115 | return true; |
116 | } else { | 116 | } else { |
117 | RCU_TRACE(trace_rcu_invoke_callback(rn, head)); | 117 | RCU_TRACE(trace_rcu_invoke_callback(rn, head);) |
118 | head->func(head); | 118 | head->func(head); |
119 | rcu_lock_release(&rcu_callback_map); | 119 | rcu_lock_release(&rcu_callback_map); |
120 | return false; | 120 | return false; |