Skip to content

Commit 1511ba2

Browse files
yuangao2333gregkh
authored andcommitted
inet: ping: Fix icmp out counting
[ Upstream commit 4c0856c ] When the ping program uses an IPPROTO_ICMP socket to send ICMP_ECHO messages, ICMP_MIB_OUTMSGS is counted twice. ping_v4_sendmsg ping_v4_push_pending_frames ip_push_pending_frames ip_finish_skb __ip_make_skb icmp_out_count(net, icmp_type); // first count icmp_out_count(sock_net(sk), user_icmph.type); // second count However, when the ping program uses an IPPROTO_RAW socket, ICMP_MIB_OUTMSGS is counted correctly only once. Therefore, the first count should be removed. Fixes: c319b4d ("net: ipv4: add IPPROTO_ICMP socket kind") Signed-off-by: yuan.gao <yuan.gao@ucloud.cn> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Tested-by: Ido Schimmel <idosch@nvidia.com> Link: https://patch.msgid.link/20251224063145.3615282-1-yuan.gao@ucloud.cn Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent f490af4 commit 1511ba2

1 file changed

Lines changed: 1 addition & 3 deletions

File tree

net/ipv4/ping.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -828,10 +828,8 @@ static int ping_v4_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
828828
out_free:
829829
if (free)
830830
kfree(ipc.opt);
831-
if (!err) {
832-
icmp_out_count(sock_net(sk), user_icmph.type);
831+
if (!err)
833832
return len;
834-
}
835833
return err;
836834

837835
do_confirm:

0 commit comments

Comments
 (0)