diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c @@ -368,6 +368,8 @@ static void icmp_push_reply(struct icmp_ icmph->checksum = csum_fold(csum); skb->ip_summed = CHECKSUM_NONE; ip_push_pending_frames(icmp_socket->sk); + } else { + ip_flush_pending_frames(icmp_socket->sk); } }