linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] x86: modify_ldt improvement, test, and config option
@ 2015-07-21 19:59 Andy Lutomirski
  2015-07-21 19:59 ` [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous Andy Lutomirski
                   ` (2 more replies)
  0 siblings, 3 replies; 31+ messages in thread
From: Andy Lutomirski @ 2015-07-21 19:59 UTC (permalink / raw)
  To: Peter Zijlstra, Steven Rostedt
  Cc: security@kernel.org, X86 ML, Borislav Petkov, Sasha Levin,
	linux-kernel, Konrad Rzeszutek Wilk, Boris Ostrovsky,
	Andy Lutomirski

Here's v2.  It fixes the "dazed and confused" issue, I hope.  It's also
probably a good general attack surface reduction, and it replaces some
scary code with IMO less scary code.

Also, servers and embedded systems should probably turn off modify_ldt.
This makes that possible.

Xen people, can you take a look at this?  I think that, with this change,
write_ldt_entry is unnecessary.

Changes from v1:
 - The config option is new.
 - The test case is new.
 - Fixed a missing allocation failure check.
 - Fixed a use-after-free on fork().

Andy Lutomirski (3):
  x86/ldt: Make modify_ldt synchronous
  x86/ldt: Make modify_ldt optional
  selftests/x86, x86/ldt: Add a selftest for modify_ldt

 arch/x86/Kconfig                      |  17 ++
 arch/x86/include/asm/desc.h           |  15 --
 arch/x86/include/asm/mmu.h            |   5 +-
 arch/x86/include/asm/mmu_context.h    |  63 ++++-
 arch/x86/kernel/Makefile              |   3 +-
 arch/x86/kernel/cpu/common.c          |   4 +-
 arch/x86/kernel/cpu/perf_event.c      |  16 +-
 arch/x86/kernel/ldt.c                 | 247 +++++++++--------
 arch/x86/kernel/process_64.c          |   6 +-
 arch/x86/kernel/step.c                |   8 +-
 arch/x86/power/cpu.c                  |   3 +-
 kernel/sys_ni.c                       |   1 +
 tools/testing/selftests/x86/Makefile  |   2 +-
 tools/testing/selftests/x86/ldt_gdt.c | 492 ++++++++++++++++++++++++++++++++++
 14 files changed, 730 insertions(+), 152 deletions(-)
 create mode 100644 tools/testing/selftests/x86/ldt_gdt.c

-- 
2.4.3


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2015-07-22 18:49 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-21 19:59 [PATCH v2 0/3] x86: modify_ldt improvement, test, and config option Andy Lutomirski
2015-07-21 19:59 ` [PATCH v2 1/3] x86/ldt: Make modify_ldt synchronous Andy Lutomirski
2015-07-21 21:53   ` Boris Ostrovsky
2015-07-21 23:38     ` Andrew Cooper
2015-07-22  0:07       ` Andy Lutomirski
2015-07-22  0:21         ` Andrew Cooper
2015-07-22  0:28           ` Andy Lutomirski
2015-07-22  0:49             ` Andrew Cooper
2015-07-22  1:06               ` Andy Lutomirski
2015-07-22  2:04               ` [Xen-devel] " Boris Ostrovsky
2015-07-22  2:13                 ` Andy Lutomirski
2015-07-22  2:01   ` Brian Gerst
2015-07-22  2:12     ` Andy Lutomirski
2015-07-22  2:53       ` Brian Gerst
2015-07-22  4:22         ` Andy Lutomirski
2015-07-21 19:59 ` [PATCH v2 2/3] x86/ldt: Make modify_ldt optional Andy Lutomirski
2015-07-21 20:20   ` Sasha Levin
2015-07-21 20:27     ` Andy Lutomirski
2015-07-21 20:28   ` Brian Gerst
2015-07-21 20:34     ` Andy Lutomirski
2015-07-21 20:54       ` Brian Gerst
2015-07-22  6:06       ` Ingo Molnar
2015-07-22  6:23         ` Andy Lutomirski
2015-07-22  6:27           ` Ingo Molnar
2015-07-22 18:49             ` Andy Lutomirski
2015-07-22 12:34           ` Willy Tarreau
2015-07-21 19:59 ` [PATCH v2 3/3] selftests/x86, x86/ldt: Add a selftest for modify_ldt Andy Lutomirski
2015-07-21 22:02   ` Boris Ostrovsky
2015-07-21 22:34     ` Andy Lutomirski
2015-07-21 23:36   ` Willy Tarreau
2015-07-21 23:40     ` Andy Lutomirski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).