From eedfea8bf9529a6cb3477337deb5bba78ab90aa9 Mon Sep 17 00:00:00 2001 From: David Michael Date: Tue, 26 Jun 2018 13:02:50 +0000 Subject: [PATCH] sys-kernel/coreos-sources: Bump 4.16.17 to 4.16.18 --- ...17.ebuild => coreos-kernel-4.16.18.ebuild} | 0 ...7.ebuild => coreos-modules-4.16.18.ebuild} | 0 .../sys-kernel/coreos-sources/Manifest | 2 +- ...7.ebuild => coreos-sources-4.16.18.ebuild} | 4 +- ...lative-path-for-KBUILD_SRC-from-CURD.patch | 4 +- .../z0002-Add-arm64-coreos-verity-hash.patch | 2 +- ...kefile-Don-t-fail-on-fallthrough-wit.patch | 2 +- ...e-a-different-mixing-algorithm-for-a.patch | 2 +- ...05-Revert-random-fix-crng_ready-test.patch | 2 +- ...ont-Fix-race-between-device-setup-an.patch | 157 ------------------ ...-netfront-Fix-mismatched-rtnl_unlock.patch | 38 +++++ ...network-regression-after-ifdown-ifup.patch | 43 ----- ...ate-features-after-registering-netde.patch | 49 ++++++ 13 files changed, 96 insertions(+), 209 deletions(-) rename sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/{coreos-kernel-4.16.17.ebuild => coreos-kernel-4.16.18.ebuild} (100%) rename sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/{coreos-modules-4.16.17.ebuild => coreos-modules-4.16.18.ebuild} (100%) rename sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/{coreos-sources-4.16.17.ebuild => coreos-sources-4.16.18.ebuild} (89%) delete mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0006-Revert-xen-netfront-Fix-race-between-device-setup-an.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0006-xen-netfront-Fix-mismatched-rtnl_unlock.patch delete mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0007-hv_netvsc-Fix-a-network-regression-after-ifdown-ifup.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0007-xen-netfront-Update-features-after-registering-netde.patch diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-4.16.17.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-4.16.18.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-4.16.17.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-4.16.18.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/coreos-modules-4.16.17.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/coreos-modules-4.16.18.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/coreos-modules-4.16.17.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/coreos-modules-4.16.18.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/Manifest index 90e05280ce..1541bfd394 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/Manifest @@ -1,4 +1,4 @@ DIST linux-4.14.tar.xz 100770500 SHA256 f81d59477e90a130857ce18dc02f4fbe5725854911db1e7ba770c7cd350f96a7 SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8 WHIRLPOOL fee10d54ecb210156aa55364ecc15867127819e9f7ff9ec5f6ef159b1013e2ae3d3a28d35c62d663886cbe826b996a1387671766093be002536309045a8e4d10 DIST linux-4.16.tar.xz 103020152 SHA256 63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9 SHA512 ab47849314b177d0eec9dbf261f33972b0d89fb92fb0650130ffa7abc2f36c0fab2d06317dc1683c51a472a9a631573a9b1e7258d6281a2ee189897827f14662 WHIRLPOOL e03466f20fbac5b54c963845449d88589cb01fcc47837adbcf7ed1fb7b74422251df3a9a83f3a74d79f086a0f2eaa3cdf3654869717c72c3fb3a195f3f721942 DIST patch-4.14.51.xz 1362580 SHA256 d85e8c6063951d286d4ebac055b3727ef0b8298e1e60d33cf2366618a485b7d5 SHA512 978da11497f5abc1ed675ec5ce48d929c72ee2772fd78ec5d4d5c8554b28a8eee0f0989f84c2e68abf02b3aa36b0e68cabac210aba453478d3e180a2d4d9e2f7 WHIRLPOOL 5d2e05c7ed6fbbeece9a1cb06ccdb8e2caef5653540554c8cb8699b822970adb09d0e1198be06f6c4cb0fb51806df1c44f824aa19541e2fba3e21699adf82d47 -DIST patch-4.16.17.xz 493104 SHA256 13f658fe58d3255d2e63fd236d90a2a1603fb5ab68b4a3ca7249b99033cb1d75 SHA512 bfa2cdc21954a7b7769b1f54e64214b932abd8e85f1fca4c8eb8207139e081914e52ab78c2a66429a1bd695ad6e9f2d029e1c41539e399a00983296a8d32a519 WHIRLPOOL 27eada6f05557511ad0d7907acddc9014bf251cab23382ac102cee0990361df03f38a17524baa8d3300aa96dad63acb1ef4c347c362ec19985027b20e1157cf8 +DIST patch-4.16.18.xz 506924 SHA256 848fdff6385eddb5b3eac6e394d5d5427c8735dc93a123ee62da611d04eb1637 SHA512 9e1cf90b874c757393680026cb74500ca9fa22c0047ac820f4e5f43062125f8cf469f1e8e93a084b9ecc28a177e55c8b733c2fe620e46694a338f1b2ff4180f8 WHIRLPOOL 882fe047675845f8ca70d23e8018a3032d5d6c7dbd9b93e38c97b3e5a7a019ed6d0dcfd91e1a59c87836981c1a7db439d044afc0ff4cb356ec35aa5bfc4b62b3 diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.16.17.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.16.18.ebuild similarity index 89% rename from sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.16.17.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.16.18.ebuild index 575c6df223..1b6322b756 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.16.17.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/coreos-sources-4.16.18.ebuild @@ -40,6 +40,6 @@ UNIPATCH_LIST=" ${PATCH_DIR}/z0003-tools-objtool-Makefile-Don-t-fail-on-fallthrough-wit.patch \ ${PATCH_DIR}/z0004-Revert-random-use-a-different-mixing-algorithm-for-a.patch \ ${PATCH_DIR}/z0005-Revert-random-fix-crng_ready-test.patch \ - ${PATCH_DIR}/z0006-Revert-xen-netfront-Fix-race-between-device-setup-an.patch \ - ${PATCH_DIR}/z0007-hv_netvsc-Fix-a-network-regression-after-ifdown-ifup.patch \ + ${PATCH_DIR}/z0006-xen-netfront-Fix-mismatched-rtnl_unlock.patch \ + ${PATCH_DIR}/z0007-xen-netfront-Update-features-after-registering-netde.patch \ " diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0001-kbuild-derive-relative-path-for-KBUILD_SRC-from-CURD.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0001-kbuild-derive-relative-path-for-KBUILD_SRC-from-CURD.patch index 26d532cf44..600d1f4608 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0001-kbuild-derive-relative-path-for-KBUILD_SRC-from-CURD.patch +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0001-kbuild-derive-relative-path-for-KBUILD_SRC-from-CURD.patch @@ -1,4 +1,4 @@ -From c2d5fffb88ee7204ceac8bf0216d5d4450d23ef4 Mon Sep 17 00:00:00 2001 +From fd931fb1cab3f1c8e360b2ef8bbbefdc77d8dd20 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Wed, 25 Nov 2015 02:59:45 -0800 Subject: [PATCH 1/7] kbuild: derive relative path for KBUILD_SRC from CURDIR @@ -12,7 +12,7 @@ by some undesirable path component. 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 02a4f7f8c613..5ebe38e49e09 100644 +index 8a34b54f2a06..df11a9ce66b2 100644 --- a/Makefile +++ b/Makefile @@ -143,7 +143,8 @@ $(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0002-Add-arm64-coreos-verity-hash.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0002-Add-arm64-coreos-verity-hash.patch index ebe41c5456..3012e52ed7 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0002-Add-arm64-coreos-verity-hash.patch +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0002-Add-arm64-coreos-verity-hash.patch @@ -1,4 +1,4 @@ -From cbdb970e108a815c9de5e1d752c8ffa739af8dc3 Mon Sep 17 00:00:00 2001 +From e5f594c832b4914806f55b64c73e239a6d37d42f Mon Sep 17 00:00:00 2001 From: Geoff Levand Date: Fri, 11 Nov 2016 17:28:52 -0800 Subject: [PATCH 2/7] Add arm64 coreos verity hash diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0003-tools-objtool-Makefile-Don-t-fail-on-fallthrough-wit.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0003-tools-objtool-Makefile-Don-t-fail-on-fallthrough-wit.patch index 18d286b954..6ab4a34f70 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0003-tools-objtool-Makefile-Don-t-fail-on-fallthrough-wit.patch +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0003-tools-objtool-Makefile-Don-t-fail-on-fallthrough-wit.patch @@ -1,4 +1,4 @@ -From 3123c48201b16ba5c21d4468ac69efcd53ffbf0c Mon Sep 17 00:00:00 2001 +From 4ce8ac41943274054f9e2d90fb55a99df85bf88e Mon Sep 17 00:00:00 2001 From: David Michael Date: Thu, 8 Feb 2018 21:23:12 -0500 Subject: [PATCH 3/7] tools/objtool/Makefile: Don't fail on fallthrough with diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0004-Revert-random-use-a-different-mixing-algorithm-for-a.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0004-Revert-random-use-a-different-mixing-algorithm-for-a.patch index 1f02367b68..a404ed6975 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0004-Revert-random-use-a-different-mixing-algorithm-for-a.patch +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0004-Revert-random-use-a-different-mixing-algorithm-for-a.patch @@ -1,4 +1,4 @@ -From 9067a2b9a1ec6a5d0e2dec872c94f6ed07610d6d Mon Sep 17 00:00:00 2001 +From ae9b00302f008eb5af826e2b8c88fa78c76f6b4f Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Wed, 2 May 2018 15:16:29 -0400 Subject: [PATCH 4/7] Revert "random: use a different mixing algorithm for diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0005-Revert-random-fix-crng_ready-test.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0005-Revert-random-fix-crng_ready-test.patch index 91340928a3..37310d04d7 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0005-Revert-random-fix-crng_ready-test.patch +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0005-Revert-random-fix-crng_ready-test.patch @@ -1,4 +1,4 @@ -From 5d136df67b5a6f744e27ae6084006043ecdae345 Mon Sep 17 00:00:00 2001 +From 7e3362c1c8774baa81c8df962b7593c2ad20f9d1 Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Wed, 2 May 2018 15:18:03 -0400 Subject: [PATCH 5/7] Revert "random: fix crng_ready() test" diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0006-Revert-xen-netfront-Fix-race-between-device-setup-an.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0006-Revert-xen-netfront-Fix-race-between-device-setup-an.patch deleted file mode 100644 index aa2adb6576..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0006-Revert-xen-netfront-Fix-race-between-device-setup-an.patch +++ /dev/null @@ -1,157 +0,0 @@ -From 3d6901a3f1defaec2e195646188c2467edb22946 Mon Sep 17 00:00:00 2001 -From: Andrew Jeddeloh -Date: Wed, 30 May 2018 17:50:37 -0700 -Subject: [PATCH 6/7] Revert "xen-netfront: Fix race between device setup and - open" - -This reverts commit f599c64fdf7d9c108e8717fb04bc41c680120da4. - -This causes failures to set mtu > 1500 on some aws instances. ---- - drivers/net/xen-netfront.c | 46 ++++++++++++++++++++++------------------------ - 1 file changed, 22 insertions(+), 24 deletions(-) - -diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c -index 3127bc8633ca..5a37ee2372a3 100644 ---- a/drivers/net/xen-netfront.c -+++ b/drivers/net/xen-netfront.c -@@ -351,9 +351,6 @@ static int xennet_open(struct net_device *dev) - unsigned int i = 0; - struct netfront_queue *queue = NULL; - -- if (!np->queues) -- return -ENODEV; -- - for (i = 0; i < num_queues; ++i) { - queue = &np->queues[i]; - napi_enable(&queue->napi); -@@ -1361,8 +1358,18 @@ static int netfront_probe(struct xenbus_device *dev, - #ifdef CONFIG_SYSFS - info->netdev->sysfs_groups[0] = &xennet_dev_group; - #endif -+ err = register_netdev(info->netdev); -+ if (err) { -+ pr_warn("%s: register_netdev err=%d\n", __func__, err); -+ goto fail; -+ } - - return 0; -+ -+ fail: -+ xennet_free_netdev(netdev); -+ dev_set_drvdata(&dev->dev, NULL); -+ return err; - } - - static void xennet_end_access(int ref, void *page) -@@ -1730,6 +1737,8 @@ static void xennet_destroy_queues(struct netfront_info *info) - { - unsigned int i; - -+ rtnl_lock(); -+ - for (i = 0; i < info->netdev->real_num_tx_queues; i++) { - struct netfront_queue *queue = &info->queues[i]; - -@@ -1738,6 +1747,8 @@ static void xennet_destroy_queues(struct netfront_info *info) - netif_napi_del(&queue->napi); - } - -+ rtnl_unlock(); -+ - kfree(info->queues); - info->queues = NULL; - } -@@ -1753,6 +1764,8 @@ static int xennet_create_queues(struct netfront_info *info, - if (!info->queues) - return -ENOMEM; - -+ rtnl_lock(); -+ - for (i = 0; i < *num_queues; i++) { - struct netfront_queue *queue = &info->queues[i]; - -@@ -1761,7 +1774,7 @@ static int xennet_create_queues(struct netfront_info *info, - - ret = xennet_init_queue(queue); - if (ret < 0) { -- dev_warn(&info->xbdev->dev, -+ dev_warn(&info->netdev->dev, - "only created %d queues\n", i); - *num_queues = i; - break; -@@ -1775,8 +1788,10 @@ static int xennet_create_queues(struct netfront_info *info, - - netif_set_real_num_tx_queues(info->netdev, *num_queues); - -+ rtnl_unlock(); -+ - if (*num_queues == 0) { -- dev_err(&info->xbdev->dev, "no queues\n"); -+ dev_err(&info->netdev->dev, "no queues\n"); - return -EINVAL; - } - return 0; -@@ -1813,7 +1828,6 @@ static int talk_to_netback(struct xenbus_device *dev, - goto out; - } - -- rtnl_lock(); - if (info->queues) - xennet_destroy_queues(info); - -@@ -1824,7 +1838,6 @@ static int talk_to_netback(struct xenbus_device *dev, - info->queues = NULL; - goto out; - } -- rtnl_unlock(); - - /* Create shared ring, alloc event channel -- for each queue */ - for (i = 0; i < num_queues; ++i) { -@@ -1921,10 +1934,8 @@ static int talk_to_netback(struct xenbus_device *dev, - xenbus_transaction_end(xbt, 1); - destroy_ring: - xennet_disconnect_backend(info); -- rtnl_lock(); - xennet_destroy_queues(info); - out: -- rtnl_unlock(); - device_unregister(&dev->dev); - return err; - } -@@ -1954,15 +1965,6 @@ static int xennet_connect(struct net_device *dev) - netdev_update_features(dev); - rtnl_unlock(); - -- if (dev->reg_state == NETREG_UNINITIALIZED) { -- err = register_netdev(dev); -- if (err) { -- pr_warn("%s: register_netdev err=%d\n", __func__, err); -- device_unregister(&np->xbdev->dev); -- return err; -- } -- } -- - /* - * All public and private state should now be sane. Get - * ready to start sending and receiving packets and give the driver -@@ -2153,14 +2155,10 @@ static int xennet_remove(struct xenbus_device *dev) - - xennet_disconnect_backend(info); - -- if (info->netdev->reg_state == NETREG_REGISTERED) -- unregister_netdev(info->netdev); -+ unregister_netdev(info->netdev); - -- if (info->queues) { -- rtnl_lock(); -+ if (info->queues) - xennet_destroy_queues(info); -- rtnl_unlock(); -- } - xennet_free_netdev(info->netdev); - - return 0; --- -2.14.4 - diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0006-xen-netfront-Fix-mismatched-rtnl_unlock.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0006-xen-netfront-Fix-mismatched-rtnl_unlock.patch new file mode 100644 index 0000000000..ffea4579b7 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0006-xen-netfront-Fix-mismatched-rtnl_unlock.patch @@ -0,0 +1,38 @@ +From 2b985fa24f0f6cfa25eb63c9f79fa1dee17e1a34 Mon Sep 17 00:00:00 2001 +From: Ross Lagerwall +Date: Thu, 21 Jun 2018 14:00:20 +0100 +Subject: [PATCH 6/7] xen-netfront: Fix mismatched rtnl_unlock + +Fixes: f599c64fdf7d ("xen-netfront: Fix race between device setup and open") +Reported-by: Ben Hutchings +Signed-off-by: Ross Lagerwall +Reviewed-by: Juergen Gross +Signed-off-by: David S. Miller +--- + drivers/net/xen-netfront.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c +index 3127bc8633ca..5f4951a48c9a 100644 +--- a/drivers/net/xen-netfront.c ++++ b/drivers/net/xen-netfront.c +@@ -1810,7 +1810,7 @@ static int talk_to_netback(struct xenbus_device *dev, + err = xen_net_read_mac(dev, info->netdev->dev_addr); + if (err) { + xenbus_dev_fatal(dev, err, "parsing %s/mac", dev->nodename); +- goto out; ++ goto out_unlocked; + } + + rtnl_lock(); +@@ -1925,6 +1925,7 @@ static int talk_to_netback(struct xenbus_device *dev, + xennet_destroy_queues(info); + out: + rtnl_unlock(); ++out_unlocked: + device_unregister(&dev->dev); + return err; + } +-- +2.14.4 + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0007-hv_netvsc-Fix-a-network-regression-after-ifdown-ifup.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0007-hv_netvsc-Fix-a-network-regression-after-ifdown-ifup.patch deleted file mode 100644 index d34490bd1d..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0007-hv_netvsc-Fix-a-network-regression-after-ifdown-ifup.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 802e541c404c18a3bc11e78c008679f03cf0ba9b Mon Sep 17 00:00:00 2001 -From: Dexuan Cui -Date: Wed, 6 Jun 2018 21:32:51 +0000 -Subject: [PATCH 7/7] hv_netvsc: Fix a network regression after ifdown/ifup - -Recently people reported the NIC stops working after -"ifdown eth0; ifup eth0". It turns out in this case the TX queues are not -enabled, after the refactoring of the common detach logic: when the NIC -has sub-channels, usually we enable all the TX queues after all -sub-channels are set up: see rndis_set_subchannel() -> -netif_device_attach(), but in the case of "ifdown eth0; ifup eth0" where -the number of channels doesn't change, we also must make sure the TX queues -are enabled. The patch fixes the regression. - -Fixes: 7b2ee50c0cd5 ("hv_netvsc: common detach logic") -Signed-off-by: Dexuan Cui -Cc: Stephen Hemminger -Cc: K. Y. Srinivasan -Cc: Haiyang Zhang -Signed-off-by: David S. Miller ---- - drivers/net/hyperv/netvsc_drv.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c -index 2a7752c113df..adbfa82b76e9 100644 ---- a/drivers/net/hyperv/netvsc_drv.c -+++ b/drivers/net/hyperv/netvsc_drv.c -@@ -126,8 +126,10 @@ static int netvsc_open(struct net_device *net) - } - - rdev = nvdev->extension; -- if (!rdev->link_state) -+ if (!rdev->link_state) { - netif_carrier_on(net); -+ netif_tx_wake_all_queues(net); -+ } - - if (vf_netdev) { - /* Setting synthetic device up transparently sets --- -2.14.4 - diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0007-xen-netfront-Update-features-after-registering-netde.patch b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0007-xen-netfront-Update-features-after-registering-netde.patch new file mode 100644 index 0000000000..58105fc6f7 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-sources/files/4.16/z0007-xen-netfront-Update-features-after-registering-netde.patch @@ -0,0 +1,49 @@ +From 77a0d69a6d7b82a4724c966428a0652929a2565c Mon Sep 17 00:00:00 2001 +From: Ross Lagerwall +Date: Thu, 21 Jun 2018 14:00:21 +0100 +Subject: [PATCH 7/7] xen-netfront: Update features after registering netdev + +Update the features after calling register_netdev() otherwise the +device features are not set up correctly and it not possible to change +the MTU of the device. After this change, the features reported by +ethtool match the device's features before the commit which introduced +the issue and it is possible to change the device's MTU. + +Fixes: f599c64fdf7d ("xen-netfront: Fix race between device setup and open") +Reported-by: Liam Shepherd +Signed-off-by: Ross Lagerwall +Reviewed-by: Juergen Gross +Signed-off-by: David S. Miller +--- + drivers/net/xen-netfront.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c +index 5f4951a48c9a..ad2e9cb36903 100644 +--- a/drivers/net/xen-netfront.c ++++ b/drivers/net/xen-netfront.c +@@ -1951,10 +1951,6 @@ static int xennet_connect(struct net_device *dev) + /* talk_to_netback() sets the correct number of queues */ + num_queues = dev->real_num_tx_queues; + +- rtnl_lock(); +- netdev_update_features(dev); +- rtnl_unlock(); +- + if (dev->reg_state == NETREG_UNINITIALIZED) { + err = register_netdev(dev); + if (err) { +@@ -1964,6 +1960,10 @@ static int xennet_connect(struct net_device *dev) + } + } + ++ rtnl_lock(); ++ netdev_update_features(dev); ++ rtnl_unlock(); ++ + /* + * All public and private state should now be sane. Get + * ready to start sending and receiving packets and give the driver +-- +2.14.4 +