From 314332023b1f095fb24e230e60b50aff981943c3 Mon Sep 17 00:00:00 2001 From: Andreas Roeseler Date: Mon, 12 Apr 2021 16:23:56 -0500 Subject: icmp: ICMPV6: pass RFC 8335 reply messages to ping_rcv The current icmp_rcv function drops all unknown ICMP types, including ICMP_EXT_ECHOREPLY (type 43). In order to parse Extended Echo Reply messages, we have to pass these packets to the ping_rcv function, which does not do any other filtering and passes the packet to the designated socket. Pass incoming RFC 8335 ICMP Extended Echo Reply packets to the ping_rcv handler instead of discarding the packet. Signed-off-by: Andreas Roeseler Signed-off-by: David S. Miller --- net/ipv4/icmp.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'net/ipv4/icmp.c') diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index 76990e13a2f9..8bd988fbcb31 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c @@ -1196,6 +1196,11 @@ int icmp_rcv(struct sk_buff *skb) goto success_check; } + if (icmph->type == ICMP_EXT_ECHOREPLY) { + success = ping_rcv(skb); + goto success_check; + } + /* * 18 is the highest 'known' ICMP type. Anything else is a mystery * -- cgit v1.2.3