diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-03-29 21:56:56 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-06 08:16:57 +0200 |
commit | b0c9d7ff2793502650ad987c3f237d5fe5587a1e (patch) | |
tree | 04a19658925baa1eda66bad18d8a2ebd061ddac5 | |
parent | rcu: Enable DEBUG_OBJECTS_RCU_HEAD from !PREEMPT (diff) | |
download | linux-b0c9d7ff2793502650ad987c3f237d5fe5587a1e.tar.xz linux-b0c9d7ff2793502650ad987c3f237d5fe5587a1e.zip |
rcu: add DEBUG_OBJECTS_RCU_HEAD check for alignment
Verify that rcu_head structures are aligned to a four-byte boundary.
This check is enabled by CONFIG_DEBUG_OBJECTS_RCU_HEAD.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
-rw-r--r-- | include/linux/rcupdate.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 9e169c2ba91f..c7aeacf7fc98 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -785,6 +785,7 @@ extern struct debug_obj_descr rcuhead_debug_descr; static inline void debug_rcu_head_queue(struct rcu_head *head) { + WARN_ON_ONCE((unsigned long)head & 0x3); debug_object_activate(head, &rcuhead_debug_descr); debug_object_active_state(head, &rcuhead_debug_descr, STATE_RCU_HEAD_READY, |