Re: [PATCH 4.4 00/37] 4.4.110-stable review

From: Nathan Chancellor
Date: Wed Jan 03 2018 - 17:08:21 EST


On Wed, Jan 03, 2018 at 09:11:06PM +0100, Greg Kroah-Hartman wrote:
> 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(-)
>
>

Not that my feedback will matter much on this release since Pixel 2 XL
is an arm64 device but merged, compiled, and flashed successfully.

The changes to kernel/fork.c had to be slightly adjusted for Google's
tree due to their addition of mainline commit b235beea9e99 ("Clarify
naming of thread info/stack allocators").

No noticeable issues in general use or dmesg.

Thanks!
Nathan