]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ipv6: lock socket in ip6_datagram_connect()
authorEric Dumazet <edumazet@google.com>
Tue, 14 Jul 2015 06:10:22 +0000 (08:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Sep 2015 17:26:22 +0000 (19:26 +0200)
commit7921f568ebdebd8862de6146d04137d0c8176ce0
treee4963f785e8aa8521274c62c9600953d129fd3a0
parentef84567e9484f1a4755b184f6ad888c371504245
ipv6: lock socket in ip6_datagram_connect()

[ Upstream commit 03645a11a570d52e70631838cb786eb4253eb463 ]

ip6_datagram_connect() is doing a lot of socket changes without
socket being locked.

This looks wrong, at least for udp_lib_rehash() which could corrupt
lists because of concurrent udp_sk(sk)->udp_portaddr_hash accesses.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/net/ip.h
net/ipv4/datagram.c
net/ipv6/datagram.c