OrangePi_CM5/tools/testing/selftests/x86
Borislav Petkov 0685efd984 selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage
commit a72fdfd21e01c626273ddcf5ab740d4caef4be54 upstream.

Commit in Fixes changed the iopl emulation to not #GP on CLI and STI
because it would break some insane luserspace tools which would toggle
interrupts.

The corresponding selftest would rely on the fact that executing CLI/STI
would trigger a #GP and thus detect it this way but since that #GP is
not happening anymore, the detection is now wrong too.

Extend the test to actually look at the IF flag and whether executing
those insns had any effect on it. The STI detection needs to have the
fact that interrupts were previously disabled, passed in so do that from
the previous CLI test, i.e., STI test needs to follow a previous CLI one
for it to make sense.

Fixes: b968e84b509d ("x86/iopl: Fake iopl(3) CLI/STI usage")
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20211030083939.13073-1-bp@alien8.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-11-21 13:46:37 +01:00
..
.gitignore selftests/x86/pkeys: move selftests to arch-neutral directory 2020-06-04 19:06:26 -07:00
Makefile Support for FSGSBASE. Almost 5 years after the first RFC to support it, 2020-08-04 21:16:22 -07:00
check_cc.sh treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
check_initial_reg_state.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
entry_from_vm86.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
fsgsbase.c selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS 2020-08-26 20:54:18 +02:00
fsgsbase_restore.c x86/ptrace: Fix 32-bit PTRACE_SETREGS vs fsbase and gsbase 2020-07-01 15:27:20 +02:00
helpers.h selftests/x86: Consolidate and fix get/set_eflags() helpers 2020-07-01 10:00:27 +02:00
ioperm.c selftests/x86/ioperm: Extend testing so the shared bitmap is exercised 2019-11-16 11:24:04 +01:00
iopl.c selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage 2021-11-21 13:46:37 +01:00
ldt_gdt.c
…
mov_ss_trap.c selftests/x86/mov_ss_trap: Fix the SYSENTER test 2019-11-21 21:55:51 +01:00
ptrace_syscall.c selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault 2020-03-20 11:28:47 +01:00
raw_syscall_helper_32.S
…
sigreturn.c selftests/x86/sigreturn/32: Invalidate DS and ES when abusing the kernel 2019-11-21 21:55:59 +01:00
single_step_syscall.c selftests/x86: Consolidate and fix get/set_eflags() helpers 2020-07-01 10:00:27 +02:00
syscall_arg_fault.c Support for FSGSBASE. Almost 5 years after the first RFC to support it, 2020-08-04 21:16:22 -07:00
syscall_nt.c x86/entry, selftests: Further improve user entry sanity checks 2020-07-04 19:47:25 +02:00
syscall_numbering.c x86/syscalls: Split the x32 syscalls into their own table 2019-07-22 10:31:23 +02:00
sysret_rip.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
sysret_ss_attrs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
test_FCMOV.c
…
test_FCOMI.c
…
test_FISTTP.c
…
test_mremap_vdso.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
test_syscall_vdso.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
test_vdso.c selftests/x86/vdso: Fix no-vDSO segfaults 2020-03-20 11:20:04 +01:00
test_vsyscall.c selftests/x86/test_vsyscall: Improve the process_vm_readv() test 2020-09-03 18:36:55 -07:00
thunks.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
thunks_32.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
trivial_32bit_program.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
trivial_64bit_program.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
trivial_program.c
…
unwind_vdso.c selftests/x86: Consolidate and fix get/set_eflags() helpers 2020-07-01 10:00:27 +02:00
vdso_restorer.c selftests/x86/vdso: Fix no-vDSO segfaults 2020-03-20 11:20:04 +01:00