I case someone wonders. V149 is my version number of the patch queue since this whole endeavour started. Hillarious, isn't it? But alone this reshuffling created 22 new versions because I do that very fine grained and archive each step in case something goes wrong. Being able to do fine grained comparisons and eventual rollbacks of such reorganisations has proven useful in the past and this time as well. So its V149 today.
The following series is a reorganization of the PTI patches in git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/pti Its currently based on git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/pti which is the upstream merge branch, but I'm going to rebase it on the WIP.x86/pti-base branch tomorrow. It's also available from git: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/pti-upstream The changes vs. WIP.x86/pti are: - Reorganization of the patch queue - Moved Fixes, improvements etc. which do not depend on PTI to the head of the queue. Those are mostly findings of existing issues which were unearthed in the PTI work, reviews and discussions. - A new fix for the page table debug dumper - Folded back all the delta fixes into the proper places - Integrated Andys LDT mapping mechanism because the VMA based solution, which I would prefer is still under discussion and too many things need to be sorted out. - Added the map LDT RO patch on top of it as a separate change. Thanks, tglx --- Documentation/admin-guide/kernel-parameters.txt | 2 Documentation/x86/x86_64/mm.txt | 27 -- arch/powerpc/include/asm/mmu_context.h | 5 arch/x86/boot/compressed/pagetable.c | 3 arch/x86/entry/calling.h | 145 +++++++++++ arch/x86/entry/entry_32.S | 12 arch/x86/entry/entry_64.S | 52 +++ arch/x86/entry/entry_64_compat.S | 24 + arch/x86/entry/vsyscall/vsyscall_64.c | 37 ++ arch/x86/events/intel/ds.c | 119 +++++---- arch/x86/events/perf_event.h | 23 - arch/x86/include/asm/cpufeatures.h | 3 arch/x86/include/asm/desc.h | 2 arch/x86/include/asm/fixmap.h | 41 ++- arch/x86/include/asm/mmu.h | 4 arch/x86/include/asm/pgtable.h | 26 + arch/x86/include/asm/pgtable_64.h | 126 +++++++++ arch/x86/include/asm/pgtable_64_types.h | 8 arch/x86/include/asm/processor-flags.h | 5 arch/x86/include/asm/processor.h | 29 +- arch/x86/include/asm/stacktrace.h | 4 arch/x86/include/asm/tlbflush.h | 310 +++++++++++++++++------ arch/x86/include/asm/vsyscall.h | 1 arch/x86/kernel/asm-offsets.c | 8 arch/x86/kernel/asm-offsets_32.c | 2 arch/x86/kernel/cpu/common.c | 44 ++- arch/x86/kernel/cpu/microcode/intel.c | 13 arch/x86/kernel/dumpstack.c | 10 arch/x86/kernel/dumpstack_32.c | 6 arch/x86/kernel/dumpstack_64.c | 12 arch/x86/kernel/head_64.S | 30 ++ arch/x86/kernel/ldt.c | 191 ++++++++++++-- arch/x86/kernel/vmlinux.lds.S | 8 arch/x86/mm/Makefile | 7 arch/x86/mm/debug_pagetables.c | 80 +++++- arch/x86/mm/dump_pagetables.c | 48 +++ arch/x86/mm/init.c | 80 +++--- arch/x86/mm/pgtable.c | 16 + arch/x86/mm/tlb.c | 64 ++++ arch/x86/platform/uv/tlb_uv.c | 2 b/arch/um/include/asm/mmu_context.h | 3 b/arch/unicore32/include/asm/mmu_context.h | 5 b/arch/x86/include/asm/intel_ds.h | 36 ++ b/arch/x86/include/asm/invpcid.h | 53 ++++ b/arch/x86/include/asm/mmu_context.h | 109 +++++--- b/arch/x86/include/asm/pti.h | 14 + b/arch/x86/include/uapi/asm/processor-flags.h | 7 b/arch/x86/mm/pti.c | 315 ++++++++++++++++++++++++ b/include/linux/pti.h | 11 include/asm-generic/mm_hooks.h | 5 init/main.c | 13 kernel/fork.c | 3 security/Kconfig | 10 tools/testing/selftests/x86/ldt_gdt.c | 12 54 files changed, 1837 insertions(+), 388 deletions(-)