Skip to content
  • Sabrina Dubroca's avatar
    ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg · 5eff0690
    Sabrina Dubroca authored
    IPv4 ping sockets don't set fl4.fl4_icmp_{type,code}, which leads to
    incomplete IPsec ACQUIRE messages being sent to userspace. Currently,
    both raw sockets and IPv6 ping sockets set those fields.
    
    Expected output of "ip xfrm monitor":
        acquire proto esp
          sel src 10.0.2.15/32 dst 8.8.8.8/32 proto icmp type 8 code 0 dev ens4
          policy src 10.0.2.15/32 dst 8.8.8.8/32
            <snip>
    
    Currently with ping sockets:
        acquire proto esp
          sel src 10.0.2.15/32 dst 8.8.8.8/32 proto icmp type 0 code 0 dev ens4
          policy src 10.0.2.15/32 dst 8.8.8.8/32
            <snip>
    
    The Libreswan test suite found this problem after Fedora changed the
    value for the sysctl net.ipv4.ping_group_range.
    
    Fixes: c319b4d7
    
     ("net: ipv4: add IPPROTO_ICMP socket kind")
    Reported-by: default avatarPaul Wouters <pwouters@redhat.com>
    Tested-by: default avatarPaul Wouters <pwouters@redhat.com>
    Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5eff0690