IB: Fix RCU lockdep splats
Commit f2c31e32b3
("net: fix NULL dereferences in check_peer_redir()")
forgot to take care of infiniband uses of dst neighbours.
Many thanks to Marc Aurele who provided a nice bug report and feedback.
Reported-by: Marc Aurele La France <tsi@ualberta.ca>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: David Miller <davem@davemloft.net>
Cc: <stable@kernel.org>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Цей коміт міститься в:

зафіксовано
Roland Dreier

джерело
1ea6b8f489
коміт
580da35a31
@@ -1377,9 +1377,11 @@ static int nes_addr_resolve_neigh(struct nes_vnic *nesvnic, u32 dst_ip, int arpi
|
||||
neigh_release(neigh);
|
||||
}
|
||||
|
||||
if ((neigh == NULL) || (!(neigh->nud_state & NUD_VALID)))
|
||||
if ((neigh == NULL) || (!(neigh->nud_state & NUD_VALID))) {
|
||||
rcu_read_lock();
|
||||
neigh_event_send(dst_get_neighbour(&rt->dst), NULL);
|
||||
|
||||
rcu_read_unlock();
|
||||
}
|
||||
ip_rt_put(rt);
|
||||
return rc;
|
||||
}
|
||||
|
Посилання в новій задачі
Заблокувати користувача