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: <CADS+iDW49e+oSw9p_MBOVk4Qojh+e00a5zix-sO8NQethn=pjg@mail.gmail.com>
Date:   Wed, 8 Mar 2017 23:29:53 +0300
From:   Yaroslav Isakov <yaroslav.isakov@...il.com>
To:     netdev@...r.kernel.org
Subject: tun offloads bug

Hello!
I've found a bug in TUN/TAP driver with offloads - when Qemu is trying
to set offloads on tap device, there is no error, but offloads are not
appied.

The cause of this is that udev in recent systemd is using ethtool to
disable offloads. So, udev is setting tun->dev->wanted_features via
ethtool ioctl to disable TSO, but when qemu is trying to set offloads,
it's using TUN/TAP ioctl which is not setting wanted_features, so
netdev_update_features will not see features qemu wants.

This can be easily reproduced - just run qemu with
guest_tso4=on,guest_tso6=on on systemd with systemd>=226 and after
booting the VM, ethtool -k tap0 will show that TSO4 is disabled and
TSO6 is enabled (systemd is not touching TSO6, that's why it's not
affected at all)
I've attached pretty trivial patch to fix this problem.

View attachment "tun.patch" of type "text/x-patch" (313 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ