Patch "virtio-net: drop legacy features in virtio 1 mode" has been added to the 4.8-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
virtio-net: drop legacy features in virtio 1 mode
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
virtio-net-drop-legacy-features-in-virtio-1-mode.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
f3358507c11999c91abf54744658bccd49b5879cMon Sep 17 00:00:00 2001
From: "Michael S. Tsirkin" <[email protected]>
Date: Fri, 4 Nov 2016 12:55:36 +0200
Subject: virtio-net: drop legacy features in virtio 1 mode
From: Michael S. Tsirkin <[email protected]>
commit f3358507c11999c91abf54744658bccd49b5879c upstream.
Virtio 1.0 spec says VIRTIO_F_ANY_LAYOUT and VIRTIO_NET_F_GSO are legacy-only feature bits. Do not negotiate them in virtio 1 mode. Note this is a spec violation so we need to backport it to stable/downstream kernels.
--- drivers/net/virtio_net.c | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-)
drivers/net/virtio_net.c +20 -10
@@ -2010,23 +2010,33 @@ static struct virtio_device_id id_table[ { 0 }, }; +#define VIRTNET_FEATURES \ + VIRTIO_NET_F_CSUM, VIRTIO_NET_F_GUEST_CSUM, \ + VIRTIO_NET_F_MAC, \ + VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_UFO, VIRTIO_NET_F_HOST_TSO6, \ + VIRTIO_NET_F_HOST_ECN, VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6, \ + VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_GUEST_UFO, \ + VIRTIO_NET_F_MRG_RXBUF, VIRTIO_NET_F_STATUS, VIRTIO_NET_F_CTRL_VQ, \ + VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN, \ + VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ, \ + VIRTIO_NET_F_CTRL_MAC_ADDR, \ + VIRTIO_NET_F_MTU +static unsigned int features[] = { -VIRTIO_NET_F_CSUM ,VIRTIO_NET_F_GUEST_CSUM , -VIRTIO_NET_F_GSO ,VIRTIO_NET_F_MAC , -VIRTIO_NET_F_HOST_TSO4 ,VIRTIO_NET_F_HOST_UFO ,VIRTIO_NET_F_HOST_TSO6 , -VIRTIO_NET_F_HOST_ECN ,VIRTIO_NET_F_GUEST_TSO4 ,VIRTIO_NET_F_GUEST_TSO6 , -VIRTIO_NET_F_GUEST_ECN ,VIRTIO_NET_F_GUEST_UFO , -VIRTIO_NET_F_MRG_RXBUF ,VIRTIO_NET_F_STATUS ,VIRTIO_NET_F_CTRL_VQ , -VIRTIO_NET_F_CTRL_RX ,VIRTIO_NET_F_CTRL_VLAN , -VIRTIO_NET_F_GUEST_ANNOUNCE ,VIRTIO_NET_F_MQ , -VIRTIO_NET_F_CTRL_MAC_ADDR , +VIRTNET_FEATURES , +}; + +static unsigned int features_legacy[] = { +VIRTNET_FEATURES , +VIRTIO_NET_F_GSO ,VIRTIO_F_ANY_LAYOUT , -VIRTIO_NET_F_MTU , };static struct virtio_driver virtio_net_driver = { .feature_table = features, .feature_table_size =ARRAY_SIZE (features), + .feature_table_legacy = features_legacy, + .feature_table_size_legacy =ARRAY_SIZE (features_legacy), .driver.name =KBUILD_MODNAME , .driver.owner =THIS_MODULE , .id_table = id_table,
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/virtio-net-drop-legacy-features-in-virtio-1-mode.patch