This is the start of the stable review cycle for the 4.4.202 release.
There are 20 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun, 17 Nov 2019 06:18:31 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.202-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.4.202-rc1
Vineela Tummalapalli <vineela.tummalapalli(a)intel.com>
x86/bugs: Add ITLB_MULTIHIT bug infrastructure
Josh Poimboeuf <jpoimboe(a)redhat.com>
x86/speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs
Michal Hocko <mhocko(a)suse.com>
x86/tsx: Add config options to set tsx=on|off|auto
Pawan Gupta <pawan.kumar.gupta(a)linux.intel.com>
x86/speculation/taa: Add documentation for TSX Async Abort
Pawan Gupta <pawan.kumar.gupta(a)linux.intel.com>
x86/tsx: Add "auto" option to the tsx= cmdline parameter
Pawan Gupta <pawan.kumar.gupta(a)linux.intel.com>
kvm/x86: Export MDS_NO=0 to guests when TSX is enabled
Pawan Gupta <pawan.kumar.gupta(a)linux.intel.com>
x86/speculation/taa: Add sysfs reporting for TSX Async Abort
Pawan Gupta <pawan.kumar.gupta(a)linux.intel.com>
x86/speculation/taa: Add mitigation for TSX Async Abort
Pawan Gupta <pawan.kumar.gupta(a)linux.intel.com>
x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default
Pawan Gupta <pawan.kumar.gupta(a)linux.intel.com>
x86/cpu: Add a helper function x86_read_arch_cap_msr()
Pawan Gupta <pawan.kumar.gupta(a)linux.intel.com>
x86/msr: Add the IA32_TSX_CTRL MSR
Paolo Bonzini <pbonzini(a)redhat.com>
KVM: x86: use Intel speculation bugs and features as derived in generic x86 code
Jim Mattson <jmattson(a)google.com>
kvm: x86: IA32_ARCH_CAPABILITIES is always supported
Sean Christopherson <sean.j.christopherson(a)intel.com>
KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts
Ben Hutchings <ben(a)decadent.org.uk>
KVM: Introduce kvm_get_arch_capabilities()
Nicholas Piggin <npiggin(a)gmail.com>
powerpc/boot: Request no dynamic linker for boot wrapper
Nicholas Piggin <npiggin(a)gmail.com>
powerpc: Fix compiling a BE kernel with a powerpc64le toolchain
Michael Ellerman <mpe(a)ellerman.id.au>
powerpc/Makefile: Use cflags-y/aflags-y for setting endian options
Jonas Gorski <jonas.gorski(a)gmail.com>
MIPS: BCM63XX: fix switch core reset on BCM6368
Junaid Shahid <junaids(a)google.com>
kvm: mmu: Don't read PDPTEs when paging is not enabled
-------------
Diffstat:
Documentation/ABI/testing/sysfs-devices-system-cpu | 2 +
Documentation/hw-vuln/tsx_async_abort.rst | 268 +++++++++++++++++++++
Documentation/kernel-parameters.txt | 62 +++++
Documentation/x86/tsx_async_abort.rst | 117 +++++++++
Makefile | 4 +-
arch/mips/bcm63xx/reset.c | 2 +-
arch/powerpc/Makefile | 31 ++-
arch/powerpc/boot/wrapper | 24 +-
arch/x86/Kconfig | 45 ++++
arch/x86/include/asm/cpufeatures.h | 2 +
arch/x86/include/asm/kvm_host.h | 2 +
arch/x86/include/asm/msr-index.h | 16 ++
arch/x86/include/asm/nospec-branch.h | 4 +-
arch/x86/include/asm/processor.h | 7 +
arch/x86/kernel/cpu/Makefile | 2 +-
arch/x86/kernel/cpu/bugs.c | 143 ++++++++++-
arch/x86/kernel/cpu/common.c | 93 ++++---
arch/x86/kernel/cpu/cpu.h | 18 ++
arch/x86/kernel/cpu/intel.c | 5 +
arch/x86/kernel/cpu/tsx.c | 140 +++++++++++
arch/x86/kvm/cpuid.c | 12 +
arch/x86/kvm/vmx.c | 15 --
arch/x86/kvm/x86.c | 53 +++-
drivers/base/cpu.c | 17 ++
include/linux/cpu.h | 5 +
25 files changed, 1019 insertions(+), 70 deletions(-)
Hi Frederic,
Thanks for this fix patch.
On Thu, 14 Nov 2019 at 21:26, Leonard Crestez <leonard.crestez(a)nxp.com> wrote:
>
> On 13.11.2019 19:12, Frederic Weisbecker wrote:
> > While attempting to clear the buzy bit at the end of a work execution,
> > atomic_cmpxchg() expects the value of the flags with the pending bit
> > cleared as the old value. However we are passing by mistake the value of
> > the flags before we actually cleared the pending bit.
>
> Busy is spelled with an S
>
> >
> > As a result, clearing the buzy bit fails and irq_work_sync() may stall:
> >
> > watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [blktrace:4948]
> > CPU: 0 PID: 4948 Comm: blktrace Not tainted 5.4.0-rc7-00003-gfeb4a51323bab #1
> > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
> > RIP: 0010:irq_work_sync+0x4/0x10
> > Call Trace:
> > relay_close_buf+0x19/0x50
> > relay_close+0x64/0x100
> > blk_trace_free+0x1f/0x50
> > __blk_trace_remove+0x1e/0x30
> > blk_trace_ioctl+0x11b/0x140
> > blkdev_ioctl+0x6c1/0xa40
> > block_ioctl+0x39/0x40
> > do_vfs_ioctl+0xa5/0x700
> > ksys_ioctl+0x70/0x80
> > __x64_sys_ioctl+0x16/0x20
> > do_syscall_64+0x5b/0x1d0
> > entry_SYSCALL_64_after_hwframe+0x44/0xa9
> >
> > So clear the appropriate bit before passing the old flags to cmpxchg().
> >
> > Reported-by: kernel test robot <rong.a.chen(a)intel.com>
> > Reported-by: Leonard Crestez <leonard.crestez(a)nxp.com>
> > Fixes: feb4a51323ba ("irq_work: Slightly simplify IRQ_WORK_PENDING clearing")
> > Signed-off-by: Frederic Weisbecker <frederic(a)kernel.org>
> > Cc: Paul E . McKenney <paulmck(a)linux.vnet.ibm.com>
> > Cc: Peter Zijlstra <peterz(a)infradead.org> everywhere.
> > Cc: Thomas Gleixner <tglx(a)linutronix.de>
> > Cc: Ingo Molnar <mingo(a)kernel.org>
>
> Tested-by: Leonard Crestez <leonard.crestez(a)nxp.com>
>
> Without this patch switching cpufreq governors hangs on arm64.
Right.
This patch solved two problems,
1) juno-r2 boot pass now
2) rcu_sched self-detected stall on CPU on x86_64 problem is solved now.
Tested-by: Naresh Kamboju <naresh.kamboju(a)linaro.org>
Hope this will get merged into linux next.
ref:
https://lkft.validation.linaro.org/scheduler/job/1010542#L260https://lkft.validation.linaro.org/scheduler/job/1010793#L493
- Naresh