]> git.baikalelectronics.ru Git - kernel.git/commit
ping: implement proper locking
authorEric Dumazet <edumazet@google.com>
Sat, 25 Mar 2017 02:36:13 +0000 (19:36 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 25 Mar 2017 03:50:28 +0000 (20:50 -0700)
commit40b27f7e21a7228f13d56f3f405b31a23449b988
tree5dd5811104b27efe5ac19bb1aabea5e137fbb276
parent998391390f07caf9e245d12cff69b3166e5ad949
ping: implement proper locking

We got a report of yet another bug in ping

http://www.openwall.com/lists/oss-security/2017/03/24/6

->disconnect() is not called with socket lock held.

Fix this by acquiring ping rwlock earlier.

Thanks to Daniel, Alexander and Andrey for letting us know this problem.

Fixes: cfce3383c7be ("net: ipv4: add IPPROTO_ICMP socket kind")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Daniel Jiang <danieljiang0415@gmail.com>
Reported-by: Solar Designer <solar@openwall.com>
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ping.c