kernel: Update to 4.15.3/4.14.19/4.9.81

Drop the hack for the microcode division by 0 on GCP as
a proper fix is in upstream as:
2760f452a718 ("x86/microcode: Do the family check first")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
Rolf Neugebauer 2018-02-13 17:22:23 +00:00
parent 957d0a100e
commit 43ba6de147
21 changed files with 24 additions and 104 deletions

View File

@ -204,11 +204,11 @@ endef
# Build Targets
# Debug targets only for latest stable and LTS stable
#
$(eval $(call kernel,4.15.2,4.15.x,$(EXTRA)))
$(eval $(call kernel,4.14.18,4.14.x,$(EXTRA)))
$(eval $(call kernel,4.14.18,4.14.x,-dbg))
$(eval $(call kernel,4.9.80,4.9.x,$(EXTRA)))
$(eval $(call kernel,4.9.80,4.9.x,-dbg))
$(eval $(call kernel,4.15.3,4.15.x,$(EXTRA)))
$(eval $(call kernel,4.14.19,4.14.x,$(EXTRA)))
$(eval $(call kernel,4.14.19,4.14.x,-dbg))
$(eval $(call kernel,4.9.81,4.9.x,$(EXTRA)))
$(eval $(call kernel,4.9.81,4.9.x,-dbg))
$(eval $(call kernel,4.4.115,4.4.x,$(EXTRA)))
# Target for kernel config

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 4.14.18 Kernel Configuration
# Linux/arm64 4.14.19 Kernel Configuration
#
CONFIG_ARM64=y
CONFIG_64BIT=y

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.14.18 Kernel Configuration
# Linux/x86 4.14.19 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 4.15.2 Kernel Configuration
# Linux/arm64 4.15.3 Kernel Configuration
#
CONFIG_ARM64=y
CONFIG_64BIT=y

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.15.2 Kernel Configuration
# Linux/x86 4.15.3 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 4.9.80 Kernel Configuration
# Linux/arm64 4.9.81 Kernel Configuration
#
CONFIG_ARM64=y
CONFIG_64BIT=y

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.9.80 Kernel Configuration
# Linux/x86 4.9.81 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y

View File

@ -1,4 +1,4 @@
From 68f097990b84f65ddf63e483f59f7a33810dbeda Mon Sep 17 00:00:00 2001
From 6bbdbaead3d12453aec28a37cb33bff2485a148a Mon Sep 17 00:00:00 2001
From: Cheng-mean Liu <soccerl@microsoft.com>
Date: Tue, 11 Jul 2017 16:58:26 -0700
Subject: [PATCH] NVDIMM: reducded ND_MIN_NAMESPACE_SIZE from 4MB to 4KB (page

View File

@ -1,4 +1,4 @@
From 9586bfc77ee58cc2e9ae399f18d32bc05e4b6ffc Mon Sep 17 00:00:00 2001
From 7edc1c0dc75b0446fc6b6df432d9dd4a0d8e9d47 Mon Sep 17 00:00:00 2001
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Thu, 2 Mar 2017 12:55:49 -0300
Subject: [PATCH 01/13] tools build: Add test for sched_getcpu()

View File

@ -1,4 +1,4 @@
From 310ac1363fe5f87ce56c63e7a7a7d46a84be8d3f Mon Sep 17 00:00:00 2001
From 2f47053913fa5b998866088095e0a1fb751ab99b Mon Sep 17 00:00:00 2001
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Thu, 13 Oct 2016 17:12:35 -0300
Subject: [PATCH 02/13] perf jit: Avoid returning garbage for a ret variable

View File

@ -1,4 +1,4 @@
From a39417812083d3474b98134d139e72d6d79bc492 Mon Sep 17 00:00:00 2001
From 2140adc1f00021ae260cf327a44709503fc7a3db Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Sat, 23 Jul 2016 01:35:51 +0000
Subject: [PATCH 03/13] hv_sock: introduce Hyper-V Sockets

View File

@ -1,4 +1,4 @@
From 1e0c2c94321b412be54c6b9a1cecf376c633780b Mon Sep 17 00:00:00 2001
From 7537735a26af23f71550b2b501b5e22edada9b8b Mon Sep 17 00:00:00 2001
From: Rolf Neugebauer <rolf.neugebauer@gmail.com>
Date: Mon, 23 May 2016 18:55:45 +0100
Subject: [PATCH 04/13] vmbus: Don't spam the logs with unknown GUIDs

View File

@ -1,4 +1,4 @@
From 5f0fcc042a7e5287406c958776f49ff6fac00b73 Mon Sep 17 00:00:00 2001
From 3daee26f7a4c6a4ff771719e46c2e3cf26f1fbe3 Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sun, 6 Nov 2016 13:14:07 -0800
Subject: [PATCH 05/13] Drivers: hv: utils: Fix the mapping between host

View File

@ -1,4 +1,4 @@
From b8b4ae687821bc86381482a77ea3140670cf132e Mon Sep 17 00:00:00 2001
From 805443d8e0f0d7131b8fd094218cce1dbd3ffe27 Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sun, 6 Nov 2016 13:14:10 -0800
Subject: [PATCH 06/13] Drivers: hv: vss: Improve log messages.

View File

@ -1,4 +1,4 @@
From 298283fe160246b6e36d7c38da55a89b016e4a0b Mon Sep 17 00:00:00 2001
From a83e50896887ffb69b493692e030efea95756def Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sun, 6 Nov 2016 13:14:11 -0800
Subject: [PATCH 07/13] Drivers: hv: vss: Operation timeouts should match host

View File

@ -1,4 +1,4 @@
From 517d5ea9d31325d2d77018f6814c8a1344e48a00 Mon Sep 17 00:00:00 2001
From 257104242b1ab8b555ca1a02b5df595bba192464 Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sat, 28 Jan 2017 12:37:17 -0700
Subject: [PATCH 08/13] Drivers: hv: vmbus: Use all supported IC versions to

View File

@ -1,4 +1,4 @@
From 440b0cedc63f8db6db248d4aad884250433eae1a Mon Sep 17 00:00:00 2001
From aced8de6941e375ff038e44e8be2d4374a60025a Mon Sep 17 00:00:00 2001
From: Alex Ng <alexng@messages.microsoft.com>
Date: Sat, 28 Jan 2017 12:37:18 -0700
Subject: [PATCH 09/13] Drivers: hv: Log the negotiated IC versions.

View File

@ -1,4 +1,4 @@
From c82e7bcadba81fb8c9f7edd330589d95dca1d7f5 Mon Sep 17 00:00:00 2001
From f87005a13376088b6eae2236f2e9353e5f5c5b6a Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Sun, 26 Mar 2017 16:42:20 +0800
Subject: [PATCH 10/13] vmbus: fix missed ring events on boot

View File

@ -1,4 +1,4 @@
From c9344407111f75bbe709dd00f67be7f941798d29 Mon Sep 17 00:00:00 2001
From 68e114a437c754cd2752e531ed904b94f4e45c88 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Wed, 29 Mar 2017 18:37:10 +0800
Subject: [PATCH 11/13] vmbus: remove "goto error_clean_msglist" in

View File

@ -1,4 +1,4 @@
From 2855f13f45de54ca67a3f438d8c62d75fa99c7ca Mon Sep 17 00:00:00 2001
From 47a067250e8a959e49a968879e5ed1488d717586 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Fri, 24 Mar 2017 20:53:18 +0800
Subject: [PATCH 12/13] vmbus: dynamically enqueue/dequeue the channel on

View File

@ -1,80 +0,0 @@
From 207fa9a93a6708071fecec462915570a52641c78 Mon Sep 17 00:00:00 2001
From: Rolf Neugebauer <rolf.neugebauer@gmail.com>
Date: Tue, 6 Feb 2018 13:02:57 +0000
Subject: [PATCH 13/13] x86/microcode/intel: Avoid division by zero
The backport of 7e702d17ed1 ("x86/microcode/intel: Extend BDW
late-loading further with LLC size check") introduced a division
by zero panic on some platforms, specifically on machine types
with one vCPU on Google Cloud (e.g., g1-small and n1-standard-1):
[ 1.591435] divide error: 0000 [#1] SMP
[ 1.591961] Modules linked in:
[ 1.592546] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.79-linuxkit #1
[ 1.593461] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
[ 1.595135] task: ffffa01b2b63c040 task.stack: ffffb24f40010000
[ 1.596683] RIP: 0010:[<ffffffffb7d88ce3>] [<ffffffffb7d88ce3>] init_intel_microcode+0x49/0x5a
[ 1.598018] RSP: 0000:ffffb24f40013e48 EFLAGS: 00010206
[ 1.599016] RAX: 0000000001400000 RBX: 00000000ffffffea RCX: 0000000000000000
[ 1.600093] RDX: 0000000000000000 RSI: ffffa01b2fffa9a8 RDI: ffffffffb7d8888b
[ 1.601222] RBP: 00000000ffffffff R08: ffffa01b2fffa9a1 R09: 000000000000005f
[ 1.602330] R10: 0000000000000067 R11: ffffa01b22164177 R12: 0000000000000000
[ 1.603291] R13: ffffffffb7d787b6 R14: 0000000000000000 R15: 0000000000000000
[ 1.604406] FS: 0000000000000000(0000) GS:ffffa01b2fc00000(0000) knlGS:0000000000000000
[ 1.606154] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1.607493] CR2: 0000000000000000 CR3: 000000002ac0a000 CR4: 0000000000040630
[ 1.609310] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 1.611122] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 1.613008] Stack:
[ 1.613445] ffffffffb7d888c1 0000000000000000 ffffffffb7d1ba40 0000000000000000
[ 1.615423] 0000000000000000 ffffffffb7d787b6 0000000000000000 0000000000000000
[ 1.617049] ffffffffb74fed89 00000000fffffff4 00000000ffffffff 4eae7bc133547c47
[ 1.617904] Call Trace:
[ 1.618198] [<ffffffffb7d888c1>] ? microcode_init+0x36/0x1de
[ 1.619264] [<ffffffffb7d787b6>] ? set_debug_rodata+0xc/0xc
[ 1.620143] [<ffffffffb74fed89>] ? driver_register+0xaf/0xb4
[ 1.621841] [<ffffffffb7d8888b>] ? save_microcode_in_initrd+0x3c/0x3c
[ 1.623424] [<ffffffffb70021b7>] ? do_one_initcall+0x98/0x130
[ 1.624659] [<ffffffffb7d787b6>] ? set_debug_rodata+0xc/0xc
[ 1.626303] [<ffffffffb7d79091>] ? kernel_init_freeable+0x166/0x1e7
[ 1.627674] [<ffffffffb77ce3d7>] ? rest_init+0x6e/0x6e
[ 1.628942] [<ffffffffb77ce3e1>] ? kernel_init+0xa/0xe6
[ 1.630243] [<ffffffffb77d8587>] ? ret_from_fork+0x57/0x70
[ 1.631592] Code: 16 0f b6 35 a0 ac fb ff 48 c7 c7 c4 ea 99 b7 e8 82 3e 41 ff 31 c0 c3 8b 05 3b ad fb ff 0f b7 0d 54 ad fb ff 31 d2 c1 e0 0a 48 98 <48> f7 f1 89 05 f4 6a 14 00 48 c7 c0 00 d8 c2 b7 c3 4c 8d 54 24
[ 1.638875] RIP [<ffffffffb7d88ce3>] init_intel_microcode+0x49/0x5a
[ 1.640382] RSP <ffffb24f40013e48>
[ 1.641320] ---[ end trace e88ef332e19594b9 ]---
[ 1.642418] Kernel panic - not syncing: Fatal exception
[ 1.644581] Kernel Offset: 0x36000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[ 1.647312] ---[ end Kernel panic - not syncing: Fatal exception
On these platforms x86_max_cores is 0:
[ 0.227977] ftrace: allocating 35563 entries in 139 pages
[ 0.273941] smpboot: x86_max_cores == zero !?!?
[ 0.274645] smpboot: Max logical packages: 1
Here, we check x86_max_core before calculating the llc_size.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
---
arch/x86/kernel/cpu/microcode/intel.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c
index f90f17610f62..a5dd9e5db4ce 100644
--- a/arch/x86/kernel/cpu/microcode/intel.c
+++ b/arch/x86/kernel/cpu/microcode/intel.c
@@ -1134,6 +1134,9 @@ static int __init calc_llc_size_per_core(struct cpuinfo_x86 *c)
{
u64 llc_size = c->x86_cache_size * 1024;
+ if (!c->x86_max_cores)
+ return 0;
+
do_div(llc_size, c->x86_max_cores);
return (int)llc_size;
--
2.16.0