From: Eric Dumazet Date: Sat, 3 Jun 2017 16:29:25 +0000 (-0700) Subject: net: ping: do not abuse udp_poll() X-Git-Tag: v3.2.93~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c6b7065b8625bd1924e27bb4792560829b5cd603;p=thirdparty%2Fkernel%2Fstable.git net: ping: do not abuse udp_poll() commit 77d4b1d36926a9b8387c6b53eeba42bcaaffcea3 upstream. Alexander reported various KASAN messages triggered in recent kernels The problem is that ping sockets should not use udp_poll() in the first place, and recent changes in UDP stack finally exposed this old bug. Fixes: c319b4d76b9e ("net: ipv4: add IPPROTO_ICMP socket kind") Fixes: 6d0bfe226116 ("net: ipv6: Add IPv6 support to the ping socket.") Signed-off-by: Eric Dumazet Reported-by: Sasha Levin Cc: Solar Designer Cc: Vasiliy Kulikov Cc: Lorenzo Colitti Acked-By: Lorenzo Colitti Tested-By: Lorenzo Colitti Signed-off-by: David S. Miller [bwh: Backported to 3.2: - Drop IPv6 bits - Adjust context] Signed-off-by: Ben Hutchings --- diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index e2ab9681f53a0..19dcfe518cd11 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c @@ -1032,7 +1032,7 @@ static struct inet_protosw inetsw_array[] = .type = SOCK_DGRAM, .protocol = IPPROTO_ICMP, .prot = &ping_prot, - .ops = &inet_dgram_ops, + .ops = &inet_sockraw_ops, .no_check = UDP_CSUM_DEFAULT, .flags = INET_PROTOSW_REUSE, },