On Sep 15, 2026, at 23:40, Eric Dumazet <[email protected]> wrote:
> 
> On Tue, Sep 15, 2026 at 2:13 PM Ilya Maximets <[email protected]> wrote:
>> 
>> 
>> Hi, Norbert.
>> 
>> This looks like something that needs to be fixed in the ipv6_find_hdr().
>> IMO, this function should not return an offset that doesn't exist in the
>> packet, i.e. we should not be able to find what's not in there.
>> 
>> CC: David and Ido.
>> 
>> In general, we should be able to trust the skb_transport_offset(),
>> otherwise there could be other issues all over the place, not only in
>> openvswitch.
> 
> Totally agree.
> We keep receiving defensive code instead of finding and fixing the
> root causes :/
> 
> Fix ipv6_find_hdr() in net/ipv6/exthdrs_core.c
> 
> if (skb->len - start < hdrlen)
>    return -EBADMSG;

Thanks Ilya & Eric, and sorry for the defensive fix. I suspected
ipv6_find_hdr() was the real problem, but I could only reproduce it 
through openvswitch here, so fixing the caller I had evidence for 
seemed like the smaller change. I'll send a v2 for ipv6_find_hdr() 
later.

N.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to