diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-03-29 15:56:56 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-06 02:16:57 -0400 |
commit | b0c9d7ff2793502650ad987c3f237d5fe5587a1e (patch) | |
tree | 04a19658925baa1eda66bad18d8a2ebd061ddac5 | |
parent | fc2ecf7ec76c5ee150b83dcefc863fa03fd365fb (diff) |
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; | |||
785 | 785 | ||
786 | static inline void debug_rcu_head_queue(struct rcu_head *head) | 786 | static inline void debug_rcu_head_queue(struct rcu_head *head) |
787 | { | 787 | { |
788 | WARN_ON_ONCE((unsigned long)head & 0x3); | ||
788 | debug_object_activate(head, &rcuhead_debug_descr); | 789 | debug_object_activate(head, &rcuhead_debug_descr); |
789 | debug_object_active_state(head, &rcuhead_debug_descr, | 790 | debug_object_active_state(head, &rcuhead_debug_descr, |
790 | STATE_RCU_HEAD_READY, | 791 | STATE_RCU_HEAD_READY, |