+12
−8
Loading
bpf_prog_test_run_skb() calls eth_type_trans() first and then uses skb->protocol to initialize sk family and address fields for the test run. For IPv4 and IPv6 packets, it may access ip_hdr(skb) or ipv6_hdr(skb) even when the provided test input only contains an Ethernet header. Reject the input earlier if the Ethernet frame carries IPv4/IPv6 EtherType but the L3 header is too short. Fold the IPv4/IPv6 header length checks into the existing protocol switch and return -EINVAL before accessing the network headers. Fixes: fa5cb548 ("bpf: Setup socket family and addresses in bpf_prog_test_run_skb") Reported-by:<syzbot+619b9ef527f510a57cfc@syzkaller.appspotmail.com> Closes: https://syzkaller.appspot.com/bug?extid=619b9ef527f510a57cfc Signed-off-by:
Sun Jian <sun.jian.kdev@gmail.com> Link: https://lore.kernel.org/r/20260408034623.180320-2-sun.jian.kdev@gmail.com Signed-off-by:
Alexei Starovoitov <ast@kernel.org>