[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171204140706.296109558@linutronix.de>
Date:   Mon, 04 Dec 2017 15:07:06 +0100
From:   Thomas Gleixner <tglx@...utronix.de>
To:     LKML <linux-kernel@...r.kernel.org>
Cc:     x86@...nel.org, Linus Torvalds <torvalds@...ux-foundation.org>,
        Andy Lutomirsky <luto@...nel.org>,
        Peter Zijlstra <peterz@...radead.org>,
        Dave Hansen <dave.hansen@...el.com>,
        Borislav Petkov <bpetkov@...e.de>,
        Greg KH <gregkh@...uxfoundation.org>, keescook@...gle.com,
        hughd@...gle.com, Brian Gerst <brgerst@...il.com>,
        Josh Poimboeuf <jpoimboe@...hat.com>,
        Denys Vlasenko <dvlasenk@...hat.com>,
        Rik van Riel <riel@...hat.com>,
        Boris Ostrovsky <boris.ostrovsky@...cle.com>,
        Juergen Gross <jgross@...e.com>,
        David Laight <David.Laight@...lab.com>,
        Eduardo Valentin <eduval@...zon.com>, aliguori@...zon.com,
        Will Deacon <will.deacon@....com>, daniel.gruss@...k.tugraz.at
Subject: [patch 00/60] x86/kpti: Kernel Page Table Isolation (was KAISER)
This series is a major overhaul of the KAISER patches:
1) Entry code
   Mostly the same, except for a handful of fixlets and delta
   improvements folded into the corresponding patches
   New: Map TSS read only into the user space visible mapping
     This is 64bit only, as 32bit needs the TSS mapped RW
     AMD confirmed that there is no issue with that. It would be nice to
     get confirmation from Intel as well.
2) Namespace
   Several people including Linus requested to change the KAISER name.
   We came up with a list of technically correct acronyms:
     User Address Space Separation, prefix uass_
     Forcefully Unmap Complete Kernel With Interrupt Trampolines, prefix fuckwit_
   but we are politically correct people so we settled for
    Kernel Page Table Isolation, prefix kpti_
   Linus, your call :)
3) The actual isolation patches
   - Replaced the magic kaiser_add/remove_mapping() code by mapping everything
     which needs to be shared with user space into the fixmap
   - PMD aligned the shared fixmap so the PTE page can be shared between
     user and kernel space page tables
   - Integrated all fixes and Peters rewrite of the PCID/TLB flush code.
   - Restructured the patch set in a way that it is simpler to review
   - Got rid of the strange wording of shadow page tables, because they are
     not shadowish at all. KASAN, virt etc. use shadows, but these tables
     are actively in use and integral part of the functionality
   - Moved the debugfs files into a new directory so they don't clutter the
     debugfs root directory.
LIMITATIONS:
   - allmod/yes config builds fail right now because the fixmap grows
     too large and breaks the EFI assumptions. This is still investigated.
     A possible solution is just to use one of the address space holes
     and grab a separate pgdir to map the cpu entry area. Not hard to do
     and it wont change much of the principle of these patches.
TODOs:
   - This needs a thorough review again. Sorry.
   - Please verify that all fixlets have been integrated. The mail threads
     are horribly scattered so I might have missed something.
   - Rewrite documentation. I dropped the documentation patch as it not
     longer applies.
   - Handle native vsyscalls. Right now the patch set supports only
     emulation, but it should be possible to support native as well.
     Nothing urgent, I'd rather prefer to kill them completely.
   - Populate a branch with minimal prerequisite patches to apply.
Thanks to Andy Lutomirsky, Peter Zijlstra, Ingo Molnar, Borislav Petkov and
Dave Hansen for all the help with this.
The patches apply on top of
    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/urgent
and are available from git in
    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/kpti
and as tarball from
    https://tglx.de/~tglx/patches-kpti-119.tar.bz2
    Signature file for the uncompressed tarball
    https://tglx.de/~tglx/patches-kpti-119.tar.sig
Thanks,
	tglx
Powered by blists - more mailing lists
 
