]> git.baikalelectronics.ru Git - kernel.git/commit
selftests/x86: Consolidate and fix get/set_eflags() helpers
authorAndy Lutomirski <luto@kernel.org>
Fri, 26 Jun 2020 17:21:16 +0000 (10:21 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 1 Jul 2020 08:00:27 +0000 (10:00 +0200)
commit08c923ec8943d926890a144cfbb3202f2233db30
tree4cf94eb54ae3f64b4c4b54c696f0e5fabd081078
parent669126503585a805e575db65b74e30e4196c9c44
selftests/x86: Consolidate and fix get/set_eflags() helpers

There are several copies of get_eflags() and set_eflags() and they all are
buggy.  Consolidate them and fix them.  The fixes are:

Add memory clobbers.  These are probably unnecessary but they make sure
that the compiler doesn't move something past one of these calls when it
shouldn't.

Respect the redzone on x86_64.  There has no failure been observed related
to this, but it's definitely a bug.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/982ce58ae8dea2f1e57093ee894760e35267e751.1593191971.git.luto@kernel.org
tools/testing/selftests/x86/Makefile
tools/testing/selftests/x86/helpers.h [new file with mode: 0644]
tools/testing/selftests/x86/single_step_syscall.c
tools/testing/selftests/x86/syscall_arg_fault.c
tools/testing/selftests/x86/syscall_nt.c
tools/testing/selftests/x86/test_vsyscall.c
tools/testing/selftests/x86/unwind_vdso.c