android_kernel_google_msm/arch/x86
Andy Lutomirski 3a0dc1134f x86/tls: Disallow unusual TLS segments
commit 0e58af4e1d2166e9e33375a0f121e4867010d4f8 upstream.

Users have no business installing custom code segments into the
GDT, and segments that are not present but are otherwise valid
are a historical source of interesting attacks.

For completeness, block attempts to set the L bit.  (Prior to
this patch, the L bit would have been silently dropped.)

This is an ABI break.  I've checked glibc, musl, and Wine, and
none of them look like they'll have any trouble.

Note to stable maintainers: this is a hardening patch that fixes
no known bugs.  Given the possibility of ABI issues, this
probably shouldn't be backported quickly.

Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: security@kernel.org <security@kernel.org>
Cc: Willy Tarreau <w@1wt.eu>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Zefan Li <lizefan@huawei.com>
2015-04-14 17:33:46 +08:00
..
boot x86, build: Pass in additional -mno-mmx, -mno-sse options 2014-06-07 16:02:08 -07:00
configs
crypto crypto: ghash-clmulni-intel - use C implementation for setkey() 2014-05-13 14:11:30 +02:00
ia32
include/asm x86, tls: Interpret an all-zero struct user_desc as "no segment" 2015-02-02 17:05:25 +08:00
kernel x86/tls: Disallow unusual TLS segments 2015-04-14 17:33:46 +08:00
kvm KVM: x86: Fix far-jump to non-canonical check 2015-02-02 17:05:25 +08:00
lguest
lib
math-emu
mm x86-64, espfix: Don't leak bits 31:16 of %esp returning to 16-bit stack 2014-08-07 12:00:10 -07:00
net x86: bpf_jit: support negative offsets 2014-03-30 21:40:30 -07:00
oprofile
pci
platform x86/efi: Fix dummy variable buffer allocation 2014-06-07 16:02:10 -07:00
power
syscalls x86, x32: Use compat shims for io_{setup,submit} 2014-06-30 20:01:33 -07:00
tools
um x86, um: Correct syscall table type attributes breaking gcc 4.8 2013-06-07 12:49:48 -07:00
vdso Revert "x86-64, modify_ldt: Make support for 16-bit segments a runtime option" 2014-08-07 12:00:10 -07:00
video
xen xen/smp/spinlock: Fix leakage of the spinlock interrupt line for every CPU online/offline 2014-03-11 16:10:06 -07:00
.gitignore
Kbuild
Kconfig x86, espfix: Make it possible to disable 16-bit support 2014-08-07 12:00:11 -07:00
Kconfig.cpu
Kconfig.debug
Makefile
Makefile.um
Makefile_32.cpu