Linux v4.1-11355-g6aaf0da8728c

- Add patch to fix KVM sleeping in atomic issue (rhbz 1237143)
- Fix errant with_perf disable that removed perf entirely (rhbz 1237266)
This commit is contained in:
Josh Boyer 2015-06-30 13:01:28 -04:00
parent 498236e304
commit 6a50f36878
21 changed files with 178 additions and 87 deletions

View File

@ -14,10 +14,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 20 insertions(+)
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 13a3a411c65f..1d54caed7ae8 100644
index de3e45088d4a..fac43c611614 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -594,6 +594,12 @@ void efi_native_runtime_setup(void);
@@ -595,6 +595,12 @@ void efi_native_runtime_setup(void);
#define DEVICE_TREE_GUID \
EFI_GUID( 0xb1b621d5, 0xf19c, 0x41a5, 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 )
@ -30,7 +30,7 @@ index 13a3a411c65f..1d54caed7ae8 100644
typedef struct {
efi_guid_t guid;
u64 table;
@@ -809,6 +815,20 @@ typedef struct _efi_file_io_interface {
@@ -810,6 +816,20 @@ typedef struct _efi_file_io_interface {
#define EFI_INVALID_TABLE_ADDR (~0UL)

View File

@ -159,10 +159,10 @@ index 000000000000..424896a0b169
+ return 0;
+}
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 1d54caed7ae8..1ed1fa0ea172 100644
index fac43c611614..414c3c3d988d 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -940,6 +940,10 @@ extern bool efi_poweroff_required(void);
@@ -941,6 +941,10 @@ extern bool efi_poweroff_required(void);
char * __init efi_md_typeattr_format(char *buf, size_t size,
const efi_memory_desc_t *md);

View File

@ -33,10 +33,10 @@ index 82fbdbc1e0b0..a811210ad486 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 4fcf0ade7e91..0ea05e5528c9 100644
index d05a42357ef0..6c218407e987 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1692,6 +1692,16 @@ config EFI_MIXED
@@ -1696,6 +1696,16 @@ config EFI_MIXED
If unsure, say N.
@ -54,7 +54,7 @@ index 4fcf0ade7e91..0ea05e5528c9 100644
def_bool y
prompt "Enable seccomp to safely compute untrusted bytecode"
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
index 48304b89b601..2ff19014117a 100644
index 2c82bd150d43..1ef8ea7f8ed9 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -12,6 +12,7 @@
@ -103,7 +103,7 @@ index 48304b89b601..2ff19014117a 100644
/*
* See if we have Graphics Output Protocol
*/
@@ -1408,6 +1440,10 @@ struct boot_params *efi_main(struct efi_config *c,
@@ -1412,6 +1444,10 @@ struct boot_params *efi_main(struct efi_config *c,
else
setup_boot_services32(efi_early);

View File

@ -25,10 +25,10 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
create mode 100644 kernel/modsign_uefi.c
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 1ed1fa0ea172..6d392cbf7243 100644
index 414c3c3d988d..d920a6be6c8b 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -600,6 +600,12 @@ void efi_native_runtime_setup(void);
@@ -601,6 +601,12 @@ void efi_native_runtime_setup(void);
#define EFI_CERT_X509_GUID \
EFI_GUID( 0xa5c059a1, 0x94e4, 0x4aa7, 0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72 )

View File

@ -7,7 +7,7 @@ Subject: [PATCH] arm64: acpi drop expert patch
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index 35da507411a0..e3518852eb39 100644
index f15db002be8e..33052030afbd 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -5,7 +5,7 @@

View File

@ -59,7 +59,6 @@ CONFIG_ARM_SMMU=y
CONFIG_MMC_ARMMMCI=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIO_AMBAKMI=y
CONFIG_FB_ARMCLCD=y
@ -68,6 +67,7 @@ CONFIG_ARCH_VEXPRESS=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_VEXPRESS_SYSCFG=y
CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_ARM_TIMER_SP804=y
CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
CONFIG_I2C_VERSATILE=m
@ -189,6 +189,9 @@ CONFIG_GPIOLIB=y
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_BACKLIGHT_GPIO=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_POWER_RESET_GPIO=y
CONFIG_POWER_RESET_GPIO_RESTART=y
CONFIG_POWER_RESET_RESTART=y
@ -233,6 +236,16 @@ CONFIG_CMA_SIZE_SEL_MBYTES=y
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
# EDAC
CONFIG_EDAC=y
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_LEGACY_SYSFS=y
# VFIO
CONFIG_VFIO_PLATFORM=m
CONFIG_VFIO_AMBA=m
# CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set
# CONFIG_CRYPTO_TEST is not set
# CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_XEN is not set
@ -327,12 +340,3 @@ CONFIG_CMA_AREAS=7
# CONFIG_BMP085_SPI is not set
# CONFIG_TI_DAC7512 is not set
# CONFIG_SPI_ROCKCHIP is not set
# EDAC
CONFIG_EDAC=y
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_VFIO_PLATFORM=m
# CONFIG_VFIO_AMBA is not set
# CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set

View File

@ -7,12 +7,12 @@ CONFIG_SCHED_SMT=y
# CONFIG_CPU_BIG_ENDIAN is not set
# arm64 only SoCs
CONFIG_ARCH_XGENE=y
CONFIG_ARCH_HISI=y
CONFIG_ARCH_SEATTLE=y
CONFIG_ARCH_XGENE=y
# CONFIG_ARCH_THUNDER is not set
# CONFIG_ARCH_EXYNOS7 is not set
# CONFIG_ARCH_FSL_LS2085A is not set
# CONFIG_ARCH_HISI is not set
# CONFIG_ARCH_MEDIATEK is not set
# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_QCOM is not set
@ -26,7 +26,14 @@ CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_832075=y
# AMBA / VExpress
# CONFIG_PL330_DMA is not set
# CONFIG_RTC_DRV_PL030 is not set
CONFIG_RTC_DRV_PL031=y
# CONFIG_SERIAL_AMBA_PL010 is not set
# CONFIG_AMBA_PL08X is not set
CONFIG_ARM_SMMU_V3=y
CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_ARM64_64K_PAGES=y
@ -41,35 +48,14 @@ CONFIG_CMDLINE="console=ttyAMA0"
# CONFIG_CMDLINE_FORCE is not set
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_IO=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
CONFIG_HAVE_ARCH_PFN_VALID=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_HAVE_NET_DSA=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_HVC_DRIVER=y
CONFIG_HZ=100
CONFIG_KVM=y
CONFIG_KVM_ARM_MAX_VCPUS=8
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_DEBUG=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_NFSD_V2_ACL=y
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_PL330_DMA is not set
CONFIG_RCU_FANOUT=64
# CONFIG_RTC_DRV_PL030 is not set
CONFIG_RTC_DRV_PL031=y
CONFIG_SERIAL_8250_DMA=y
# CONFIG_SERIAL_AMBA_PL010 is not set
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_VMEMMAP=y
@ -83,6 +69,20 @@ CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
CONFIG_RTC_DRV_EFI=y
CONFIG_ACPI=y
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_EC_DEBUGFS=y
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_IPMI=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HED=m
CONFIG_ACPI_CUSTOM_METHOD=m
CONFIG_ACPI_NFIT=m
# CONFIG_ACPI_NFIT_DEBUG is not set
CONFIG_PCC=y
CONFIG_ARM64_CRYPTO=y
CONFIG_CRYPTO_SHA1_ARM64_CE=m
CONFIG_CRYPTO_SHA2_ARM64_CE=m
@ -121,8 +121,6 @@ CONFIG_EDAC_XGENE=m
CONFIG_PCI_XGENE=y
CONFIG_PCI_XGENE_MSI=y
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
@ -132,23 +130,16 @@ CONFIG_I2C_SCMI=m
CONFIG_I2C_XGENE_SLIMPRO=m
CONFIG_SENSORS_ACPI_POWER=m
CONFIG_ACPI=y
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_EC_DEBUGFS=y
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_IPMI=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HED=m
CONFIG_ACPI_CUSTOM_METHOD=m
CONFIG_PCC=y
# AMD Seattle
CONFIG_NET_SB1000=y
CONFIG_AMD_XGBE=m
CONFIG_AMD_XGBE_PHY=m
# CONFIG_AMD_XGBE_DCB is not set
# HiSilicon
CONFIG_POWER_RESET_HISI=y
CONFIG_HISI_THERMAL=m
CONFIG_NET_VENDOR_MELLANOX=y
CONFIG_MLX4_EN=m
CONFIG_MLX4_EN_DCB=y
@ -162,6 +153,11 @@ CONFIG_DMI_SYSFS=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_LIBNVDIMM=m
CONFIG_BTT=y
CONFIG_ND_BTT=m
CONFIG_ND_BLK=m
# CONFIG_SND_SOC is not set
# CONFIG_PMIC_OPREGION is not set
@ -170,6 +166,3 @@ CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_DEBUG_SECTION_MISMATCH=y
# CONFIG_FSL_MC_BUS is not set
# CONFIG_ARM_TIMER_SP804 is not set
CONFIG_ARM_SMMU_V3=y

View File

@ -156,8 +156,6 @@ CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_APPENDED_DTB=y
# General vexpress ARM drivers
CONFIG_ARM_TIMER_SP804=y
CONFIG_SERIO_AMBAKMI=m
CONFIG_SERIAL_AMBA_PL010=y
CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
@ -180,6 +178,7 @@ CONFIG_EDAC_HIGHBANK_L2=m
CONFIG_SATA_HIGHBANK=m
CONFIG_ARM_HIGHBANK_CPUFREQ=m
# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET=m
# AllWinner
# CONFIG_MACH_SUN4I is not set
@ -591,8 +590,6 @@ CONFIG_INPUT_GPIO=m
CONFIG_INPUT_GPIO_BEEPER=m
CONFIG_INPUT_GPIO_TILT_POLLED=m
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
CONFIG_KEYBOARD_MATRIX=m
# CONFIG_GPIO_RCAR is not set
CONFIG_W1_MASTER_GPIO=m
@ -773,7 +770,6 @@ CONFIG_LCD_HX8357=m
CONFIG_INPUT_GP2A=m
CONFIG_INPUT_ARIZONA_HAPTICS=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_AD7877=m
@ -825,9 +821,6 @@ CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
# vfio
# CONFIG_VFIO_PLATFORM is not set
# Sensors
CONFIG_SENSORS_HTU21=m

View File

@ -104,6 +104,8 @@ CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIE_ECRC=y
CONFIG_PCIEAER_INJECT=m
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_PCIE=y
# CONFIG_SGI_IOC4 is not set
@ -339,6 +341,12 @@ CONFIG_ACPI_PCI_SLOT=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
# CONFIG_ACPI_NFIT is not set
# CONFIG_LIBNVDIMM is not set
# CONFIG_ND_BLK is not set
# CONFIG_BTT is not set
#
# Block devices
#
@ -2438,7 +2446,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
# CONFIG_SERIAL_8250_DW is not set
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_INGENIC is not set
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set

View File

@ -156,8 +156,6 @@ CONFIG_IO_EVENT_IRQ=y
CONFIG_RTC_DRV_GENERIC=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_SHPC=m
CONFIG_HOTPLUG_PCI_RPA=m
CONFIG_HOTPLUG_PCI_RPA_DLPAR=y

View File

@ -217,7 +217,6 @@ CONFIG_SCM_BLOCK_CLUSTER_WRITE=y
CONFIG_PCI=y
CONFIG_PCI_NR_FUNCTIONS=64
CONFIG_PCI_NR_MSI=256
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_SHPC=y
CONFIG_HOTPLUG_PCI_S390=y

View File

@ -130,11 +130,9 @@ CONFIG_GENERIC_ISA_DMA=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_BIOS=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_COMPAQ=m
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
CONFIG_HOTPLUG_PCI_IBM=m
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y

View File

@ -11,6 +11,8 @@ CONFIG_UV_MMTIMER=m
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_ACPI_NFIT=m
# CONFIG_ACPI_NFIT_DEBUG is not set
# CONFIG_NUMA_EMU is not set
# CONFIG_X86_NUMACHIP is not set
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
@ -186,6 +188,11 @@ CONFIG_MTD_BLOCK=m
CONFIG_HSA_AMD=m
CONFIG_LIBNVDIMM=m
CONFIG_BTT=y
CONFIG_ND_BTT=m
CONFIG_ND_BLK=m
CONFIG_NO_HZ_FULL=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ_FULL_ALL is not set

View File

@ -148,7 +148,7 @@ index 000000000000..404bcb93c112
+
+#endif /* _ASM_IA64_CRASH_H */
diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c
index 5b7791dd3965..aee4b870c763 100644
index 096731049538..e88887827906 100644
--- a/arch/ia64/kernel/ia64_ksyms.c
+++ b/arch/ia64/kernel/ia64_ksyms.c
@@ -84,6 +84,9 @@ EXPORT_SYMBOL(ia64_save_scratch_fpregs);

View File

@ -26,10 +26,10 @@ index d3071ca120eb..9bcd51050511 100644
#endif
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 5f19efe4eb3f..13a3a411c65f 100644
index 85ef051ac6fb..de3e45088d4a 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -958,6 +958,7 @@ extern int __init efi_setup_pcdp_console(char *);
@@ -959,6 +959,7 @@ extern int __init efi_setup_pcdp_console(char *);
#define EFI_PARAVIRT 6 /* Access is via a paravirt interface */
#define EFI_ARCH_1 7 /* First arch-specific bit */
#define EFI_DBG 8 /* Print additional debug info at runtime */

View File

@ -14,7 +14,7 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
index 2ff19014117a..35268abaca99 100644
index 1ef8ea7f8ed9..d82dc9c1c19e 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -830,8 +830,9 @@ out:

View File

@ -11,10 +11,10 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 0ea05e5528c9..df0d6d8603fb 100644
index 6c218407e987..536e884ee923 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1693,7 +1693,8 @@ config EFI_MIXED
@@ -1697,7 +1697,8 @@ config EFI_MIXED
If unsure, say N.
config EFI_SECURE_BOOT_SIG_ENFORCE

View File

@ -67,7 +67,7 @@ Summary: The Linux kernel
# The rc snapshot level
%define rcrev 0
# The git snapshot level
%define gitrev 2
%define gitrev 3
# Set rpm version accordingly
%define rpmversion 4.%{upstream_sublevel}.0
%endif
@ -237,7 +237,6 @@ Summary: The Linux kernel
%ifnarch %{power64}
%define with_bootwrapper 0
%define with_sparse 0
%define with_perf 0
%endif
# Per-arch tweaks
@ -597,6 +596,8 @@ Patch502: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
Patch503: drm-i915-turn-off-wc-mmaps.patch
Patch504: sched-kvm-Fix-KVM-preempt_notifier-usage.patch
# END OF PATCH DEFINITIONS
@ -1267,6 +1268,8 @@ ApplyPatch firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
ApplyPatch drm-i915-turn-off-wc-mmaps.patch
ApplyPatch sched-kvm-Fix-KVM-preempt_notifier-usage.patch
# END OF PATCH APPLICATIONS
@ -2132,11 +2135,19 @@ fi
#
#
%changelog
* Tue Jun 30 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.2.0-0.rc0.git3.1
- Linux v4.1-11355-g6aaf0da8728c
- Add patch to fix KVM sleeping in atomic issue (rhbz 1237143)
- Fix errant with_perf disable that removed perf entirely (rhbz 1237266)
* Tue Jun 30 2015 Peter Robinson <pbrobinson@fedoraproject.org>
- Minor Aarch64 updates and cleanups
- Enable initial support for hi6220
* Mon Jun 29 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.1.0-0.rc0.git2.1
- Linux v4.1-11235-gc63f887bdae8
- Reenable debugging options.
* Fri Jun 26 2015 Peter Robinson <pbrobinson@fedoraproject.org>
- Reorganisation and cleanup of the powerpc configs

View File

@ -19,7 +19,7 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/Kconfig b/lib/Kconfig
index 34e332b8d326..7f0fb38d001f 100644
index 3a2ef67db6c7..4af1e7e5a611 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -396,7 +396,8 @@ config CHECK_SIGNATURE

View File

@ -0,0 +1,80 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Thu, 25 Jun 2015 14:55:14 +0200
Subject: [PATCH] sched,kvm: Fix KVM preempt_notifier usage
The preempt-notifier API needs to sleep with the addition of the
static_key, we do however need to hold off preemption while modifying
the preempt notifier list, otherwise a preemption could observe an
inconsistent list state.
There is no reason to have preemption disabled in the caller,
registering a preempt notifier is a purely task local affair.
Therefore move the preempt_disable into the functions and change the
callers to a preemptible context.
Cc: Gleb Natapov <gleb@kernel.org>
Fixes: 1cde2930e154 ("sched/preempt: Add static_key() to preempt_notifiers")
Reported-and-Tested-by: Pontus Fuchs <pontus.fuchs@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
kernel/sched/core.c | 11 +++++++++++
virt/kvm/kvm_main.c | 5 +++--
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index b803e1b8ab0c..6169c167ac98 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2327,7 +2327,12 @@ static struct static_key preempt_notifier_key = STATIC_KEY_INIT_FALSE;
void preempt_notifier_register(struct preempt_notifier *notifier)
{
static_key_slow_inc(&preempt_notifier_key);
+ /*
+ * Avoid preemption while changing the preempt notifier list.
+ */
+ preempt_disable();
hlist_add_head(&notifier->link, &current->preempt_notifiers);
+ preempt_enable();
}
EXPORT_SYMBOL_GPL(preempt_notifier_register);
@@ -2339,7 +2344,13 @@ EXPORT_SYMBOL_GPL(preempt_notifier_register);
*/
void preempt_notifier_unregister(struct preempt_notifier *notifier)
{
+ /*
+ * Avoid preemption while changing the preempt notifier list.
+ */
+ preempt_disable();
hlist_del(&notifier->link);
+ preempt_enable();
+
static_key_slow_dec(&preempt_notifier_key);
}
EXPORT_SYMBOL_GPL(preempt_notifier_unregister);
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 848af90b8091..7dc8d3eb9e1f 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -127,8 +127,9 @@ int vcpu_load(struct kvm_vcpu *vcpu)
if (mutex_lock_killable(&vcpu->mutex))
return -EINTR;
- cpu = get_cpu();
preempt_notifier_register(&vcpu->preempt_notifier);
+
+ cpu = get_cpu();
kvm_arch_vcpu_load(vcpu, cpu);
put_cpu();
return 0;
@@ -138,8 +139,8 @@ void vcpu_put(struct kvm_vcpu *vcpu)
{
preempt_disable();
kvm_arch_vcpu_put(vcpu);
- preempt_notifier_unregister(&vcpu->preempt_notifier);
preempt_enable();
+ preempt_notifier_unregister(&vcpu->preempt_notifier);
mutex_unlock(&vcpu->mutex);
}

View File

@ -1,3 +1,3 @@
fe9dc0f6729f36400ea81aa41d614c37 linux-4.1.tar.xz
84e34c2f58901edcc5c840fe9893c02e perf-man-4.1.tar.gz
537c8b62477152b275fc4bab0fd510bf patch-4.1-git2.xz
0c5c3ccf288263f7810cecd57de73432 patch-4.1-git3.xz