lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 13 Mar 2018 17:26:34 -0700
From:   Eric Dumazet <eric.dumazet@...il.com>
To:     Alexei Starovoitov <ast@...com>, Yonghong Song <yhs@...com>,
        Steffen Klassert <steffen.klassert@...unet.com>
Cc:     Daniel Borkmann <daniel@...earbox.net>,
        netdev <netdev@...r.kernel.org>, Martin Lau <kafai@...com>,
        saeedm@...lanox.com, diptanu@...com
Subject: Re: BUG_ON triggered in skb_segment



On 03/13/2018 05:04 PM, Alexei Starovoitov wrote:
> On 3/13/18 4:27 PM, Eric Dumazet wrote:
>>
>>
>> On 03/13/2018 04:09 PM, Alexei Starovoitov wrote:
>>
>>> we have bpf_skb_proto_6_to_4() that was used by cilium for long time.
>>> It's not clear why it's not crashing there, but we cannot just
>>> reject changing proto in bpf programs now.
>>> We have to fix whatever needs to be fixed in skb_segment
>>> (if bug is there) or fix whatever necessary on mlx5 side.
>>> In bpf helper we mark it as SKB_GSO_DODGY just like packets coming
>>> through virtio would do, so if skb_segment() needs to do something
>>> special with skb the SKB_GSO_DODGY flag is already there.
>>
>> 'Fixing' skb_segment(), I did that a long time ago and Herbert Xu was
>> not happy with the fix and provided something else.
> 
> any link to your old patches and discussion?
> 
> I think since mlx4 can do tso on them and the packets came out
> correct on the wire, there is nothing fundamentally wrong with
> changing gso_size. Just tricky to teach skb_segment.
> 

The world is not mlx4 only. Some NIC will ask skb_segment() fallback 
segmentation for various reasons (like skb->len above a given limit like 
16KB)

Maybe https://www.spinics.net/lists/netdev/msg255549.html

Powered by blists - more mailing lists