net/netlabel: Add list_next_rcu() in rcu_dereference().
Add list_next_rcu() for fetching next list in rcu_deference safely. Found with sparse in linux-next tree on tag next-20171116. Signed-off-by: Tim Hansen <devtimhansen@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
58fedcade1
commit
17e4857775
1 changed files with 2 additions and 2 deletions
|
@ -87,7 +87,7 @@ static inline struct netlbl_af4list *__af4list_valid_rcu(struct list_head *s,
|
||||||
struct list_head *i = s;
|
struct list_head *i = s;
|
||||||
struct netlbl_af4list *n = __af4list_entry(s);
|
struct netlbl_af4list *n = __af4list_entry(s);
|
||||||
while (i != h && !n->valid) {
|
while (i != h && !n->valid) {
|
||||||
i = rcu_dereference(i->next);
|
i = rcu_dereference(list_next_rcu(i));
|
||||||
n = __af4list_entry(i);
|
n = __af4list_entry(i);
|
||||||
}
|
}
|
||||||
return n;
|
return n;
|
||||||
|
@ -154,7 +154,7 @@ static inline struct netlbl_af6list *__af6list_valid_rcu(struct list_head *s,
|
||||||
struct list_head *i = s;
|
struct list_head *i = s;
|
||||||
struct netlbl_af6list *n = __af6list_entry(s);
|
struct netlbl_af6list *n = __af6list_entry(s);
|
||||||
while (i != h && !n->valid) {
|
while (i != h && !n->valid) {
|
||||||
i = rcu_dereference(i->next);
|
i = rcu_dereference(list_next_rcu(i));
|
||||||
n = __af6list_entry(i);
|
n = __af6list_entry(i);
|
||||||
}
|
}
|
||||||
return n;
|
return n;
|
||||||
|
|
Loading…
Add table
Reference in a new issue