seq_file: add RCU versions of new hlist/list iterators (v3)
Many usages of seq_file use RCU protected lists, so non RCU iterators will not work safely. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
35e2da46d2
commit
1cc523271e
@ -406,6 +406,11 @@ static inline void hlist_add_after_rcu(struct hlist_node *prev,
|
||||
n->next->pprev = &n->next;
|
||||
}
|
||||
|
||||
#define __hlist_for_each_rcu(pos, head) \
|
||||
for (pos = rcu_dereference((head)->first); \
|
||||
pos && ({ prefetch(pos->next); 1; }); \
|
||||
pos = rcu_dereference(pos->next))
|
||||
|
||||
/**
|
||||
* hlist_for_each_entry_rcu - iterate over rcu list of given type
|
||||
* @tpos: the type * to use as a loop cursor.
|
||||
|
Reference in New Issue
Block a user