diff -drupN a/net/ipv4/ping.c b/net/ipv4/ping.c --- a/net/ipv4/ping.c 2018-08-06 17:23:04.000000000 +0300 +++ b/net/ipv4/ping.c 2022-06-12 05:28:14.000000000 +0300 @@ -59,8 +59,11 @@ struct ping_table { }; static struct ping_table ping_table; + +#if IS_ENABLED(CONFIG_IPV6) struct pingv6_ops pingv6_ops; EXPORT_SYMBOL_GPL(pingv6_ops); +#endif static u16 ping_port_rover; @@ -798,7 +801,8 @@ static int ping_v4_sendmsg(struct sock * flowi4_init_output(&fl4, ipc.oif, sk->sk_mark, tos, RT_SCOPE_UNIVERSE, sk->sk_protocol, - inet_sk_flowi_flags(sk), faddr, saddr, 0, 0); + inet_sk_flowi_flags(sk), faddr, saddr, 0, 0, + sk->sk_uid); security_sk_classify_flow(sk, flowi4_to_flowi(&fl4)); rt = ip_route_output_flow(net, &fl4, sk); @@ -1217,6 +1221,9 @@ void ping_proc_exit(void) unregister_pernet_subsys(&ping_v4_net_ops); } +module_init(ping_proc_init); +module_exit(ping_proc_exit); + #endif void __init ping_init(void)