aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/fib_trie.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
index 5741d1306cc5..d58b49115386 100644
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -1465,7 +1465,7 @@ static int fn_trie_lookup(struct fib_table *tb, const struct flowi *flp,
1465 cindex = tkey_extract_bits(mask_pfx(key, current_prefix_length), 1465 cindex = tkey_extract_bits(mask_pfx(key, current_prefix_length),
1466 pos, bits); 1466 pos, bits);
1467 1467
1468 n = tnode_get_child(pn, cindex); 1468 n = tnode_get_child_rcu(pn, cindex);
1469 1469
1470 if (n == NULL) { 1470 if (n == NULL) {
1471#ifdef CONFIG_IP_FIB_TRIE_STATS 1471#ifdef CONFIG_IP_FIB_TRIE_STATS
@@ -1600,7 +1600,7 @@ backtrace:
1600 if (chopped_off <= pn->bits) { 1600 if (chopped_off <= pn->bits) {
1601 cindex &= ~(1 << (chopped_off-1)); 1601 cindex &= ~(1 << (chopped_off-1));
1602 } else { 1602 } else {
1603 struct tnode *parent = node_parent((struct node *) pn); 1603 struct tnode *parent = node_parent_rcu((struct node *) pn);
1604 if (!parent) 1604 if (!parent)
1605 goto failed; 1605 goto failed;
1606 1606
@@ -1813,7 +1813,7 @@ static struct leaf *trie_firstleaf(struct trie *t)
1813static struct leaf *trie_nextleaf(struct leaf *l) 1813static struct leaf *trie_nextleaf(struct leaf *l)
1814{ 1814{
1815 struct node *c = (struct node *) l; 1815 struct node *c = (struct node *) l;
1816 struct tnode *p = node_parent(c); 1816 struct tnode *p = node_parent_rcu(c);
1817 1817
1818 if (!p) 1818 if (!p)
1819 return NULL; /* trie with just one leaf */ 1819 return NULL; /* trie with just one leaf */