This is the start of the stable review cycle for the 5.15.28 release. There are 58 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 Sat, 12 Mar 2022 14:07:58 +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/v5.x/stable-review/patch-5.15.28-rc2.gz or in the git tree and branch at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.15.y and the diffstat can be found below. thanks, greg k-h ------------- Pseudo-Shortlog of commits: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Linux 5.15.28-rc2 Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Revert "ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE" Juergen Gross <jgross@xxxxxxxx> xen/netfront: react properly to failing gnttab_end_foreign_access_ref() Juergen Gross <jgross@xxxxxxxx> xen/gnttab: fix gnttab_end_foreign_access() without page specified Juergen Gross <jgross@xxxxxxxx> xen/pvcalls: use alloc/free_pages_exact() Juergen Gross <jgross@xxxxxxxx> xen/9p: use alloc/free_pages_exact() Juergen Gross <jgross@xxxxxxxx> xen: remove gnttab_query_foreign_access() Juergen Gross <jgross@xxxxxxxx> xen/gntalloc: don't use gnttab_query_foreign_access() Juergen Gross <jgross@xxxxxxxx> xen/scsifront: don't use gnttab_query_foreign_access() for mapped status Juergen Gross <jgross@xxxxxxxx> xen/netfront: don't use gnttab_query_foreign_access() for mapped status Juergen Gross <jgross@xxxxxxxx> xen/blkfront: don't use gnttab_query_foreign_access() for mapped status Juergen Gross <jgross@xxxxxxxx> xen/grant-table: add gnttab_try_end_foreign_access() Juergen Gross <jgross@xxxxxxxx> xen/xenbus: don't let xenbus_grant_ring() remove grants in error case Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx> ARM: fix build warning in proc-v7-bugs.c Nathan Chancellor <nathan@xxxxxxxxxx> arm64: Do not include __READ_ONCE() block in assembly files Nathan Chancellor <nathan@xxxxxxxxxx> ARM: Do not use NOCROSSREFS directive with ld.lld Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx> ARM: fix co-processor register typo Emmanuel Gil Peyrot <linkmauve@xxxxxxxxxxxx> ARM: fix build error when BPF_SYSCALL is disabled James Morse <james.morse@xxxxxxx> arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 mitigation reporting James Morse <james.morse@xxxxxxx> arm64: Use the clearbhb instruction in mitigations James Morse <james.morse@xxxxxxx> KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated James Morse <james.morse@xxxxxxx> arm64: Mitigate spectre style branch history side channels James Morse <james.morse@xxxxxxx> arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2 James Morse <james.morse@xxxxxxx> arm64: Add percpu vectors for EL1 James Morse <james.morse@xxxxxxx> arm64: entry: Add macro for reading symbol addresses from the trampoline James Morse <james.morse@xxxxxxx> arm64: entry: Add vectors that have the bhb mitigation sequences James Morse <james.morse@xxxxxxx> arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations James Morse <james.morse@xxxxxxx> arm64: entry: Allow the trampoline text to occupy multiple pages James Morse <james.morse@xxxxxxx> arm64: entry: Make the kpti trampoline's kpti sequence optional James Morse <james.morse@xxxxxxx> arm64: entry: Move trampoline macros out of ifdef'd section James Morse <james.morse@xxxxxxx> arm64: entry: Don't assume tramp_vectors is the start of the vectors James Morse <james.morse@xxxxxxx> arm64: entry: Allow tramp_alias to access symbols after the 4K boundary James Morse <james.morse@xxxxxxx> arm64: entry: Move the trampoline data page before the text page James Morse <james.morse@xxxxxxx> arm64: entry: Free up another register on kpti's tramp_exit path James Morse <james.morse@xxxxxxx> arm64: entry: Make the trampoline cleanup optional James Morse <james.morse@xxxxxxx> KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A James Morse <james.morse@xxxxxxx> arm64: spectre: Rename spectre_v4_patch_fw_mitigation_conduit James Morse <james.morse@xxxxxxx> arm64: entry.S: Add ventry overflow sanity checks Joey Gouly <joey.gouly@xxxxxxx> arm64: cpufeature: add HWCAP for FEAT_RPRES Joey Gouly <joey.gouly@xxxxxxx> arm64: cpufeature: add HWCAP for FEAT_AFP Joey Gouly <joey.gouly@xxxxxxx> arm64: add ID_AA64ISAR2_EL1 sys register Anshuman Khandual <anshuman.khandual@xxxxxxx> arm64: Add Cortex-X2 CPU part definition Marc Zyngier <maz@xxxxxxxxxx> arm64: Add HWCAP for self-synchronising virtual counter Suzuki K Poulose <suzuki.poulose@xxxxxxx> arm64: Add Neoverse-N2, Cortex-A710 CPU part definition Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx> ARM: include unprivileged BPF status in Spectre V2 reporting Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx> ARM: Spectre-BHB workaround Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx> ARM: use LOADADDR() to get load address of sections Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx> ARM: early traps initialisation Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx> ARM: report Spectre v2 status through sysfs Josh Poimboeuf <jpoimboe@xxxxxxxxxx> x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT Josh Poimboeuf <jpoimboe@xxxxxxxxxx> x86/speculation: Warn about Spectre v2 LFENCE mitigation Kim Phillips <kim.phillips@xxxxxxx> x86/speculation: Update link to AMD speculation whitepaper Kim Phillips <kim.phillips@xxxxxxx> x86/speculation: Use generic retpoline by default on AMD Josh Poimboeuf <jpoimboe@xxxxxxxxxx> x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting Peter Zijlstra <peterz@xxxxxxxxxxxxx> Documentation/hw-vuln: Update spectre doc Peter Zijlstra <peterz@xxxxxxxxxxxxx> x86/speculation: Add eIBRS + Retpoline options Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE Peter Zijlstra <peterz@xxxxxxxxxxxxx> x86,bugs: Unconditionally allow spectre_v2=retpoline,amd Huang Pei <huangpei@xxxxxxxxxxx> slip: fix macro redefine warning ------------- Diffstat: Documentation/admin-guide/hw-vuln/spectre.rst | 48 ++- Documentation/admin-guide/kernel-parameters.txt | 8 +- Documentation/arm64/cpu-feature-registers.rst | 29 +- Documentation/arm64/elf_hwcaps.rst | 12 + Makefile | 4 +- arch/arm/include/asm/assembler.h | 10 + arch/arm/include/asm/spectre.h | 32 ++ arch/arm/include/asm/vmlinux.lds.h | 43 ++- arch/arm/kernel/Makefile | 2 + arch/arm/kernel/entry-armv.S | 79 ++++- arch/arm/kernel/entry-common.S | 24 ++ arch/arm/kernel/spectre.c | 71 +++++ arch/arm/kernel/traps.c | 65 +++- arch/arm/mm/Kconfig | 11 + arch/arm/mm/proc-v7-bugs.c | 208 ++++++++++--- arch/arm64/Kconfig | 9 + arch/arm64/include/asm/assembler.h | 53 ++++ arch/arm64/include/asm/cpu.h | 1 + arch/arm64/include/asm/cpufeature.h | 29 ++ arch/arm64/include/asm/cputype.h | 14 + arch/arm64/include/asm/fixmap.h | 6 +- arch/arm64/include/asm/hwcap.h | 3 + arch/arm64/include/asm/insn.h | 1 + arch/arm64/include/asm/kvm_host.h | 5 + arch/arm64/include/asm/rwonce.h | 4 +- arch/arm64/include/asm/sections.h | 5 + arch/arm64/include/asm/spectre.h | 4 + arch/arm64/include/asm/sysreg.h | 18 ++ arch/arm64/include/asm/vectors.h | 73 +++++ arch/arm64/include/uapi/asm/hwcap.h | 3 + arch/arm64/include/uapi/asm/kvm.h | 5 + arch/arm64/kernel/cpu_errata.c | 7 + arch/arm64/kernel/cpufeature.c | 28 +- arch/arm64/kernel/cpuinfo.c | 4 + arch/arm64/kernel/entry.S | 214 +++++++++---- arch/arm64/kernel/image-vars.h | 4 + arch/arm64/kernel/proton-pack.c | 391 +++++++++++++++++++++++- arch/arm64/kernel/vmlinux.lds.S | 2 +- arch/arm64/kvm/arm.c | 5 +- arch/arm64/kvm/hyp/hyp-entry.S | 9 + arch/arm64/kvm/hyp/nvhe/mm.c | 4 +- arch/arm64/kvm/hyp/vhe/switch.c | 9 +- arch/arm64/kvm/hypercalls.c | 12 + arch/arm64/kvm/psci.c | 18 +- arch/arm64/kvm/sys_regs.c | 2 +- arch/arm64/mm/mmu.c | 12 +- arch/arm64/tools/cpucaps | 1 + arch/x86/include/asm/cpufeatures.h | 2 +- arch/x86/include/asm/nospec-branch.h | 16 +- arch/x86/kernel/cpu/bugs.c | 205 +++++++++---- arch/x86/lib/retpoline.S | 2 +- drivers/acpi/ec.c | 10 - drivers/acpi/sleep.c | 14 +- drivers/block/xen-blkfront.c | 63 ++-- drivers/net/slip/slip.h | 2 + drivers/net/xen-netfront.c | 54 ++-- drivers/scsi/xen-scsifront.c | 3 +- drivers/xen/gntalloc.c | 25 +- drivers/xen/grant-table.c | 71 +++-- drivers/xen/pvcalls-front.c | 8 +- drivers/xen/xenbus/xenbus_client.c | 24 +- include/linux/arm-smccc.h | 5 + include/linux/bpf.h | 12 + include/xen/grant_table.h | 19 +- kernel/sysctl.c | 7 + net/9p/trans_xen.c | 14 +- tools/arch/x86/include/asm/cpufeatures.h | 2 +- 67 files changed, 1800 insertions(+), 359 deletions(-)