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] [day] [month] [year] [list]
Message-Id: <20170421.133052.1192709001555652314.davem@davemloft.net>
Date:   Fri, 21 Apr 2017 13:30:52 -0400 (EDT)
From:   David Miller <davem@...emloft.net>
To:     ilant@...lanox.com
Cc:     netdev@...r.kernel.org, alexander.h.duyck@...el.com,
        eric.dumazet@...il.com, steffen.klassert@...unet.com,
        borisp@...lanox.com, ilyal@...lanox.com
Subject: Re: [PATCH net] gso: Validate assumption of frag_list segementation

From: <ilant@...lanox.com>
Date: Wed, 19 Apr 2017 21:26:07 +0300

> From: Ilan Tayari <ilant@...lanox.com>
> 
> Commit 07b26c9454a2 ("gso: Support partial splitting at the frag_list
> pointer") assumes that all SKBs in a frag_list (except maybe the last
> one) contain the same amount of GSO payload.
> 
> This assumption is not always correct, resulting in the following
> warning message in the log:
>     skb_segment: too many frags
> 
> For example, mlx5 driver in Striding RQ mode creates some RX SKBs with
> one frag, and some with 2 frags.
> After GRO, the frag_list SKBs end up having different amounts of payload.
> If this frag_list SKB is then forwarded, the aforementioned assumption
> is violated.
> 
> Validate the assumption, and fall back to software GSO if it not true.
> 
> Change-Id: Ia03983f4a47b6534dd987d7a2aad96d54d46d212
> Fixes: 07b26c9454a2 ("gso: Support partial splitting at the frag_list pointer")
> Signed-off-by: Ilan Tayari <ilant@...lanox.com>
> Signed-off-by: Ilya Lesokhin <ilyal@...lanox.com>

Applied.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ