x86, tls, ldt: Stop checking lm in LDT_empty
authorAndy Lutomirski <luto@amacapital.net>
Thu, 22 Jan 2015 19:27:58 +0000 (11:27 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 22 Jan 2015 20:11:06 +0000 (21:11 +0100)
commite30ab185c490e9a9381385529e0fd32f0a399495
treecc5524baa777da7cc0b168f4d4649e0029fd4045
parente9d1b4f3c60997fe197bf0243cb4a41a44387a88
x86, tls, ldt: Stop checking lm in LDT_empty

32-bit programs don't have an lm bit in their ABI, so they can't
reliably cause LDT_empty to return true without resorting to memset.
They shouldn't need to do this.

This should fix a longstanding, if minor, issue in all 64-bit kernels
as well as a potential regression in the TLS hardening code.

Fixes: 41bdc78544b8 x86/tls: Validate TLS entries to protect espfix
Cc: stable@vger.kernel.org
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Cc: torvalds@linux-foundation.org
Link: http://lkml.kernel.org/r/72a059de55e86ad5e2935c80aa91880ddf19d07c.1421954363.git.luto@amacapital.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/include/asm/desc.h