FAILED: patch "[PATCH] virtio-net: drop legacy features in virtio 1 mode" failed to apply to 4.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
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: [PATCH] virtio-net: drop legacy features in virtio 1 mode
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.
Signed-off-by Michael S. Tsirkin <[email protected]>
Reviewed-by Cornelia Huck <[email protected]>
Acked-by Jason Wang <[email protected]>
Signed-off-by David S. Miller <[email protected]>
drivers/net/virtio_net.c +20 -10
@@ -2038,23 +2038,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,