From a011ddd4b5885228de2005537824815a467d26ca Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Nov 03 2014 15:15:39 +0000 Subject: Linux v3.18-rc3 - Disable debugging options. --- diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch index 7cc669c..852cd77 100644 --- a/Add-option-to-automatically-enforce-module-signature.patch +++ b/Add-option-to-automatically-enforce-module-signature.patch @@ -33,10 +33,10 @@ index 199f453cb4de..ec38acf00b40 100644 290/040 ALL edd_mbr_sig_buffer EDD MBR signatures 2D0/A00 ALL e820_map E820 memory map table diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index f2327e88e07c..4ba047a782fd 100644 +index ded8a6774ac9..750d32268fb1 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1607,6 +1607,16 @@ config EFI_MIXED +@@ -1611,6 +1611,16 @@ config EFI_MIXED If unsure, say N. @@ -129,10 +129,10 @@ index 225b0988043a..90dbfb73e11f 100644 * The sentinel is set to a nonzero value (0xff) in header.S. * diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 235cfd39e0d7..13c0835f907a 100644 +index ab08aa2276fb..f4eb99432db1 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -1151,6 +1151,12 @@ void __init setup_arch(char **cmdline_p) +@@ -1150,6 +1150,12 @@ void __init setup_arch(char **cmdline_p) io_delay_init(); diff --git a/Add-sysrq-option-to-disable-secure-boot-mode.patch b/Add-sysrq-option-to-disable-secure-boot-mode.patch index 0babad8..4b1cff8 100644 --- a/Add-sysrq-option-to-disable-secure-boot-mode.patch +++ b/Add-sysrq-option-to-disable-secure-boot-mode.patch @@ -15,7 +15,7 @@ Upstream-status: Fedora mustard 7 files changed, 65 insertions(+), 10 deletions(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index fbae2bf99a47..f3960a8c2627 100644 +index bc31a43b31a0..5f80d12a55cb 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -70,6 +70,11 @@ diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch index 0f02211..34f1563 100644 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ b/KEYS-Add-a-system-blacklist-keyring.patch @@ -29,10 +29,10 @@ index 72665eb80692..2c7b80d31366 100644 + #endif /* _KEYS_SYSTEM_KEYRING_H */ diff --git a/init/Kconfig b/init/Kconfig -index 3ee28ae02cc8..0bba9555e5ef 100644 +index 2081a4d3d917..d99a519bb9ae 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1733,6 +1733,15 @@ config SYSTEM_TRUSTED_KEYRING +@@ -1747,6 +1747,15 @@ config SYSTEM_TRUSTED_KEYRING Keys in this keyring are used by module signature checking. diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index b21a700..d030870 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -42,10 +42,10 @@ index b1d686e9175e..4d41f4532127 100644 efi_guid_t guid; u64 table; diff --git a/init/Kconfig b/init/Kconfig -index 0bba9555e5ef..0e1e8a14175a 100644 +index d99a519bb9ae..9ef459bb44b2 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1887,6 +1887,15 @@ config MODULE_SIG_ALL +@@ -1901,6 +1901,15 @@ config MODULE_SIG_ALL comment "Do not forget to sign required modules with scripts/sign-file" depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL @@ -62,7 +62,7 @@ index 0bba9555e5ef..0e1e8a14175a 100644 prompt "Which hash algorithm should modules be signed with?" depends on MODULE_SIG diff --git a/kernel/Makefile b/kernel/Makefile -index dc5c77544fd6..95bdf3398880 100644 +index 17ea6d4a9a24..381fe2d56ed1 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -45,6 +45,7 @@ obj-$(CONFIG_UID16) += uid16.o diff --git a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch index 01af607..1b8a003 100644 --- a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch +++ b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch @@ -16,7 +16,7 @@ Signed-off-by: Matthew Garrett 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c -index 92b6d9ab00e4..f77f893114a4 100644 +index 2c6643fdc0cf..56333630ab77 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c @@ -30,6 +30,7 @@ diff --git a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index d150cc8..a722683 100644 --- a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -15,10 +15,10 @@ Signed-off-by: Josh Boyer 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index 74339c57b914..3251c36e0e5d 100644 +index 4c81a860cc2b..6e53352750b4 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -3705,7 +3705,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. +@@ -3719,7 +3719,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. the allocated input device; If set to 0, video driver will only send out the event without touching backlight brightness level. diff --git a/config-generic b/config-generic index 487fd7c..acd9cc3 100644 --- a/config-generic +++ b/config-generic @@ -1699,13 +1699,13 @@ CONFIG_B43_PCMCIA=y CONFIG_B43_SDIO=y CONFIG_B43_BCMA=y CONFIG_B43_BCMA_PIO=y -CONFIG_B43_DEBUG=y +# CONFIG_B43_DEBUG is not set CONFIG_B43_PHY_LP=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_HT=y CONFIG_B43_PHY_G=y CONFIG_B43LEGACY=m -CONFIG_B43LEGACY_DEBUG=y +# CONFIG_B43LEGACY_DEBUG is not set CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y @@ -4694,7 +4694,7 @@ CONFIG_PM_DEBUG=y # CONFIG_DPM_WATCHDOG is not set # revisit this in debug CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y -CONFIG_PM_TEST_SUSPEND=y +# CONFIG_PM_TEST_SUSPEND is not set CONFIG_PM_RUNTIME=y # CONFIG_PM_OPP is not set # CONFIG_PM_AUTOSLEEP is not set diff --git a/config-nodebug b/config-nodebug index 143433b..ed69133 100644 --- a/config-nodebug +++ b/config-nodebug @@ -2,115 +2,115 @@ CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_DEBUG=y CONFIG_SND_PCM_XRUN_DEBUG=y -CONFIG_DEBUG_ATOMIC_SLEEP=y - -CONFIG_DEBUG_MUTEXES=y -CONFIG_DEBUG_RT_MUTEXES=y -CONFIG_DEBUG_LOCK_ALLOC=y -CONFIG_LOCK_TORTURE_TEST=m -CONFIG_PROVE_LOCKING=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_PROVE_RCU=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set + +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_PROVE_RCU is not set # CONFIG_PROVE_RCU_REPEATEDLY is not set -CONFIG_DEBUG_PER_CPU_MAPS=y +# CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_CPUMASK_OFFSTACK=y -CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set -CONFIG_FAULT_INJECTION=y -CONFIG_FAILSLAB=y -CONFIG_FAIL_PAGE_ALLOC=y -CONFIG_FAIL_MAKE_REQUEST=y -CONFIG_FAULT_INJECTION_DEBUG_FS=y -CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y -CONFIG_FAIL_IO_TIMEOUT=y -CONFIG_FAIL_MMC_REQUEST=y +# CONFIG_FAULT_INJECTION is not set +# CONFIG_FAILSLAB is not set +# CONFIG_FAIL_PAGE_ALLOC is not set +# CONFIG_FAIL_MAKE_REQUEST is not set +# CONFIG_FAULT_INJECTION_DEBUG_FS is not set +# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set +# CONFIG_FAIL_IO_TIMEOUT is not set +# CONFIG_FAIL_MMC_REQUEST is not set -CONFIG_LOCK_STAT=y +# CONFIG_LOCK_STAT is not set -CONFIG_DEBUG_STACK_USAGE=y +# CONFIG_DEBUG_STACK_USAGE is not set -CONFIG_ACPI_DEBUG=y +# CONFIG_ACPI_DEBUG is not set -CONFIG_DEBUG_SG=y -CONFIG_DEBUG_PI_LIST=y +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_PI_LIST is not set # CONFIG_DEBUG_PAGEALLOC is not set -CONFIG_DEBUG_OBJECTS=y +# CONFIG_DEBUG_OBJECTS is not set # CONFIG_DEBUG_OBJECTS_SELFTEST is not set -CONFIG_DEBUG_OBJECTS_FREE=y -CONFIG_DEBUG_OBJECTS_TIMERS=y -CONFIG_DEBUG_OBJECTS_RCU_HEAD=y +# CONFIG_DEBUG_OBJECTS_FREE is not set +# CONFIG_DEBUG_OBJECTS_TIMERS is not set +# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 -CONFIG_X86_PTDUMP=y -CONFIG_EFI_PGT_DUMP=y +# CONFIG_X86_PTDUMP is not set +# CONFIG_EFI_PGT_DUMP is not set -CONFIG_CAN_DEBUG_DEVICES=y +# CONFIG_CAN_DEBUG_DEVICES is not set -CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_DEBUG_NOTIFIERS=y +# CONFIG_DEBUG_NOTIFIERS is not set -CONFIG_DMA_API_DEBUG=y +# CONFIG_DMA_API_DEBUG is not set -CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE is not set -CONFIG_DEBUG_CREDENTIALS=y +# CONFIG_DEBUG_CREDENTIALS is not set # off in both production debug and nodebug builds, # on in rawhide nodebug builds -CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -CONFIG_EXT4_DEBUG=y +# CONFIG_EXT4_DEBUG is not set # CONFIG_XFS_WARN is not set -CONFIG_DEBUG_PERF_USE_VMALLOC=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set -CONFIG_JBD2_DEBUG=y +# CONFIG_JBD2_DEBUG is not set -CONFIG_NFSD_FAULT_INJECTION=y +# CONFIG_NFSD_FAULT_INJECTION is not set -CONFIG_DEBUG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set -CONFIG_DRBD_FAULT_INJECTION=y +# CONFIG_DRBD_FAULT_INJECTION is not set -CONFIG_ATH_DEBUG=y -CONFIG_CARL9170_DEBUGFS=y -CONFIG_IWLWIFI_DEVICE_TRACING=y +# CONFIG_ATH_DEBUG is not set +# CONFIG_CARL9170_DEBUGFS is not set +# CONFIG_IWLWIFI_DEVICE_TRACING is not set # CONFIG_RTLWIFI_DEBUG is not set -CONFIG_DEBUG_OBJECTS_WORK=y +# CONFIG_DEBUG_OBJECTS_WORK is not set -CONFIG_DMADEVICES_DEBUG=y -CONFIG_DMADEVICES_VDEBUG=y +# CONFIG_DMADEVICES_DEBUG is not set +# CONFIG_DMADEVICES_VDEBUG is not set CONFIG_PM_ADVANCED_DEBUG=y -CONFIG_CEPH_LIB_PRETTYDEBUG=y -CONFIG_QUOTA_DEBUG=y +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_QUOTA_DEBUG is not set CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 -CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y +# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set # CONFIG_PERCPU_TEST is not set -CONFIG_TEST_LIST_SORT=y +# CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_STRING_HELPERS is not set -CONFIG_DETECT_HUNG_TASK=y +# CONFIG_DETECT_HUNG_TASK is not set CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set -CONFIG_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y @@ -121,7 +121,7 @@ CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y # CONFIG_SPI_DEBUG is not set -CONFIG_X86_DEBUG_STATIC_CPU_HAS=y +# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set # CONFIG_SCHEDSTATS is not set # CONFIG_LATENCYTOP is not set diff --git a/config-x86-generic b/config-x86-generic index 2a12307..59217f1 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -337,7 +337,7 @@ CONFIG_SP5100_TCO=m # CONFIG_MEMTEST is not set # CONFIG_DEBUG_TLBFLUSH is not set -CONFIG_MAXSMP=y +# CONFIG_MAXSMP is not set CONFIG_HP_ILO=m diff --git a/criu-no-expert.patch b/criu-no-expert.patch index 3eadcc7..3ba0354 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -9,7 +9,7 @@ Upstream-status: Fedora mustard 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig -index 0e1e8a14175a..71cd7226a78f 100644 +index 9ef459bb44b2..cc096e258a4a 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1149,7 +1149,7 @@ config DEBUG_BLK_CGROUP diff --git a/disable-i8042-check-on-apple-mac.patch b/disable-i8042-check-on-apple-mac.patch index aa7456d..73d8037 100644 --- a/disable-i8042-check-on-apple-mac.patch +++ b/disable-i8042-check-on-apple-mac.patch @@ -17,7 +17,7 @@ Signed-off-by: Bastien Nocera 1 file changed, 22 insertions(+) diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c -index 1160aa081d21..d75d0dcda6fb 100644 +index 9bb95eab6926..4b5015f27f9e 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c @@ -1471,6 +1471,22 @@ static struct platform_driver i8042_driver = { diff --git a/drm-i915-hush-check-crtc-state.patch b/drm-i915-hush-check-crtc-state.patch index 9b064fc..be7d43c 100644 --- a/drm-i915-hush-check-crtc-state.patch +++ b/drm-i915-hush-check-crtc-state.patch @@ -14,7 +14,7 @@ Upstream-status: http://lists.freedesktop.org/archives/intel-gfx/2013-November/0 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index c9e220963a78..9a705e52ab26 100644 +index f0a1a56406eb..e5fd8b9148a9 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -10963,7 +10963,7 @@ check_crtc_state(struct drm_device *dev) diff --git a/efi-Add-EFI_SECURE_BOOT-bit.patch b/efi-Add-EFI_SECURE_BOOT-bit.patch index ca6aead..9d78030 100644 --- a/efi-Add-EFI_SECURE_BOOT-bit.patch +++ b/efi-Add-EFI_SECURE_BOOT-bit.patch @@ -12,10 +12,10 @@ Signed-off-by: Josh Boyer 2 files changed, 3 insertions(+) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 13c0835f907a..fbae2bf99a47 100644 +index f4eb99432db1..bc31a43b31a0 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -1153,7 +1153,9 @@ void __init setup_arch(char **cmdline_p) +@@ -1152,7 +1152,9 @@ void __init setup_arch(char **cmdline_p) #ifdef CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE if (boot_params.secure_boot) { diff --git a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch index 3e5166a..925c0e0 100644 --- a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch +++ b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch @@ -11,10 +11,10 @@ Signed-off-by: Josh Boyer 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 4ba047a782fd..749f58ba7e36 100644 +index 750d32268fb1..f560653b8c4f 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1608,7 +1608,8 @@ config EFI_MIXED +@@ -1612,7 +1612,8 @@ config EFI_MIXED If unsure, say N. config EFI_SECURE_BOOT_SIG_ENFORCE diff --git a/ext4-fix-race-between-write-and-fcntl-F_SETFL.patch b/ext4-fix-race-between-write-and-fcntl-F_SETFL.patch index a8a2f5d..2639423 100644 --- a/ext4-fix-race-between-write-and-fcntl-F_SETFL.patch +++ b/ext4-fix-race-between-write-and-fcntl-F_SETFL.patch @@ -61,7 +61,7 @@ Signed-off-by: Dmitry Monakhov 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/fs/ext4/file.c b/fs/ext4/file.c -index aca7b24a4432..8477eb259809 100644 +index 8131be8c0af3..dc7bd1b64c46 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -88,6 +88,100 @@ ext4_unaligned_aio(struct inode *inode, struct iov_iter *from, loff_t pos) diff --git a/hibernate-Disable-in-a-signed-modules-environment.patch b/hibernate-Disable-in-a-signed-modules-environment.patch index 53dd6de..6c89536 100644 --- a/hibernate-Disable-in-a-signed-modules-environment.patch +++ b/hibernate-Disable-in-a-signed-modules-environment.patch @@ -13,7 +13,7 @@ Signed-off-by: Josh Boyer 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c -index a9dfa79b6bab..14c7356ff53a 100644 +index 1f35a3478f3c..5e2472fc3dda 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c @@ -28,6 +28,7 @@ diff --git a/input-silence-i8042-noise.patch b/input-silence-i8042-noise.patch index 094c126..f971723 100644 --- a/input-silence-i8042-noise.patch +++ b/input-silence-i8042-noise.patch @@ -16,7 +16,7 @@ Upstream-status: Fedora mustard 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c -index 44973196d3fd..0179281a2517 100644 +index 9717d5f20139..a3101d2fd936 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@ -122,8 +122,6 @@ void device_pm_unlock(void) @@ -29,7 +29,7 @@ index 44973196d3fd..0179281a2517 100644 if (dev->parent && dev->parent->power.is_prepared) dev_warn(dev, "parent %s should not be sleeping\n", diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c -index 9a97c2b10926..1160aa081d21 100644 +index f5a98af3b325..9bb95eab6926 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c @@ -857,7 +857,6 @@ static int __init i8042_check_aux(void) diff --git a/kernel-arm64.patch b/kernel-arm64.patch index c2464c8..3e32005 100644 --- a/kernel-arm64.patch +++ b/kernel-arm64.patch @@ -1,26 +1,3 @@ -commit fb3aa1c1644a73bc36a47a6844c3ee6414787e9e -Author: Mark Salter -Date: Sun Oct 19 11:11:08 2014 -0400 - - clocksource: arm_arch_timer: fix system hang - - Arm allows for two possible architectural clock sources. One memory mapped - and the other coprocessor based. If both timers exist, then the driver waits - for both to be probed before registering a clocksource. - - Commit c387f07e6205 ("clocksource: arm_arch_timer: Discard unavailable timers - correctly") attempted to fix a hang occurring when one of the two possible - timers had a device node, but was disabled. In that case, the second probe - would never occur and the system would hang without a clocksource being - registered. - - Unfortunately, incorrect logic in that commit made things worse such that - a hang would occur unless both timers had a device node and were enabled. - This patch fixes the logic so that we don't wait to probe a second timer - unless it exists and is enabled. - - Signed-off-by: Mark Salter - commit 798bcf9c5057f0acd54154d09abf6fc4fc044e41 Author: Mark Salter Date: Tue Oct 14 13:51:54 2014 -0400 @@ -4706,25 +4683,6 @@ index 2133f9d..b73392b 100644 if (cntbase) arch_timer_rate = readl_relaxed(cntbase + CNTFRQ); else -@@ -660,13 +666,14 @@ static bool __init - arch_timer_probed(int type, const struct of_device_id *matches) - { - struct device_node *dn; -- bool probed = false; -+ bool probed = true; - - dn = of_find_matching_node(NULL, matches); -- if (dn && of_device_is_available(dn) && (arch_timers_present & type)) -- probed = true; -- of_node_put(dn); -- -+ if (dn) { -+ if (of_device_is_available(dn) && !(arch_timers_present & type)) -+ probed = false; -+ of_node_put(dn); -+ } - return probed; - } @@ -687,20 +694,8 @@ static void __init arch_timer_common_init(void) arch_timer_arch_init(); @@ -7318,9 +7276,9 @@ index 5e94d00..a6131a9 100644 --- a/drivers/net/ethernet/smsc/smc91x.c +++ b/drivers/net/ethernet/smsc/smc91x.c @@ -81,6 +81,7 @@ static const char version[] = - #include #include #include + #include +#include #include diff --git a/kernel.spec b/kernel.spec index 4a73c12..3f79500 100644 --- a/kernel.spec +++ b/kernel.spec @@ -67,9 +67,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 2 +%define rcrev 3 # The git snapshot level -%define gitrev 3 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -124,7 +124,7 @@ Summary: The Linux kernel # Set debugbuildsenabled to 1 for production (build separate debug kernels) # and 0 for rawhide (all kernels are debug kernels). # See also 'make debug' and 'make release'. -%define debugbuildsenabled 0 +%define debugbuildsenabled 1 # Want to build a vanilla kernel build without any non-upstream patches? %define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} @@ -602,8 +602,6 @@ Patch22000: weird-root-dentry-name-debug.patch # Patch series from Hans for various backlight and platform driver fixes Patch26002: samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch -Patch26035: nf_reject_ipv4-module-license-unspecified-taints-ker.patch - #rhbz 1149509 Patch26036: USB-quirks-enable-device-qualifier-quirk-for-another.patch Patch26038: USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch @@ -618,12 +616,12 @@ Patch26058: asus-nb-wmi-Add-wapf4-quirk-for-the-X550VB.patch #rhbz 1111138 Patch26059: i8042-Add-notimeout-quirk-for-Fujitsu-Lifebook-A544-.patch -Patch26060: rcu-More-on-deadlock-between-CPU-hotplug-and-expedit.patch -Patch26061: rcu-Make-rcu_barrier-understand-about-missing-rcuo-k.patch - #rhbz 1157327 Patch26062: quirk-for-Lenovo-Yoga-3-no-rfkill-switch.patch +#rhbz 1158204 1157157 +Patch26063: x86-microcode-AMD-Fix-early-ucode-loading-on-32-bit.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1335,8 +1333,6 @@ ApplyPatch ath9k-rx-dma-stop-check.patch # Patch series from Hans for various backlight and platform driver fixes ApplyPatch samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch -ApplyPatch nf_reject_ipv4-module-license-unspecified-taints-ker.patch - #rhbz 1149509 ApplyPatch USB-quirks-enable-device-qualifier-quirk-for-another.patch ApplyPatch USB-quirks-device-qualifier-quirk-for-another-Elan-t.patch @@ -1351,12 +1347,12 @@ ApplyPatch asus-nb-wmi-Add-wapf4-quirk-for-the-X550VB.patch #rhbz 1111138 ApplyPatch i8042-Add-notimeout-quirk-for-Fujitsu-Lifebook-A544-.patch -ApplyPatch rcu-More-on-deadlock-between-CPU-hotplug-and-expedit.patch -ApplyPatch rcu-Make-rcu_barrier-understand-about-missing-rcuo-k.patch - #rhbz 1157327 ApplyPatch quirk-for-Lenovo-Yoga-3-no-rfkill-switch.patch +#rhbz 1158204 1157157 +ApplyPatch x86-microcode-AMD-Fix-early-ucode-loading-on-32-bit.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. @@ -2225,6 +2221,10 @@ fi # ||----w | # || || %changelog +* Mon Nov 03 2014 Josh Boyer - 3.18.0-0.rc3.git0.1 +- Linux v3.18-rc3 +- Disable debugging options. + * Thu Oct 30 2014 Josh Boyer - 3.18.0-0.rc2.git3.1 - Linux v3.18-rc2-106-ga7ca10f263d7 diff --git a/nf_reject_ipv4-module-license-unspecified-taints-ker.patch b/nf_reject_ipv4-module-license-unspecified-taints-ker.patch deleted file mode 100644 index f46a0c4..0000000 --- a/nf_reject_ipv4-module-license-unspecified-taints-ker.patch +++ /dev/null @@ -1,84 +0,0 @@ -From: Pablo Neira -Date: Fri, 10 Oct 2014 11:56:16 +0200 -Subject: [PATCH] nf_reject_ipv4: module license 'unspecified' taints kernel - -On Fri, Oct 10, 2014 at 05:19:04PM +0800, Dave Young wrote: -> Hi, -> -> With today's linus tree, I got below kmsg: -> [ 23.545204] nf_reject_ipv4: module license 'unspecified' taints kernel. -> -> It could be caused by below commit: -> -> commit c8d7b98bec43faaa6583c3135030be5eb4693acb -> Author: Pablo Neira Ayuso -> Date: Fri Sep 26 14:35:15 2014 +0200 -> -> netfilter: move nf_send_resetX() code to nf_reject_ipvX modules -> -> Move nf_send_reset() and nf_send_reset6() to nf_reject_ipv4 and -> nf_reject_ipv6 respectively. This code is shared by x_tables and -> nf_tables. -> -> Signed-off-by: Pablo Neira Ayuso - -Patch attached, thanks for reporting. - -P.S: Please, Cc netfilter-devel@vger.kernel.org in future reports, so -we make sure things don't get lost. - ->From d4358bcf64ba7a64d4de4e1dc5533c4c8f88ea82 Mon Sep 17 00:00:00 2001 -From: Pablo Neira Ayuso -Date: Fri, 10 Oct 2014 11:25:20 +0200 -Subject: [PATCH] netfilter: missing module license in the nf_reject_ipvX - modules - -[ 23.545204] nf_reject_ipv4: module license 'unspecified' taints kernel. - -Reported-by: Dave Young -Signed-off-by: Pablo Neira Ayuso ---- - net/ipv4/netfilter/nf_reject_ipv4.c | 3 +++ - net/ipv6/netfilter/nf_reject_ipv6.c | 4 ++++ - 2 files changed, 7 insertions(+) - -diff --git a/net/ipv4/netfilter/nf_reject_ipv4.c b/net/ipv4/netfilter/nf_reject_ipv4.c -index b023b4eb1a96..92b303dbd5fc 100644 ---- a/net/ipv4/netfilter/nf_reject_ipv4.c -+++ b/net/ipv4/netfilter/nf_reject_ipv4.c -@@ -6,6 +6,7 @@ - * published by the Free Software Foundation. - */ - -+#include - #include - #include - #include -@@ -125,3 +126,5 @@ void nf_send_reset(struct sk_buff *oldskb, int hook) - kfree_skb(nskb); - } - EXPORT_SYMBOL_GPL(nf_send_reset); -+ -+MODULE_LICENSE("GPL"); -diff --git a/net/ipv6/netfilter/nf_reject_ipv6.c b/net/ipv6/netfilter/nf_reject_ipv6.c -index 5f5f0438d74d..20d9defc6c59 100644 ---- a/net/ipv6/netfilter/nf_reject_ipv6.c -+++ b/net/ipv6/netfilter/nf_reject_ipv6.c -@@ -5,6 +5,8 @@ - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ -+ -+#include - #include - #include - #include -@@ -161,3 +163,5 @@ void nf_send_reset6(struct net *net, struct sk_buff *oldskb, int hook) - ip6_local_out(nskb); - } - EXPORT_SYMBOL_GPL(nf_send_reset6); -+ -+MODULE_LICENSE("GPL"); --- -1.9.3 - diff --git a/rcu-Make-rcu_barrier-understand-about-missing-rcuo-k.patch b/rcu-Make-rcu_barrier-understand-about-missing-rcuo-k.patch deleted file mode 100644 index ca3592e..0000000 --- a/rcu-Make-rcu_barrier-understand-about-missing-rcuo-k.patch +++ /dev/null @@ -1,177 +0,0 @@ -From: "Paul E. McKenney" -Date: Mon, 27 Oct 2014 09:15:54 -0700 -Subject: [PATCH] rcu: Make rcu_barrier() understand about missing rcuo - kthreads - -Commit 35ce7f29a44a (rcu: Create rcuo kthreads only for onlined CPUs) -avoids creating rcuo kthreads for CPUs that never come online. This -fixes a bug in many instances of firmware: Instead of lying about their -age, these systems instead lie about the number of CPUs that they have. -Before commit 35ce7f29a44a, this could result in huge numbers of useless -rcuo kthreads being created. - -It appears that experience indicates that I should have told the -people suffering from this problem to fix their broken firmware, but -I instead produced what turned out to be a partial fix. The missing -piece supplied by this commit makes sure that rcu_barrier() knows not to -post callbacks for no-CBs CPUs that have not yet come online, because -otherwise rcu_barrier() will hang on systems having firmware that lies -about the number of CPUs. - -It is tempting to simply have rcu_barrier() refuse to post a callback on -any no-CBs CPU that does not have an rcuo kthread. This unfortunately -does not work because rcu_barrier() is required to wait for all pending -callbacks. It is therefore required to wait even for those callbacks -that cannot possibly be invoked. Even if doing so hangs the system. - -Given that posting a callback to a no-CBs CPU that does not yet have an -rcuo kthread can hang rcu_barrier(), It is tempting to report an error -in this case. Unfortunately, this will result in false positives at -boot time, when it is perfectly legal to post callbacks to the boot CPU -before the scheduler has started, in other words, before it is legal -to invoke rcu_barrier(). - -So this commit instead has rcu_barrier() avoid posting callbacks to -CPUs having neither rcuo kthread nor pending callbacks, and has it -complain bitterly if it finds CPUs having no rcuo kthread but some -pending callbacks. And when rcu_barrier() does find CPUs having no rcuo -kthread but pending callbacks, as noted earlier, it has no choice but -to hang indefinitely. - -Reported-by: Yanko Kaneti -Reported-by: Jay Vosburgh -Reported-by: Meelis Roos -Reported-by: Eric B Munson -Signed-off-by: Paul E. McKenney -Tested-by: Eric B Munson ---- - include/trace/events/rcu.h | 18 +++++++++--------- - kernel/rcu/tree.c | 15 ++++++++++----- - kernel/rcu/tree.h | 1 + - kernel/rcu/tree_plugin.h | 33 +++++++++++++++++++++++++++++++++ - 4 files changed, 53 insertions(+), 14 deletions(-) - -diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h -index 9b56f37148cf..e335e7d8c6c2 100644 ---- a/include/trace/events/rcu.h -+++ b/include/trace/events/rcu.h -@@ -660,18 +660,18 @@ TRACE_EVENT(rcu_torture_read, - /* - * Tracepoint for _rcu_barrier() execution. The string "s" describes - * the _rcu_barrier phase: -- * "Begin": rcu_barrier_callback() started. -- * "Check": rcu_barrier_callback() checking for piggybacking. -- * "EarlyExit": rcu_barrier_callback() piggybacked, thus early exit. -- * "Inc1": rcu_barrier_callback() piggyback check counter incremented. -- * "Offline": rcu_barrier_callback() found offline CPU -- * "OnlineNoCB": rcu_barrier_callback() found online no-CBs CPU. -- * "OnlineQ": rcu_barrier_callback() found online CPU with callbacks. -- * "OnlineNQ": rcu_barrier_callback() found online CPU, no callbacks. -+ * "Begin": _rcu_barrier() started. -+ * "Check": _rcu_barrier() checking for piggybacking. -+ * "EarlyExit": _rcu_barrier() piggybacked, thus early exit. -+ * "Inc1": _rcu_barrier() piggyback check counter incremented. -+ * "OfflineNoCB": _rcu_barrier() found callback on never-online CPU -+ * "OnlineNoCB": _rcu_barrier() found online no-CBs CPU. -+ * "OnlineQ": _rcu_barrier() found online CPU with callbacks. -+ * "OnlineNQ": _rcu_barrier() found online CPU, no callbacks. - * "IRQ": An rcu_barrier_callback() callback posted on remote CPU. - * "CB": An rcu_barrier_callback() invoked a callback, not the last. - * "LastCB": An rcu_barrier_callback() invoked the last callback. -- * "Inc2": rcu_barrier_callback() piggyback check counter incremented. -+ * "Inc2": _rcu_barrier() piggyback check counter incremented. - * The "cpu" argument is the CPU or -1 if meaningless, the "cnt" argument - * is the count of remaining callbacks, and "done" is the piggybacking count. - */ -diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c -index 133e47223095..9815447d22e0 100644 ---- a/kernel/rcu/tree.c -+++ b/kernel/rcu/tree.c -@@ -3299,11 +3299,16 @@ static void _rcu_barrier(struct rcu_state *rsp) - continue; - rdp = per_cpu_ptr(rsp->rda, cpu); - if (rcu_is_nocb_cpu(cpu)) { -- _rcu_barrier_trace(rsp, "OnlineNoCB", cpu, -- rsp->n_barrier_done); -- atomic_inc(&rsp->barrier_cpu_count); -- __call_rcu(&rdp->barrier_head, rcu_barrier_callback, -- rsp, cpu, 0); -+ if (!rcu_nocb_cpu_needs_barrier(rsp, cpu)) { -+ _rcu_barrier_trace(rsp, "OfflineNoCB", cpu, -+ rsp->n_barrier_done); -+ } else { -+ _rcu_barrier_trace(rsp, "OnlineNoCB", cpu, -+ rsp->n_barrier_done); -+ atomic_inc(&rsp->barrier_cpu_count); -+ __call_rcu(&rdp->barrier_head, -+ rcu_barrier_callback, rsp, cpu, 0); -+ } - } else if (ACCESS_ONCE(rdp->qlen)) { - _rcu_barrier_trace(rsp, "OnlineQ", cpu, - rsp->n_barrier_done); -diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h -index d03764652d91..bbdc45d8d74f 100644 ---- a/kernel/rcu/tree.h -+++ b/kernel/rcu/tree.h -@@ -587,6 +587,7 @@ static void print_cpu_stall_info(struct rcu_state *rsp, int cpu); - static void print_cpu_stall_info_end(void); - static void zero_cpu_stall_ticks(struct rcu_data *rdp); - static void increment_cpu_stall_ticks(void); -+static bool rcu_nocb_cpu_needs_barrier(struct rcu_state *rsp, int cpu); - static void rcu_nocb_gp_set(struct rcu_node *rnp, int nrq); - static void rcu_nocb_gp_cleanup(struct rcu_state *rsp, struct rcu_node *rnp); - static void rcu_init_one_nocb(struct rcu_node *rnp); -diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h -index 387dd4599344..c1d7f27bd38f 100644 ---- a/kernel/rcu/tree_plugin.h -+++ b/kernel/rcu/tree_plugin.h -@@ -2050,6 +2050,33 @@ static void wake_nocb_leader(struct rcu_data *rdp, bool force) - } - - /* -+ * Does the specified CPU need an RCU callback for the specified flavor -+ * of rcu_barrier()? -+ */ -+static bool rcu_nocb_cpu_needs_barrier(struct rcu_state *rsp, int cpu) -+{ -+ struct rcu_data *rdp = per_cpu_ptr(rsp->rda, cpu); -+ struct rcu_head *rhp; -+ -+ /* No-CBs CPUs might have callbacks on any of three lists. */ -+ rhp = ACCESS_ONCE(rdp->nocb_head); -+ if (!rhp) -+ rhp = ACCESS_ONCE(rdp->nocb_gp_head); -+ if (!rhp) -+ rhp = ACCESS_ONCE(rdp->nocb_follower_head); -+ -+ /* Having no rcuo kthread but CBs after scheduler starts is bad! */ -+ if (!ACCESS_ONCE(rdp->nocb_kthread) && rhp) { -+ /* RCU callback enqueued before CPU first came online??? */ -+ pr_err("RCU: Never-onlined no-CBs CPU %d has CB %p\n", -+ cpu, rhp->func); -+ WARN_ON_ONCE(1); -+ } -+ -+ return !!rhp; -+} -+ -+/* - * Enqueue the specified string of rcu_head structures onto the specified - * CPU's no-CBs lists. The CPU is specified by rdp, the head of the - * string by rhp, and the tail of the string by rhtp. The non-lazy/lazy -@@ -2642,6 +2669,12 @@ static bool init_nocb_callback_list(struct rcu_data *rdp) - - #else /* #ifdef CONFIG_RCU_NOCB_CPU */ - -+static bool rcu_nocb_cpu_needs_barrier(struct rcu_state *rsp, int cpu) -+{ -+ WARN_ON_ONCE(1); /* Should be dead code. */ -+ return false; -+} -+ - static void rcu_nocb_gp_cleanup(struct rcu_state *rsp, struct rcu_node *rnp) - { - } --- -1.9.3 - diff --git a/rcu-More-on-deadlock-between-CPU-hotplug-and-expedit.patch b/rcu-More-on-deadlock-between-CPU-hotplug-and-expedit.patch deleted file mode 100644 index 77770ff..0000000 --- a/rcu-More-on-deadlock-between-CPU-hotplug-and-expedit.patch +++ /dev/null @@ -1,67 +0,0 @@ -From: "Paul E. McKenney" -Date: Wed, 22 Oct 2014 10:00:05 -0700 -Subject: [PATCH] rcu: More on deadlock between CPU hotplug and expedited grace - periods - -Commit dd56af42bd82 (rcu: Eliminate deadlock between CPU hotplug and -expedited grace periods) was incomplete. Although it did eliminate -deadlocks involving synchronize_sched_expedited()'s acquisition of -cpu_hotplug.lock via get_online_cpus(), it did nothing about the similar -deadlock involving acquisition of this same lock via put_online_cpus(). -This deadlock became apparent with testing involving hibernation. - -This commit therefore changes put_online_cpus() acquisition of this lock -to be conditional, and increments a new cpu_hotplug.puts_pending field -in case of acquisition failure. Then cpu_hotplug_begin() checks for this -new field being non-zero, and applies any changes to cpu_hotplug.refcount. - -Reported-by: Jiri Kosina -Signed-off-by: Paul E. McKenney -Tested-by: Jiri Kosina -Tested-by: Borislav Petkov ---- - kernel/cpu.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/kernel/cpu.c b/kernel/cpu.c -index 356450f09c1f..90a3d017b90c 100644 ---- a/kernel/cpu.c -+++ b/kernel/cpu.c -@@ -64,6 +64,8 @@ static struct { - * an ongoing cpu hotplug operation. - */ - int refcount; -+ /* And allows lockless put_online_cpus(). */ -+ atomic_t puts_pending; - - #ifdef CONFIG_DEBUG_LOCK_ALLOC - struct lockdep_map dep_map; -@@ -113,7 +115,11 @@ void put_online_cpus(void) - { - if (cpu_hotplug.active_writer == current) - return; -- mutex_lock(&cpu_hotplug.lock); -+ if (!mutex_trylock(&cpu_hotplug.lock)) { -+ atomic_inc(&cpu_hotplug.puts_pending); -+ cpuhp_lock_release(); -+ return; -+ } - - if (WARN_ON(!cpu_hotplug.refcount)) - cpu_hotplug.refcount++; /* try to fix things up */ -@@ -155,6 +161,12 @@ void cpu_hotplug_begin(void) - cpuhp_lock_acquire(); - for (;;) { - mutex_lock(&cpu_hotplug.lock); -+ if (atomic_read(&cpu_hotplug.puts_pending)) { -+ int delta; -+ -+ delta = atomic_xchg(&cpu_hotplug.puts_pending, 0); -+ cpu_hotplug.refcount -= delta; -+ } - if (likely(!cpu_hotplug.refcount)) - break; - __set_current_state(TASK_UNINTERRUPTIBLE); --- -1.9.3 - diff --git a/silence-fbcon-logo.patch b/silence-fbcon-logo.patch index 2b907f9..20a5b6a 100644 --- a/silence-fbcon-logo.patch +++ b/silence-fbcon-logo.patch @@ -9,10 +9,10 @@ Upstream-status: Fedora mustard 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c -index 57b1d44acbfe..31048a85713d 100644 +index eb976ee3a02f..275f20a643f4 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c -@@ -638,13 +638,15 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info, +@@ -637,13 +637,15 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info, kfree(save); } @@ -35,7 +35,7 @@ index 57b1d44acbfe..31048a85713d 100644 } } #endif /* MODULE */ -@@ -3625,6 +3627,14 @@ static int __init fb_console_init(void) +@@ -3624,6 +3626,14 @@ static int __init fb_console_init(void) return 0; } diff --git a/sources b/sources index e1a1bae..3b77725 100644 --- a/sources +++ b/sources @@ -1,4 +1,3 @@ fb30d0f29214d75cddd2faa94f73d5cf linux-3.17.tar.xz 159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz -cdc96388a5c70f5f385925caab06db12 patch-3.18-rc2.xz -997764b2f1f4a94bb11c4f4f19a46c77 patch-3.18-rc2-git3.xz +84109345d207976c0a899b1d29bfeddd patch-3.18-rc3.xz diff --git a/x86-microcode-AMD-Fix-early-ucode-loading-on-32-bit.patch b/x86-microcode-AMD-Fix-early-ucode-loading-on-32-bit.patch new file mode 100644 index 0000000..93887f2 --- /dev/null +++ b/x86-microcode-AMD-Fix-early-ucode-loading-on-32-bit.patch @@ -0,0 +1,55 @@ +From: Borislav Petkov +Date: Sat, 1 Nov 2014 11:01:00 +0100 +Subject: [PATCH] x86, microcode, AMD: Fix early ucode loading on 32-bit + +Hi guys, + +please queue this for the next batch to Linus. + +Thanks. +--- + arch/x86/kernel/cpu/microcode/amd_early.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/arch/x86/kernel/cpu/microcode/amd_early.c b/arch/x86/kernel/cpu/microcode/amd_early.c +index 7aa1acc79789..8b75f7050129 100644 +--- a/arch/x86/kernel/cpu/microcode/amd_early.c ++++ b/arch/x86/kernel/cpu/microcode/amd_early.c +@@ -348,6 +348,7 @@ int __init save_microcode_in_initrd_amd(void) + { + unsigned long cont; + enum ucode_state ret; ++ u8 *cont_va; + u32 eax; + + if (!container) +@@ -355,13 +356,15 @@ int __init save_microcode_in_initrd_amd(void) + + #ifdef CONFIG_X86_32 + get_bsp_sig(); +- cont = (unsigned long)container; ++ cont = (unsigned long)container; ++ cont_va = __va(container); + #else + /* + * We need the physical address of the container for both bitness since + * boot_params.hdr.ramdisk_image is a physical address. + */ +- cont = __pa(container); ++ cont = __pa(container); ++ cont_va = container; + #endif + + /* +@@ -372,6 +375,8 @@ int __init save_microcode_in_initrd_amd(void) + if (relocated_ramdisk) + container = (u8 *)(__va(relocated_ramdisk) + + (cont - boot_params.hdr.ramdisk_image)); ++ else ++ container = cont_va; + + if (ucode_new_rev) + pr_info("microcode: updated early to new patch_level=0x%08x\n", +-- +1.9.3 +