Commit 3408404a authored by David S. Miller's avatar David S. Miller
Browse files

inetpeer: Use correct AVL tree base pointer in inet_getpeer().



Family was hard-coded to AF_INET but should be daddr->family.

This fixes crashes when unlinking ipv6 peer entries, since the
unlink code was looking up the base pointer properly.

Reported-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d1dc7abf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -475,7 +475,7 @@ static int cleanup_once(unsigned long ttl)
struct inet_peer *inet_getpeer(struct inetpeer_addr *daddr, int create)
{
	struct inet_peer __rcu **stack[PEER_MAXDEPTH], ***stackptr;
	struct inet_peer_base *base = family_to_base(AF_INET);
	struct inet_peer_base *base = family_to_base(daddr->family);
	struct inet_peer *p;

	/* Look up for the address quickly, lockless.