android_kernel_oneplus_msm8998/tools
Andy Lutomirski d34ecdc971 selftests/x86/ldt_gdt_32: Work around a glibc sigaction() bug
commit 65973dd3fd31151823f4b8c289eebbb3fb7e6bc0 upstream.

i386 glibc is buggy and calls the sigaction syscall incorrectly.

This is asymptomatic for normal programs, but it blows up on
programs that do evil things with segmentation.  The ldt_gdt
self-test is an example of such an evil program.

This doesn't appear to be a regression -- I think I just got lucky
with the uninitialized memory that glibc threw at the kernel when I
wrote the test.

This hackish fix manually issues sigaction(2) syscalls to undo the
damage.  Without the fix, ldt_gdt_32 segfaults; with the fix, it
passes for me.

See: https://sourceware.org/bugzilla/show_bug.cgi?id=21269

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Garnier <thgarnie@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/aaab0f9f93c9af25396f01232608c163a760a668.1490218061.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-20 14:26:59 +02:00
..
arch tools include: Add basic atomic.h implementation from the kernel sources 2015-05-08 16:11:05 -03:00
build tools build: Fix libiberty feature detection 2015-10-29 17:46:35 -03:00
cgroup
firewire
hv Tools: hv: kvp: ensure kvp device fd is closed on exec 2017-04-27 09:09:33 +02:00
iio iio: generic_buffer: be helpful about enabling channels 2015-08-16 10:51:26 +01:00
include give up on gcc ilog2() constant optimizations 2017-03-26 12:13:18 +02:00
laptop/freefall Move freefall program from Documentation/ to tools/ 2015-06-08 16:42:07 -06:00
lguest tools/lguest: Clean up include dir 2015-08-26 06:12:35 +02:00
lib tools lib traceevent: Do not reassign parg after collapse_tree() 2016-05-18 17:06:53 -07:00
net tools/net: Use include/uapi with __EXPORTED_HEADERS__ 2015-11-15 17:24:33 -05:00
nfsd
perf perf scripting: Avoid leaking the scripting_context variable 2017-01-26 08:23:47 +01:00
power cpupower: Fix turbo frequency reporting for pre-Sandy Bridge cores 2017-05-14 13:32:54 +02:00
scripts
testing selftests/x86/ldt_gdt_32: Work around a glibc sigaction() bug 2017-05-20 14:26:59 +02:00
thermal/tmon tools/thermal: tmon: use pkg-config also for CFLAGS 2015-10-10 11:32:31 +08:00
time
usb usb: patches for v4.4 merge window 2015-10-22 17:19:33 -07:00
virtio tools/virtio: fix byteswap logic 2015-12-07 17:28:10 +02:00
vm tools/vm/slabinfo: fix an unintentional printf 2016-10-07 15:23:41 +02:00
Makefile tools: Add a "make all" rule 2015-11-12 18:58:10 -03:00