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-next>] [day] [month] [year] [list]
Message-ID: <b418fa92-fa1e-b53c-ce19-8e02b05e68f0@cloudflare.com>
Date:   Thu, 21 Jan 2021 13:04:58 +0000
From:   Mark Pashmfouroush <mpashmfouroush@...udflare.com>
To:     netdev@...r.kernel.org
Cc:     ecree.xilinx@...il.com, habetsm.xilinx@...il.com,
        lmb@...udflare.com
Subject: Observed increased rate of non-linear UDP skb on 5.10 sfc driver

Hi netdev,

I'm currently conducting an experiment to observe the frequency of
fragmented/non-linear UDP skbs being allocated on the receive path by the sfc
driver. By non-linear I mean that parts of the packet are not contained within
the linear portion of the skb.

I've collected some data on kernel 5.4 with the out-of-tree sfc driver, and now
the mainline sfc driver on kernel 5.10. On kernel 5.4 with the out-of-tree sfc
driver I saw that roughly 10-15% of received UDP skbs were non-linear. On the
in-tree driver I see a significant increase to around 30%. My question is, what
can cause a fragmented/non-linear UDP skb to be allocated by the sfc driver, and
why has this frequency increased since transitioning to the in-tree driver? Is
there a strict size before a UDP packet has an skb with data in the non-linear
buffer? I'm observing this using a tc eBPF program.

While it doesn't seem to cause any issues I'm still curious why there is such a
big difference.

Observed on a Solaflare SFC9120 on multiple different firmware versions with no
difference, currently running version 6.2.7.1001.

Thanks,
Mark


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ