Linux v4.5-3654-g5cd0911a9e0e
- Fix oops from tsc subsystem (rhbz 1318596) - crypto, security, docs, rproc, dmaengine, powersupply, hsi, vfio, driver-core, tty, char, usb, configfs, ext4, dlm, gfs2, pstore merges
This commit is contained in:
parent
47bb021b79
commit
1e6dda8d92
@ -36,10 +36,9 @@ diff --git a/crypto/asymmetric_keys/Makefile b/crypto/asymmetric_keys/Makefile
|
||||
index cd1406f9b14a..d9db380bbe53 100644
|
||||
--- a/crypto/asymmetric_keys/Makefile
|
||||
+++ b/crypto/asymmetric_keys/Makefile
|
||||
@@ -8,6 +8,7 @@ asymmetric_keys-y := asymmetric_type.o signature.o
|
||||
@@ -7,5 +7,6 @@ asymmetric_keys-y := asymmetric_type.o signature.o
|
||||
|
||||
obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
|
||||
obj-$(CONFIG_PUBLIC_KEY_ALGO_RSA) += rsa.o
|
||||
+obj-$(CONFIG_EFI_SIGNATURE_LIST_PARSER) += efi_parser.o
|
||||
|
||||
#
|
||||
|
@ -1195,19 +1195,6 @@ index 5ba2188..ca59458 100644
|
||||
};
|
||||
|
||||
static const struct factors_data sun5i_a13_ahb_data __initconst = {
|
||||
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
|
||||
index 07d4942..737200f 100644
|
||||
--- a/drivers/crypto/Kconfig
|
||||
+++ b/drivers/crypto/Kconfig
|
||||
@@ -487,7 +487,7 @@ config CRYPTO_DEV_IMGTEC_HASH
|
||||
|
||||
config CRYPTO_DEV_SUN4I_SS
|
||||
tristate "Support for Allwinner Security System cryptographic accelerator"
|
||||
- depends on ARCH_SUNXI
|
||||
+ depends on ARCH_SUNXI && !64BIT
|
||||
select CRYPTO_MD5
|
||||
select CRYPTO_SHA1
|
||||
select CRYPTO_AES
|
||||
--
|
||||
2.5.0
|
||||
|
||||
|
@ -131,6 +131,8 @@ CONFIG_REGULATOR_ACT8865=m
|
||||
CONFIG_ROCKCHIP_PM_DOMAINS=y
|
||||
CONFIG_CRYPTO_DEV_ROCKCHIP=m
|
||||
CONFIG_ROCKCHIP_EFUSE=m
|
||||
CONFIG_PHY_ROCKCHIP_EMMC=m
|
||||
CONFIG_PHY_ROCKCHIP_DP=m
|
||||
|
||||
# Tegra
|
||||
CONFIG_ARM_TEGRA_CPUFREQ=y
|
||||
|
@ -430,6 +430,8 @@ CONFIG_RTC_DRV_ARMADA38X=m
|
||||
# CONFIG_CACHE_FEROCEON_L2 is not set
|
||||
# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
|
||||
CONFIG_LEDS_NS2=m
|
||||
CONFIG_SERIAL_MVEBU_UART=y
|
||||
# CONFIG_SERIAL_MVEBU_CONSOLE is not set
|
||||
|
||||
# DRM panels
|
||||
CONFIG_DRM_PANEL=y
|
||||
|
@ -225,6 +225,9 @@ CONFIG_FW_LOADER=y
|
||||
# CONFIG_TEST_FIRMWARE is not set
|
||||
# CONFIG_FIRMWARE_IN_KERNEL is not set
|
||||
CONFIG_EXTRA_FIRMWARE=""
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
|
||||
|
||||
# Give this a try in rawhide for now
|
||||
# CONFIG_FW_LOADER_USER_HELPER is not set
|
||||
@ -2612,10 +2615,12 @@ CONFIG_SERIAL_8250_DW=y
|
||||
# CONFIG_SERIAL_8250_INGENIC is not set
|
||||
CONFIG_SERIAL_8250_RT288X=y
|
||||
CONFIG_SERIAL_8250_MID=y
|
||||
CONFIG_SERIAL_8250_MOXA=m
|
||||
CONFIG_CYCLADES=m
|
||||
# CONFIG_CYZ_INTR is not set
|
||||
# CONFIG_MOXA_INTELLIO is not set
|
||||
# CONFIG_MOXA_SMARTIO is not set
|
||||
# CONFIG_SERIAL_MVEBU_UART is not set
|
||||
# CONFIG_ISI is not set
|
||||
# CONFIG_RIO is not set
|
||||
CONFIG_SERIAL_JSM=m
|
||||
@ -5355,6 +5360,8 @@ CONFIG_ASYNC_TX_DMA=y
|
||||
# CONFIG_HSU_DMA_PCI is not set
|
||||
# CONFIG_XGENE_DMA is not set
|
||||
# CONFIG_INTEL_IDMA64 is not set
|
||||
# CONFIG_QCOM_HIDMA_MGMT is not set
|
||||
# CONFIG_QCOM_HIDMA is not set
|
||||
|
||||
CONFIG_UNUSED_SYMBOLS=y
|
||||
|
||||
@ -5809,6 +5816,8 @@ CONFIG_PSTORE_RAM=m
|
||||
|
||||
# CONFIG_SIGMA is not set
|
||||
|
||||
# CONFIG_GOLDFISH is not set
|
||||
|
||||
CONFIG_CHROME_PLATFORMS=y
|
||||
|
||||
CONFIG_BCMA=m
|
||||
@ -5869,6 +5878,7 @@ CONFIG_MODULE_SIG_SHA256=y
|
||||
# CONFIG_MODULE_SIG_FORCE is not set
|
||||
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
|
||||
CONFIG_SYSTEM_TRUSTED_KEYS=""
|
||||
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
|
||||
CONFIG_PKCS7_MESSAGE_PARSER=y
|
||||
# CONFIG_PKCS7_TEST_KEY is not set
|
||||
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
|
||||
|
@ -515,6 +515,7 @@ CONFIG_RCU_FANOUT_LEAF=16
|
||||
CONFIG_INTEL_MEI=m
|
||||
CONFIG_INTEL_MEI_ME=m
|
||||
CONFIG_INTEL_MEI_TXE=m
|
||||
CONFIG_INTEL_MEI_WDT=m
|
||||
|
||||
CONFIG_NFC_MEI_PHY=m
|
||||
CONFIG_NFC_PN544_MEI=m
|
||||
|
@ -63,6 +63,9 @@ CONFIG_INTEL_MIC_BUS=m
|
||||
CONFIG_INTEL_MIC_X100_DMA=m
|
||||
CONFIG_MIC_COSM=m
|
||||
|
||||
CONFIG_VOP_BUS=m
|
||||
CONFIG_VOP=m
|
||||
|
||||
# SHPC has half-arsed PCI probing, which makes it load on too many systems
|
||||
CONFIG_HOTPLUG_PCI_SHPC=m
|
||||
|
||||
|
2
gitrev
2
gitrev
@ -1 +1 @@
|
||||
09fd671ccb2475436bd5f597f751ca4a7d177aea
|
||||
5cd0911a9e0e408f28079a5e36a981217bf47520
|
||||
|
13
kernel.spec
13
kernel.spec
@ -42,7 +42,7 @@ Summary: The Linux kernel
|
||||
# For non-released -rc kernels, this will be appended after the rcX and
|
||||
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
||||
#
|
||||
%global baserelease 2
|
||||
%global baserelease 1
|
||||
%global fedora_build %{baserelease}
|
||||
|
||||
# base_sublevel is the kernel version we're starting with and patching
|
||||
@ -69,7 +69,7 @@ Summary: The Linux kernel
|
||||
# The rc snapshot level
|
||||
%define rcrev 0
|
||||
# The git snapshot level
|
||||
%define gitrev 7
|
||||
%define gitrev 8
|
||||
# Set rpm version accordingly
|
||||
%define rpmversion 4.%{upstream_sublevel}.0
|
||||
%endif
|
||||
@ -624,6 +624,9 @@ Patch666: ipv4-Dont-do-expensive-useless-work-during-inetdev-des.patch
|
||||
|
||||
Patch667: 0001-Temp-fix-for-intel_pstate-oopses-and-lockdep-report-.patch
|
||||
|
||||
#rhbz 1318596
|
||||
Patch668: x86-tsc-Prevent-NULL-pointer-deref-in-calibrate_dela.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
%endif
|
||||
@ -2145,6 +2148,12 @@ fi
|
||||
#
|
||||
#
|
||||
%changelog
|
||||
* Fri Mar 18 2016 Josh Boyer <jwboyer@fedoraproject.org> - 4.6.0-0.rc0.git8.1
|
||||
- Linux v4.5-3654-g5cd0911a9e0e
|
||||
- Fix oops from tsc subsystem (rhbz 1318596)
|
||||
- crypto, security, docs, rproc, dmaengine, powersupply, hsi, vfio, driver-core,
|
||||
tty, char, usb, configfs, ext4, dlm, gfs2, pstore merges
|
||||
|
||||
* Thu Mar 17 2016 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- Add temporary patch to fix intel_pstate oops and lockdep report on
|
||||
various atom based CPUs.
|
||||
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
||||
a60d48eee08ec0536d5efb17ca819aef linux-4.5.tar.xz
|
||||
6f557fe90b800b615c85c2ca04da6154 perf-man-4.5.tar.gz
|
||||
b212237ac2571063fcdf43317dfab7c6 patch-4.5-git7.xz
|
||||
2ec8a12d2908ee34366bc3314df03a04 patch-4.5-git8.xz
|
||||
|
47
x86-tsc-Prevent-NULL-pointer-deref-in-calibrate_dela.patch
Normal file
47
x86-tsc-Prevent-NULL-pointer-deref-in-calibrate_dela.patch
Normal file
@ -0,0 +1,47 @@
|
||||
From 6b1292e2e61669457398e3b55e46490e7efca5f0 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Fri, 18 Mar 2016 08:35:29 +0100
|
||||
Subject: [PATCH] x86/tsc: Prevent NULL pointer deref in
|
||||
calibrate_delay_is_known()
|
||||
|
||||
The topology_core_cpumask is used to find a neighbour cpu in
|
||||
calibrate_delay_is_known(). It might not be allocated at the first invocation
|
||||
of that function on the boot cpu, when CONFIG_CPUMASK_OFFSTACK is set.
|
||||
|
||||
The mask is allocated later in native_smp_prepare_cpus. As a consequence the
|
||||
underlying find_next_bit() call dereferences a NULL pointer.
|
||||
|
||||
Add a proper check to prevent this.
|
||||
|
||||
Reported-by: Richard W.M. Jones <rjones@redhat.com>
|
||||
Fixes: c25323c07345 "x86/tsc: Use topology functions"
|
||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Cc: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
---
|
||||
arch/x86/kernel/tsc.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
|
||||
index 56380440d862..99b5e0809ead 100644
|
||||
--- a/arch/x86/kernel/tsc.c
|
||||
+++ b/arch/x86/kernel/tsc.c
|
||||
@@ -1306,11 +1306,15 @@ void __init tsc_init(void)
|
||||
unsigned long calibrate_delay_is_known(void)
|
||||
{
|
||||
int sibling, cpu = smp_processor_id();
|
||||
+ struct cpumask *mask = topology_core_cpumask(cpu);
|
||||
|
||||
if (!tsc_disabled && !cpu_has(&cpu_data(cpu), X86_FEATURE_CONSTANT_TSC))
|
||||
return 0;
|
||||
|
||||
- sibling = cpumask_any_but(topology_core_cpumask(cpu), cpu);
|
||||
+ if (!mask)
|
||||
+ return 0;
|
||||
+
|
||||
+ sibling = cpumask_any_but(mask, cpu);
|
||||
if (sibling < nr_cpu_ids)
|
||||
return cpu_data(sibling).loops_per_jiffy;
|
||||
return 0;
|
||||
--
|
||||
2.5.0
|
||||
|
Loading…
Reference in New Issue
Block a user