diff --git a/config-arm64 b/config-arm64 index c3bc8c5..de487b2 100644 --- a/config-arm64 +++ b/config-arm64 @@ -74,6 +74,7 @@ CONFIG_HVC_DRIVER=y CONFIG_HZ=100 CONFIG_KVM=y +CONFIG_KVM_NEW_VGIC=y CONFIG_RCU_FANOUT=64 CONFIG_SPARSE_IRQ=y diff --git a/config-armv7-lpae b/config-armv7-lpae index 96d49e8..1357006 100644 --- a/config-armv7-lpae +++ b/config-armv7-lpae @@ -27,6 +27,7 @@ CONFIG_ARM_ERRATA_773022=y CONFIG_KVM=y CONFIG_KVM_ARM_HOST=y +CONFIG_KVM_NEW_VGIC=y # CONFIG_XEN is not set CONFIG_XEN_FBDEV_FRONTEND=y diff --git a/config-generic b/config-generic index c1ff51e..6911aed 100644 --- a/config-generic +++ b/config-generic @@ -573,6 +573,7 @@ CONFIG_SCSI_WD719X=m CONFIG_SCSI_DEBUG=m CONFIG_SCSI_QLA_FC=m CONFIG_TCM_QLA2XXX=m +# CONFIG_TCM_QLA2XXX_DEBUG is not set CONFIG_SCSI_QLA_ISCSI=m CONFIG_SCSI_IPR=m CONFIG_SCSI_IPR_TRACE=y @@ -1836,13 +1837,13 @@ CONFIG_B43=m 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 @@ -5209,7 +5210,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_OPP is not set # CONFIG_PM_AUTOSLEEP is not set # CONFIG_PM_WAKELOCKS is not set @@ -5353,6 +5354,9 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y # CONFIG_SND_SOC_INNO_RK3036 is not set # CONFIG_SND_SOC_IMG is not set CONFIG_SND_SOC_AMD_ACP=m +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_WM8960 is not set + CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y @@ -5853,6 +5857,7 @@ CONFIG_XZ_DEC_ARM=y CONFIG_TARGET_CORE=m CONFIG_ISCSI_TARGET=m +CONFIG_ISCSI_TARGET_CXGB4=m CONFIG_LOOPBACK_TARGET=m CONFIG_SBP_TARGET=m CONFIG_TCM_IBLOCK=m @@ -5879,6 +5884,8 @@ CONFIG_PSTORE_RAM=m # CONFIG_TEST_STATIC_KEYS is not set # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_HASH is not set # CONFIG_AVERAGE is not set # CONFIG_VMXNET3 is not set @@ -5888,6 +5895,7 @@ CONFIG_PSTORE_RAM=m # CONFIG_GOLDFISH is not set CONFIG_CHROME_PLATFORMS=y +# CONFIG_CROS_KBD_LED_BACKLIGHT is not set CONFIG_BCMA=m CONFIG_BCMA_BLOCKIO=y diff --git a/config-nodebug b/config-nodebug index 0dc8647..4bd461d 100644 --- a/config-nodebug +++ b/config-nodebug @@ -2,102 +2,102 @@ 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_F2FS_FAULT_INJECTION 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_ACPI_DEBUGGER 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_PAGE_EXTENSION is not set # CONFIG_PAGE_OWNER 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_ARM64_PTDUMP=y -CONFIG_EFI_PGT_DUMP=y +# CONFIG_ARM64_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_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 @@ -105,19 +105,19 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0 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_WQ_WATCHDOG=y +# CONFIG_WQ_WATCHDOG 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 @@ -128,4 +128,4 @@ CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y # CONFIG_SPI_DEBUG is not set -CONFIG_DEBUG_VM_PGFLAGS=y +# CONFIG_DEBUG_VM_PGFLAGS is not set diff --git a/config-x86-generic b/config-x86-generic index 12ac67f..d7dc0e3 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -381,7 +381,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 @@ -468,6 +468,7 @@ CONFIG_HPWDT_NMI_DECODING=y # CONFIG_GPIO_INTEL_MID is not set CONFIG_PCH_DMA=m CONFIG_INTEL_IPS=m +CONFIG_INTEL_PMC_CORE=y # CONFIG_IBM_RTL is not set CONFIG_VIDEO_VIA_CAMERA=m diff --git a/gitrev b/gitrev index 3473b1d..5ff4b6a 100644 --- a/gitrev +++ b/gitrev @@ -1 +1 @@ -dc03c0f9d12d85286d5e3623aa96d5c2a271b8e6 +852f42a69b93dc71507adedeed876d57b8c2c2fa diff --git a/kernel.spec b/kernel.spec index e4695b9..7e46a00 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 0 +%define rcrev 1 # The git snapshot level -%define gitrev 10 +%define gitrev 1 # Set rpm version accordingly %define rpmversion 4.%{upstream_sublevel}.0 %endif @@ -125,7 +125,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} @@ -605,9 +605,6 @@ Patch641: disable-CONFIG_EXPERT-for-ZONE_DMA.patch #CVE-2016-3134 rhbz 1317383 1317384 Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch -#CVE-2016-4440 rhbz 1337806 1337807 -Patch719: kvm-vmx-more-complete-state-update-on-APICv-on-off.patch - # END OF PATCH DEFINITIONS %endif @@ -2133,6 +2130,10 @@ fi # # %changelog +* Tue May 31 2016 Laura Abbott - 4.7.0-0.rc1.git1.1 +- Linux v4.7-rc1-12-g852f42a +- Disable debugging options. + * Mon May 30 2016 Peter Robinson - Update Utilite patch - Minor ARM cleanups diff --git a/kvm-vmx-more-complete-state-update-on-APICv-on-off.patch b/kvm-vmx-more-complete-state-update-on-APICv-on-off.patch deleted file mode 100644 index 6704330..0000000 --- a/kvm-vmx-more-complete-state-update-on-APICv-on-off.patch +++ /dev/null @@ -1,112 +0,0 @@ -From: Roman Kagan -Subject: [PATCH v3] kvm:vmx: more complete state update on APICv on/off -Date: 2016-05-18 14:48:20 GMT (1 day, 21 hours and 23 minutes ago) - -The function to update APICv on/off state (in particular, to deactivate -it when enabling Hyper-V SynIC), used to be incomplete: it didn't adjust -APICv-related fields among secondary processor-based VM-execution -controls. - -As a result, Windows 2012 guests would get stuck when SynIC-based -auto-EOI interrupt intersected with e.g. an IPI in the guest. - -In addition, the MSR intercept bitmap wasn't updated to correspond to -whether "virtualize x2APIC mode" was enabled. This path used not to be -triggered, since Windows didn't use x2APIC but rather their own -synthetic APIC access MSRs; however it represented a security risk -because the guest running in a SynIC-enabled VM could switch to x2APIC -and thus obtain direct access to host APIC MSRs (thanks to Yang Zhang - for spotting this). - -The patch fixes those omissions. - -Signed-off-by: Roman Kagan -Cc: Steve Rutherford -Cc: Yang Zhang ---- -v2 -> v3: - - only switch to x2apic msr bitmap if virtualize x2apic mode is on in vmcs - -v1 -> v2: - - only update relevant bits in the secondary exec control - - update msr intercept bitmap (also make x2apic msr bitmap always - correspond to APICv) - - arch/x86/kvm/vmx.c | 48 ++++++++++++++++++++++++++++++------------------ - 1 file changed, 30 insertions(+), 18 deletions(-) - -diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c -index ee1c8a9..cef741a 100644 ---- a/arch/x86/kvm/vmx.c -+++ b/arch/x86/kvm/vmx.c -@@ -2418,7 +2418,9 @@ static void vmx_set_msr_bitmap(struct kvm_vcpu *vcpu) - - if (is_guest_mode(vcpu)) - msr_bitmap = vmx_msr_bitmap_nested; -- else if (vcpu->arch.apic_base & X2APIC_ENABLE) { -+ else if (cpu_has_secondary_exec_ctrls() && -+ (vmcs_read32(SECONDARY_VM_EXEC_CONTROL) & -+ SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE)) { - if (is_long_mode(vcpu)) - msr_bitmap = vmx_msr_bitmap_longmode_x2apic; - else -@@ -4783,6 +4785,19 @@ static void vmx_refresh_apicv_exec_ctrl(struct kvm_vcpu *vcpu) - struct vcpu_vmx *vmx = to_vmx(vcpu); - - vmcs_write32(PIN_BASED_VM_EXEC_CONTROL, vmx_pin_based_exec_ctrl(vmx)); -+ if (cpu_has_secondary_exec_ctrls()) { -+ if (kvm_vcpu_apicv_active(vcpu)) -+ vmcs_set_bits(SECONDARY_VM_EXEC_CONTROL, -+ SECONDARY_EXEC_APIC_REGISTER_VIRT | -+ SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY); -+ else -+ vmcs_clear_bits(SECONDARY_VM_EXEC_CONTROL, -+ SECONDARY_EXEC_APIC_REGISTER_VIRT | -+ SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY); -+ } -+ -+ if (cpu_has_vmx_msr_bitmap()) -+ vmx_set_msr_bitmap(vcpu); - } - - static u32 vmx_exec_control(struct vcpu_vmx *vmx) -@@ -6329,23 +6344,20 @@ static __init int hardware_setup(void) - - set_bit(0, vmx_vpid_bitmap); /* 0 is reserved for host */ - -- if (enable_apicv) { -- for (msr = 0x800; msr <= 0x8ff; msr++) -- vmx_disable_intercept_msr_read_x2apic(msr); -- -- /* According SDM, in x2apic mode, the whole id reg is used. -- * But in KVM, it only use the highest eight bits. Need to -- * intercept it */ -- vmx_enable_intercept_msr_read_x2apic(0x802); -- /* TMCCT */ -- vmx_enable_intercept_msr_read_x2apic(0x839); -- /* TPR */ -- vmx_disable_intercept_msr_write_x2apic(0x808); -- /* EOI */ -- vmx_disable_intercept_msr_write_x2apic(0x80b); -- /* SELF-IPI */ -- vmx_disable_intercept_msr_write_x2apic(0x83f); -- } -+ for (msr = 0x800; msr <= 0x8ff; msr++) -+ vmx_disable_intercept_msr_read_x2apic(msr); -+ -+ /* According SDM, in x2apic mode, the whole id reg is used. But in -+ * KVM, it only use the highest eight bits. Need to intercept it */ -+ vmx_enable_intercept_msr_read_x2apic(0x802); -+ /* TMCCT */ -+ vmx_enable_intercept_msr_read_x2apic(0x839); -+ /* TPR */ -+ vmx_disable_intercept_msr_write_x2apic(0x808); -+ /* EOI */ -+ vmx_disable_intercept_msr_write_x2apic(0x80b); -+ /* SELF-IPI */ -+ vmx_disable_intercept_msr_write_x2apic(0x83f); - - if (enable_ept) { - kvm_mmu_set_mask_ptes(0ull, --- -2.5.5 diff --git a/sources b/sources index 960547a..deda568 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ d2927020e24a76da4ab482a8bc3e9ef3 linux-4.6.tar.xz fd23b14b9d474c3dfacb6e8ee82d3a51 perf-man-4.6.tar.gz -93c26cf74b2272062ce649c6d1f75bd4 patch-4.6-git10.xz +deeed34a3055de769839864339682bd5 patch-4.7-rc1.xz +ec53db0031ac1ad5e576e6fc78a3864b patch-4.7-rc1-git1.xz