[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1512109321.git.luto@kernel.org>
Date: Thu, 30 Nov 2017 22:29:40 -0800
From: Andy Lutomirski <luto@...nel.org>
To: x86@...nel.org
Cc: linux-kernel@...r.kernel.org, Borislav Petkov <bp@...en8.de>,
Brian Gerst <brgerst@...il.com>,
David Laight <David.Laight@...lab.com>,
Kees Cook <keescook@...omium.org>,
Peter Zijlstra <peterz@...radead.org>,
Andy Lutomirski <luto@...nel.org>
Subject: [PATCH 0/6] WIP.x86/mm fixes
This is a bit oddly formatted, since it's meant to by a set of changes
to a tree, not a normal patch set.
"x86/orc: Don't bail on stack overflow" is a fixed version of
"x86/unwinder/orc: Don't bail on stack overflow". If you'd rather
just manually patch it, change "regs->sp" to "state->sp". Bug noticed
by Dan Carpenter.
Patch 2 is a bugfix that prevents a potential KVM explosion. The
original patch failed to update KVM. Thanks, KVM, for having a
separate copy of everything related to CPU state.
Patch 3 is another bugfix that prevents a potential KVM explosion
once the rest of KAISER is patched in. (I haven't tested, but I imagine
we'd blow up horribly on the first interrupt from user mode after a
VM exit.)
Patch 4 fixes a *huge* performance regression. Well, not as huge as
KAISER, but still huge. It turns out that pushq; retq is very, very
slow.
Patch 5 fixes a potential bug. Thomas, I think you said you had a fix
on top of this fix. If you want my help, let me know.
Patch 6 is new. It makes the TSS remap RO on 64-bit kernels.
Andy Lutomirski (6):
x86/orc: Don't bail on stack overflow
Fixup "x86/asm: Fix assumptions that the HW TSS is at the beginning of
cpu_tss"
Fixup "x86/asm: Remap the TSS into the cpu entry area"
Unsuck "x86/entry/64: Create a percpu SYSCALL entry trampoline"
Fixup "x86/entry/64: Move the IST stacks into cpu_entry_area"
x86/entry/64: Make cpu_entry_area.tss read-only
arch/x86/entry/entry_32.S | 4 ++--
arch/x86/entry/entry_64.S | 24 +++++++++++++------
arch/x86/include/asm/fixmap.h | 15 ++++++++----
arch/x86/include/asm/processor.h | 17 +++++++------
arch/x86/include/asm/switch_to.h | 4 ++--
arch/x86/include/asm/thread_info.h | 2 +-
arch/x86/kernel/asm-offsets.c | 6 ++---
arch/x86/kernel/asm-offsets_32.c | 4 ++--
arch/x86/kernel/cpu/common.c | 49 +++++++++++++++++++++++++++-----------
arch/x86/kernel/ioport.c | 2 +-
arch/x86/kernel/process.c | 6 ++---
arch/x86/kernel/process_32.c | 2 +-
arch/x86/kernel/process_64.c | 2 +-
arch/x86/kernel/traps.c | 10 ++++++--
arch/x86/kernel/unwind_orc.c | 14 +++++++++--
arch/x86/kvm/vmx.c | 2 +-
arch/x86/lib/delay.c | 4 ++--
arch/x86/xen/enlighten_pv.c | 2 +-
18 files changed, 110 insertions(+), 59 deletions(-)
--
2.13.6
Powered by blists - more mailing lists