• A
    selftests/bpf: Test [::] -> [::1] rewrite in sys_sendmsg in test_sock_addr · fc396828
    Andrey Ignatov 提交于
    [ Upstream commit 976b4f3a4646fbf0d189caca25f91f82e4be4b5a ]
    
    Test that sys_sendmsg BPF hook doesn't break sys_sendmsg behaviour to
    rewrite destination IPv6 = [::] with [::1] (BSD'ism).
    
    Two test cases are added:
    
    1) User passes dst IPv6 = [::] and BPF_CGROUP_UDP6_SENDMSG program
       doesn't touch it.
    
    2) User passes dst IPv6 != [::], but BPF_CGROUP_UDP6_SENDMSG program
       rewrites it with [::].
    
    In both cases [::1] is used by sys_sendmsg code eventually and datagram
    is sent successfully for unconnected UDP socket.
    
    Example of relevant output:
      Test case: sendmsg6: set dst IP = [::] (BSD'ism) .. [PASS]
      Test case: sendmsg6: preserve dst IP = [::] (BSD'ism) .. [PASS]
    Signed-off-by: NAndrey Ignatov <rdna@fb.com>
    Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    fc396828
test_sock_addr.c 32.6 KB