diff options
author | Ying Xue <ying.xue@windriver.com> | 2015-03-26 01:27:08 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-05-27 15:58:04 -0400 |
commit | f517700cce37ffcb36e7afae0294fd11c72ed134 (patch) | |
tree | 38e588d2dbf4a3bacf31263966fcbaf9d946c971 | |
parent | 82072c4fcf095ce03a05860365c157c8bb58945b (diff) |
rculist: Fix another sparse warning
This fixes the following sparse warnings:
make C=1 CF=-D__CHECK_ENDIAN__ net/tipc/name_table.o
net/tipc/name_table.c:977:17: error: incompatible types in comparison expression (different address spaces)
net/tipc/name_table.c:977:17: error: incompatible types in comparison expression (different address spaces)
To silence these spare complaints, an RCU annotation should be added to
"next" pointer of hlist_node structure through hlist_next_rcu() macro
when iterating over a hlist with hlist_for_each_entry_from_rcu().
Signed-off-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-rw-r--r-- | include/linux/rculist.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/rculist.h b/include/linux/rculist.h index 665397247e82..17c6b1f84a77 100644 --- a/include/linux/rculist.h +++ b/include/linux/rculist.h | |||
@@ -549,8 +549,8 @@ static inline void hlist_add_behind_rcu(struct hlist_node *n, | |||
549 | */ | 549 | */ |
550 | #define hlist_for_each_entry_from_rcu(pos, member) \ | 550 | #define hlist_for_each_entry_from_rcu(pos, member) \ |
551 | for (; pos; \ | 551 | for (; pos; \ |
552 | pos = hlist_entry_safe(rcu_dereference((pos)->member.next),\ | 552 | pos = hlist_entry_safe(rcu_dereference_raw(hlist_next_rcu( \ |
553 | typeof(*(pos)), member)) | 553 | &(pos)->member)), typeof(*(pos)), member)) |
554 | 554 | ||
555 | #endif /* __KERNEL__ */ | 555 | #endif /* __KERNEL__ */ |
556 | #endif | 556 | #endif |