From: Andy Lutomirski <luto@kernel.org>
To: x86@kernel.org
Cc: linux-kernel@vger.kernel.org, Borislav Petkov <bp@alien8.de>,
Brian Gerst <brgerst@gmail.com>,
David Laight <David.Laight@aculab.com>,
Kees Cook <keescook@chromium.org>,
Peter Zijlstra <peterz@infradead.org>,
Andy Lutomirski <luto@kernel.org>
Subject: [PATCH PTI v2 0/6] Clean up pgd handling and fix VSYSCALL and LDT
Date: Sun, 10 Dec 2017 22:47:16 -0800 [thread overview]
Message-ID: <cover.1512974667.git.luto@kernel.org> (raw)
I'm getting reasonably happy with this. It still needs more testing,
but I want to get it out there.
The main things that need testing are the 5-level case for the both
vsyscalls and the LDT. I'm getting a double-fault in ldt_gdt_64,
but I haven't checked whether it's a bug in this series, and it
kind of looks like it isn't. I'll figure it out in the morning.
The docs also want updating for the 5 level case.
Changes from v1:
- vsyscalls actually work.
- Added the "Warn and fail" patch to prevent the testing goof I had on v1.
- Lots of cleanups
Andy Lutomirski (6):
x86/pti: Vastly simplify pgd synchronization
Revert "x86/mm/pti: Disable native VSYSCALL"
x86/vsyscall/64: Explicitly set _PAGE_USER in the pagetable hierarchy
x86/vsyscall/64: Warn and fail vsyscall emulation in NATIVE mode
x86/pti: Map the vsyscall page if needed
x86/pti: Put the LDT in its own PGD if PTI is on
Documentation/x86/x86_64/mm.txt | 11 ++-
arch/x86/Kconfig | 8 --
arch/x86/entry/vsyscall/vsyscall_64.c | 37 ++++++++-
arch/x86/include/asm/mmu_context.h | 33 +++++++-
arch/x86/include/asm/pgtable.h | 6 +-
arch/x86/include/asm/pgtable_64.h | 77 ++++++++----------
arch/x86/include/asm/pgtable_64_types.h | 2 +
arch/x86/include/asm/processor.h | 23 ++++--
arch/x86/include/asm/vsyscall.h | 1 +
arch/x86/kernel/ldt.c | 138 +++++++++++++++++++++++++++++---
arch/x86/mm/pti.c | 115 ++++++++++++++++----------
11 files changed, 331 insertions(+), 120 deletions(-)
--
2.13.6
next reply other threads:[~2017-12-11 6:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-11 6:47 Andy Lutomirski [this message]
2017-12-11 6:47 ` [PATCH PTI v2 1/6] x86/pti: Vastly simplify pgd synchronization Andy Lutomirski
2017-12-11 6:47 ` [PATCH PTI v2 2/6] Revert "x86/mm/pti: Disable native VSYSCALL" Andy Lutomirski
2017-12-11 6:47 ` [PATCH PTI v2 3/6] x86/vsyscall/64: Explicitly set _PAGE_USER in the pagetable hierarchy Andy Lutomirski
2017-12-11 13:39 ` Ingo Molnar
2017-12-11 16:01 ` Andy Lutomirski
2017-12-11 16:24 ` Ingo Molnar
2017-12-11 6:47 ` [PATCH PTI v2 4/6] x86/vsyscall/64: Warn and fail vsyscall emulation in NATIVE mode Andy Lutomirski
2017-12-11 6:47 ` [PATCH PTI v2 5/6] x86/pti: Map the vsyscall page if needed Andy Lutomirski
2017-12-11 6:47 ` [PATCH PTI v2 6/6] x86/pti: Put the LDT in its own PGD if PTI is on Andy Lutomirski
2017-12-11 17:49 ` Dave Hansen
2017-12-11 18:40 ` Andy Lutomirski
2017-12-11 19:32 ` Dave Hansen
2017-12-11 19:39 ` Andy Lutomirski
2017-12-11 19:47 ` Dave Hansen
2017-12-11 20:06 ` Andy Lutomirski
2017-12-11 6:54 ` [PATCH PTI v2 0/6] Clean up pgd handling and fix VSYSCALL and LDT Andy Lutomirski
2017-12-12 16:01 ` Kirill A. Shutemov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1512974667.git.luto@kernel.org \
--to=luto@kernel.org \
--cc=David.Laight@aculab.com \
--cc=bp@alien8.de \
--cc=brgerst@gmail.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.