[PATCH bpf-next v4 0/2] bpf: Fix bpf_get/setsockopt to tos for ipv4-mapped ipv6 socket
From: Leon Hwang <hidden>
Date: 2026-06-13 16:25:08
Also in:
bpf, linux-kselftest, lkml
From: Leon Hwang <hidden>
Date: 2026-06-13 16:25:08
Also in:
bpf, linux-kselftest, lkml
When TCP over IPv4 via INET6 API, sk->sk_family is AF_INET6, but it is a v4 pkt. inet_csk(sk)->icsk_af_ops is ipv6_mapped and use ip_queue_xmit. The tos sockopt does not work for bpf [get,set]sockopt() helpers. Changelog: v3 -> v4: * Add 'sk->sk_type != SOCK_RAW && !ipv6_only_sock(sk)' check. * Re-implement test with LLM assistance. * v3: https://lore.kernel.org/all/20240914103226.71109-1-zhoufeng.zf@bytedance.com/ (local) v2->v3: * Use sk_is_inet() helper. (Eric Dumazet) * https://lore.kernel.org/bpf/CANn89i+9GmBLCdgsfH=WWe-tyFYpiO27wONyxaxiU6aOBC6G8g@mail.gmail.com/T/ (local) v1->v2: * Fix compilation error. (kernel test robot) * https://lore.kernel.org/bpf/202408152058.YXAnhLgZ-lkp@intel.com/T/ (local) Leon Hwang (2): bpf: Fix bpf_get/setsockopt to tos for ipv4-mapped ipv6 socket selftests/bpf: Add test to verify the fix for bpf_setsockopt() helper net/core/filter.c | 15 +++- .../selftests/bpf/prog_tests/setget_sockopt.c | 78 +++++++++++++++++++ .../selftests/bpf/progs/setget_sockopt.c | 23 ++++++ 3 files changed, 115 insertions(+), 1 deletion(-) -- 2.54.0