x86: Reject x32 executables if x32 ABI not supported
authorBen Hutchings <ben@decadent.org.uk>
Sun, 7 Sep 2014 20:05:05 +0000 (21:05 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 Nov 2014 16:59:47 +0000 (08:59 -0800)
commitc8d171f62647794b4e7ab59b4fdd62e6b0e4cd42
treebb63b7b59a02e175a9a159917069273003e6b57d
parentb1d9bf74d2ee549a0db336169a2cc02849dbf533
x86: Reject x32 executables if x32 ABI not supported

commit 0e6d3112a4e95d55cf6dca88f298d5f4b8f29bd1 upstream.

It is currently possible to execve() an x32 executable on an x86_64
kernel that has only ia32 compat enabled.  However all its syscalls
will fail, even _exit().  This usually causes it to segfault.

Change the ELF compat architecture check so that x32 executables are
rejected if we don't support the x32 ABI.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Link: http://lkml.kernel.org/r/1410120305.6822.9.camel@decadent.org.uk
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/include/asm/elf.h