diff --git a/Makefile b/Makefile index 40343f3..755b013 100644 --- a/Makefile +++ b/Makefile @@ -236,13 +236,7 @@ ${KERNEL_SRC}/README: ${KERNEL_SRC_SUBMODULE} | submodules rm -rf ${KERNEL_SRC} cp -a ${KERNEL_SRC_SUBMODULE} ${KERNEL_SRC} cat ${KERNEL_SRC}/debian.master/config/config.common.ubuntu ${KERNEL_SRC}/debian.master/config/${ARCH}/config.common.${ARCH} ${KERNEL_SRC}/debian.master/config/${ARCH}/config.flavour.generic > ${KERNEL_CFG_ORG} - cd ${KERNEL_SRC}; patch -p1 < ../uname-version-timestamp.patch - cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff - #cd ${KERNEL_SRC}; patch -p1 <../bridge-forward-ipv6-neighbor-solicitation.patch - #cd ${KERNEL_SRC}; patch -p1 <../add-empty-ndo_poll_controller-to-veth.patch - cd ${KERNEL_SRC}; patch -p1 <../override_for_missing_acs_capabilities.patch - #cd ${KERNEL_SRC}; patch -p1 <../vhost-net-extend-device-allocation-to-vmalloc.patch - cd ${KERNEL_SRC}; patch -p1 < ../kvm-dynamic-halt-polling-disable-default.patch + cd ${KERNEL_SRC}; for patch in ../patches/kernel/*.patch; do patch --verbose -p1 < $${patch}; done sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/' touch $@ diff --git a/bridge-patch.diff b/bridge-patch.diff deleted file mode 100644 index 648042e..0000000 --- a/bridge-patch.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- linux-2.6-3.10.0/net/bridge/br_stp_if.c.orig 2013-11-26 22:20:20.000000000 +0100 -+++ linux-2.6-3.10.0/net/bridge/br_stp_if.c 2013-12-17 08:42:10.004428223 +0100 -@@ -228,10 +228,7 @@ - return false; - - list_for_each_entry(p, &br->port_list, list) { -- if (addr == br_mac_zero || -- memcmp(p->dev->dev_addr, addr, ETH_ALEN) < 0) -- addr = p->dev->dev_addr; -- -+ addr = p->dev->dev_addr; - } - - if (ether_addr_equal(br->bridge_id.addr, addr)) diff --git a/kvm-dynamic-halt-polling-disable-default.patch b/kvm-dynamic-halt-polling-disable-default.patch deleted file mode 100644 index b6928ee..0000000 --- a/kvm-dynamic-halt-polling-disable-default.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c ---- a/virt/kvm/kvm_main.c 2016-05-12 10:39:37.540387127 +0200 -+++ b/virt/kvm/kvm_main.c 2016-05-04 10:43:38.063996221 +0200 -@@ -75,7 +75,7 @@ static unsigned int halt_poll_ns = KVM_H - EXPORT_SYMBOL_GPL(halt_poll_ns); - - /* Default doubles per-vcpu halt_poll_ns. */ --unsigned int halt_poll_ns_grow = 2; -+unsigned int halt_poll_ns_grow = 0; - module_param(halt_poll_ns_grow, uint, S_IRUGO | S_IWUSR); - EXPORT_SYMBOL_GPL(halt_poll_ns_grow); - diff --git a/uname-version-timestamp.patch b/patches/kernel/0001-Make-mkcompile_h-accept-an-alternate-timestamp-strin.patch similarity index 65% rename from uname-version-timestamp.patch rename to patches/kernel/0001-Make-mkcompile_h-accept-an-alternate-timestamp-strin.patch index 5cd565c..23aa2a2 100644 --- a/uname-version-timestamp.patch +++ b/patches/kernel/0001-Make-mkcompile_h-accept-an-alternate-timestamp-strin.patch @@ -1,7 +1,10 @@ +From 3e7aff6b22287eb04b8b5c4966b886b0ac1e8b06 Mon Sep 17 00:00:00 2001 From: Ben Hutchings -Subject: Make mkcompile_h accept an alternate timestamp string Date: Tue, 12 May 2015 19:29:22 +0100 -Forwarded: not-needed +Subject: [PATCH 1/4] Make mkcompile_h accept an alternate timestamp string +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit We want to include the Debian version in the utsname::version string instead of a full timestamp string. However, we still need to provide @@ -11,6 +14,13 @@ kernel image reproducible. Make mkcompile_h use $KBUILD_BUILD_VERSION_TIMESTAMP in preference to $KBUILD_BUILD_TIMESTAMP. +Signed-off-by: Fabian Grünbichler +--- + scripts/mkcompile_h | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h +index fd8fdb91581d..1e35ac9fc810 100755 --- a/scripts/mkcompile_h +++ b/scripts/mkcompile_h @@ -37,10 +37,14 @@ else @@ -31,3 +41,6 @@ $KBUILD_BUILD_TIMESTAMP. fi if test -z "$KBUILD_BUILD_USER"; then LINUX_COMPILE_BY=$(whoami | sed 's/\\/\\\\/') +-- +2.11.0 + diff --git a/patches/kernel/0002-bridge-keep-MAC-of-first-assigned-port.patch b/patches/kernel/0002-bridge-keep-MAC-of-first-assigned-port.patch new file mode 100644 index 0000000..85b6f01 --- /dev/null +++ b/patches/kernel/0002-bridge-keep-MAC-of-first-assigned-port.patch @@ -0,0 +1,38 @@ +From 400ed0a6a0992f685b547e12f0fd5d35176e1275 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= +Date: Thu, 14 Sep 2017 11:02:18 +0200 +Subject: [PATCH 2/4] bridge: keep MAC of first assigned port +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +original commit message: + +Default bridge changes MAC dynamically using smallest MAC of all +connected ports (for no real reason). To avoid problems with ARP +we simply use the MAC of the first connected port. + +Signed-off-by: Fabian Grünbichler +--- + net/bridge/br_stp_if.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c +index 89110319ef0f..5e73fff65f47 100644 +--- a/net/bridge/br_stp_if.c ++++ b/net/bridge/br_stp_if.c +@@ -259,10 +259,7 @@ bool br_stp_recalculate_bridge_id(struct net_bridge *br) + return false; + + list_for_each_entry(p, &br->port_list, list) { +- if (addr == br_mac_zero || +- memcmp(p->dev->dev_addr, addr, ETH_ALEN) < 0) +- addr = p->dev->dev_addr; +- ++ addr = p->dev->dev_addr; + } + + if (ether_addr_equal(br->bridge_id.addr, addr)) +-- +2.11.0 + diff --git a/override_for_missing_acs_capabilities.patch b/patches/kernel/0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch similarity index 92% rename from override_for_missing_acs_capabilities.patch rename to patches/kernel/0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch index 1d79568..365d137 100644 --- a/override_for_missing_acs_capabilities.patch +++ b/patches/kernel/0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch @@ -1,13 +1,16 @@ -From 14fa9884ba1082e0280e8d477e22df917326fca5 Mon Sep 17 00:00:00 2001 +From e39d70502f7a981f821243160501303b7ee26d52 Mon Sep 17 00:00:00 2001 From: Mark Weiman Date: Sat, 29 Jul 2017 09:15:32 -0400 -Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.12+) +Subject: [PATCH 3/4] pci: Enable overrides for missing ACS capabilities + (4.12+) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit This an updated version of Alex Williamson's patch from: https://lkml.org/lkml/2013/5/30/513 Original commit message follows: ---- PCIe ACS (Access Control Services) is the PCIe 2.0+ feature that allows us to control whether transactions are allowed to be redirected in various subnodes of a PCIe topology. For instance, if two @@ -44,16 +47,18 @@ Note to hardware vendors, we have facilities to permanently quirk specific devices which enforce isolation but not provide an ACS capability. Please contact me to have your devices added and save your customers the hassle of this boot option. + +Signed-off-by: Fabian Grünbichler --- Documentation/admin-guide/kernel-parameters.txt | 9 +++ drivers/pci/quirks.c | 102 ++++++++++++++++++++++++ 2 files changed, 111 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 7737ab5d04b2..e7353191fa5c 100644 +index f8ce2089146c..d4ace16bd59a 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -2866,6 +2866,15 @@ +@@ -2918,6 +2918,15 @@ nomsi [MSI] If the PCI_MSI kernel config parameter is enabled, this kernel boot option can be used to disable the use of MSI interrupts system-wide. @@ -70,10 +75,10 @@ index 7737ab5d04b2..e7353191fa5c 100644 Safety option to keep boot IRQs enabled. This should never be necessary. diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 085fb787aa9e..73a2b4cb61a0 100644 +index b7832fd4dbf4..f128ca4aea2b 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -3654,6 +3654,107 @@ static int __init pci_apply_final_quirks(void) +@@ -3687,6 +3687,107 @@ static int __init pci_apply_final_quirks(void) fs_initcall_sync(pci_apply_final_quirks); @@ -181,7 +186,7 @@ index 085fb787aa9e..73a2b4cb61a0 100644 /* * Following are device-specific reset methods which can be used to * reset a single function if other methods (e.g. FLR, PM D0->D3) are -@@ -4368,6 +4469,7 @@ static const struct pci_dev_acs_enabled { +@@ -4490,6 +4591,7 @@ static const struct pci_dev_acs_enabled { { 0x10df, 0x720, pci_quirk_mf_endpoint_acs }, /* Emulex Skyhawk-R */ /* Cavium ThunderX */ { PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs }, @@ -190,5 +195,5 @@ index 085fb787aa9e..73a2b4cb61a0 100644 }; -- -2.13.3 +2.11.0 diff --git a/patches/kernel/0004-kvm-disable-default-dynamic-halt-polling-growth.patch b/patches/kernel/0004-kvm-disable-default-dynamic-halt-polling-growth.patch new file mode 100644 index 0000000..14b4779 --- /dev/null +++ b/patches/kernel/0004-kvm-disable-default-dynamic-halt-polling-growth.patch @@ -0,0 +1,29 @@ +From c60cb6add5a95c3e7bfb7b0d92c01ce66bfec8d6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= +Date: Thu, 14 Sep 2017 11:09:58 +0200 +Subject: [PATCH 4/4] kvm: disable default dynamic halt polling growth +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Fabian Grünbichler +--- + virt/kvm/kvm_main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c +index 4d81f6ded88e..bfa9c4d34102 100644 +--- a/virt/kvm/kvm_main.c ++++ b/virt/kvm/kvm_main.c +@@ -77,7 +77,7 @@ module_param(halt_poll_ns, uint, 0644); + EXPORT_SYMBOL_GPL(halt_poll_ns); + + /* Default doubles per-vcpu halt_poll_ns. */ +-unsigned int halt_poll_ns_grow = 2; ++unsigned int halt_poll_ns_grow = 0; + module_param(halt_poll_ns_grow, uint, 0644); + EXPORT_SYMBOL_GPL(halt_poll_ns_grow); + +-- +2.11.0 +