This is the start of the stable review cycle for the 4.4.110 release. There are 37 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 Fri Jan 5 19:50:38 UTC 2018. Anything received after that time might be too late. The whole patch series can be found in one patch at: kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.110-rc1.gz 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@xxxxxxxxxxxxxxxxxxx> Linux 4.4.110-rc1 Kees Cook <keescook@xxxxxxxxxxxx> KPTI: Report when enabled Kees Cook <keescook@xxxxxxxxxxxx> KPTI: Rename to PAGE_TABLE_ISOLATION Borislav Petkov <bp@xxxxxxx> x86/kaiser: Move feature detection up Jiri Kosina <jkosina@xxxxxxx> kaiser: disabled on Xen PV Borislav Petkov <bp@xxxxxxx> x86/kaiser: Reenable PARAVIRT Thomas Gleixner <tglx@xxxxxxxxxxxxx> x86/paravirt: Dont patch flush_tlb_single Hugh Dickins <hughd@xxxxxxxxxx> kaiser: kaiser_flush_tlb_on_return_to_user() check PCID Hugh Dickins <hughd@xxxxxxxxxx> kaiser: asm/tlbflush.h handle noPGE at lower level Hugh Dickins <hughd@xxxxxxxxxx> kaiser: drop is_atomic arg to kaiser_pagetable_walk() Hugh Dickins <hughd@xxxxxxxxxx> kaiser: use ALTERNATIVE instead of x86_cr3_pcid_noflush Borislav Petkov <bp@xxxxxxx> x86/kaiser: Check boottime cmdline params Borislav Petkov <bp@xxxxxxx> x86/kaiser: Rename and simplify X86_FEATURE_KAISER handling Hugh Dickins <hughd@xxxxxxxxxx> kaiser: add "nokaiser" boot option, using ALTERNATIVE Hugh Dickins <hughd@xxxxxxxxxx> kaiser: fix unlikely error in alloc_ldt_struct() Hugh Dickins <hughd@xxxxxxxxxx> kaiser: _pgd_alloc() without __GFP_REPEAT to avoid stalls Hugh Dickins <hughd@xxxxxxxxxx> kaiser: paranoid_entry pass cr3 need to paranoid_exit Hugh Dickins <hughd@xxxxxxxxxx> kaiser: x86_cr3_pcid_noflush and x86_cr3_pcid_user Hugh Dickins <hughd@xxxxxxxxxx> kaiser: PCID 0 for kernel and 128 for user Hugh Dickins <hughd@xxxxxxxxxx> kaiser: load_new_mm_cr3() let SWITCH_USER_CR3 flush user Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> kaiser: enhanced by kernel and user PCIDs Hugh Dickins <hughd@xxxxxxxxxx> kaiser: vmstat show NR_KAISERTABLE as nr_overhead Hugh Dickins <hughd@xxxxxxxxxx> kaiser: delete KAISER_REAL_SWITCH option Hugh Dickins <hughd@xxxxxxxxxx> kaiser: name that 0x1000 KAISER_SHADOW_PGD_OFFSET Hugh Dickins <hughd@xxxxxxxxxx> kaiser: cleanups while trying for gold link Hugh Dickins <hughd@xxxxxxxxxx> kaiser: kaiser_remove_mapping() move along the pgd Hugh Dickins <hughd@xxxxxxxxxx> kaiser: tidied up kaiser_add/remove_mapping slightly Hugh Dickins <hughd@xxxxxxxxxx> kaiser: tidied up asm/kaiser.h somewhat Hugh Dickins <hughd@xxxxxxxxxx> kaiser: ENOMEM if kaiser_pagetable_walk() NULL Hugh Dickins <hughd@xxxxxxxxxx> kaiser: fix perf crashes Hugh Dickins <hughd@xxxxxxxxxx> kaiser: fix regs to do_nmi() ifndef CONFIG_KAISER Hugh Dickins <hughd@xxxxxxxxxx> kaiser: KAISER depends on SMP Hugh Dickins <hughd@xxxxxxxxxx> kaiser: fix build and FIXME in alloc_ldt_struct() Hugh Dickins <hughd@xxxxxxxxxx> kaiser: stack map PAGE_SIZE at THREAD_SIZE-PAGE_SIZE Hugh Dickins <hughd@xxxxxxxxxx> kaiser: do not set _PAGE_NX on pgd_none Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> kaiser: merged update Richard Fellner <richard.fellner@xxxxxxxxxxxxxxxxx> KAISER: Kernel Address Isolation Tom Lendacky <thomas.lendacky@xxxxxxx> x86/boot: Add early cmdline parsing for options with arguments ------------- Diffstat: Documentation/kernel-parameters.txt | 8 + Makefile | 4 +- arch/x86/boot/compressed/misc.h | 1 + arch/x86/entry/entry_64.S | 164 ++++++++-- arch/x86/entry/entry_64_compat.S | 7 + arch/x86/include/asm/cmdline.h | 2 + arch/x86/include/asm/cpufeature.h | 4 + arch/x86/include/asm/desc.h | 2 +- arch/x86/include/asm/hw_irq.h | 2 +- arch/x86/include/asm/kaiser.h | 141 +++++++++ arch/x86/include/asm/pgtable.h | 28 +- arch/x86/include/asm/pgtable_64.h | 25 +- arch/x86/include/asm/pgtable_types.h | 29 +- arch/x86/include/asm/processor.h | 2 +- arch/x86/include/asm/tlbflush.h | 74 ++++- arch/x86/include/uapi/asm/processor-flags.h | 3 +- arch/x86/kernel/cpu/common.c | 28 +- arch/x86/kernel/cpu/perf_event_intel_ds.c | 57 +++- arch/x86/kernel/espfix_64.c | 10 + arch/x86/kernel/head_64.S | 35 ++- arch/x86/kernel/irqinit.c | 2 +- arch/x86/kernel/ldt.c | 25 +- arch/x86/kernel/paravirt_patch_64.c | 2 - arch/x86/kernel/process.c | 2 +- arch/x86/kernel/setup.c | 7 + arch/x86/kernel/tracepoint.c | 2 + arch/x86/kvm/x86.c | 3 +- arch/x86/lib/cmdline.c | 105 +++++++ arch/x86/mm/Makefile | 1 + arch/x86/mm/init.c | 2 +- arch/x86/mm/init_64.c | 10 + arch/x86/mm/kaiser.c | 455 ++++++++++++++++++++++++++++ arch/x86/mm/pageattr.c | 63 +++- arch/x86/mm/pgtable.c | 16 +- arch/x86/mm/tlb.c | 39 ++- include/asm-generic/vmlinux.lds.h | 7 + include/linux/kaiser.h | 52 ++++ include/linux/mmzone.h | 3 +- include/linux/percpu-defs.h | 32 +- init/main.c | 2 + kernel/fork.c | 6 + mm/vmstat.c | 1 + security/Kconfig | 10 + 43 files changed, 1375 insertions(+), 98 deletions(-)