[PATCH 4.4 00/37] 4.4.110-stable review

From: Greg Kroah-Hartman
Date: Wed Jan 03 2018 - 15:11:46 EST


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(-)