Skip to content

Commit b9c89fa

Browse files
q2venkuba-moo
authored andcommitted
neighbour: Use rcu_dereference() in pneigh_get_{first,next}().
Now pneigh_entry is guaranteed to be alive during the RCU critical section even without holding tbl->lock. Let's use rcu_dereference() in pneigh_get_{first,next}(). Note that neigh_seq_start() still holds tbl->lock for the normal neighbour entry. Signed-off-by: Kuniyuki Iwashima <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 32d5eaa commit b9c89fa

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

net/core/neighbour.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3309,10 +3309,10 @@ static struct pneigh_entry *pneigh_get_first(struct seq_file *seq)
33093309

33103310
state->flags |= NEIGH_SEQ_IS_PNEIGH;
33113311
for (bucket = 0; bucket <= PNEIGH_HASHMASK; bucket++) {
3312-
pn = rcu_dereference_protected(tbl->phash_buckets[bucket], 1);
3312+
pn = rcu_dereference(tbl->phash_buckets[bucket]);
33133313

33143314
while (pn && !net_eq(pneigh_net(pn), net))
3315-
pn = rcu_dereference_protected(pn->next, 1);
3315+
pn = rcu_dereference(pn->next);
33163316
if (pn)
33173317
break;
33183318
}
@@ -3330,17 +3330,17 @@ static struct pneigh_entry *pneigh_get_next(struct seq_file *seq,
33303330
struct neigh_table *tbl = state->tbl;
33313331

33323332
do {
3333-
pn = rcu_dereference_protected(pn->next, 1);
3333+
pn = rcu_dereference(pn->next);
33343334
} while (pn && !net_eq(pneigh_net(pn), net));
33353335

33363336
while (!pn) {
33373337
if (++state->bucket > PNEIGH_HASHMASK)
33383338
break;
33393339

3340-
pn = rcu_dereference_protected(tbl->phash_buckets[state->bucket], 1);
3340+
pn = rcu_dereference(tbl->phash_buckets[state->bucket]);
33413341

33423342
while (pn && !net_eq(pneigh_net(pn), net))
3343-
pn = rcu_dereference_protected(pn->next, 1);
3343+
pn = rcu_dereference(pn->next);
33443344
if (pn)
33453345
break;
33463346
}

0 commit comments

Comments
 (0)