Patch "selftests/x86: Do not rely on "int $0x80" in single_step_syscall.c" has been added to the 4.15-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
selftests/x86: Do not rely on "int $0x80" in single_step_syscall.c
to the 4.15-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
selftests-x86-do-not-rely-on-int-0x80-in-single_step_syscall.c.patch
and it can be found in the queue-4.15 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
4105c69703cdeba76f384b901712c9397b04e9c2Mon Sep 17 00:00:00 2001
From: Dominik Brodowski <[email protected]>
Date: Tue, 13 Feb 2018 09:13:21 +0100
Subject: selftests/x86: Do not rely on "int $0x80" in single_step_syscall.c
From: Dominik Brodowski <[email protected]>
commit 4105c69703cdeba76f384b901712c9397b04e9c2 upstream.
On 64-bit builds, we should not rely on "int $0x80" working (it only does if CONFIG_IA32_EMULATION=y is enabled). To keep the "Set TF and check int80" test running on 64-bit installs with CONFIG_IA32_EMULATION=y enabled, build this test only if we can also build 32-bit binaries (which should be a good approximation for that).
--- tools/testing/selftests/x86/Makefile | 2 ++ tools/testing/selftests/x86/single_step_syscall.c | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-)
tools/testing/selftests/x86/Makefile +2 -0
@@ -30,11 +30,13 @@ CAN_BUILD_X86_64 := $(shell ./check_cc.s ifeq ($(CAN_BUILD_I386),1) all: all_32 TEST_PROGS += $(BINARIES_32) +EXTRA_CFLAGS += -DCAN_BUILD_32 endif ifeq ($(CAN_BUILD_X86_64),1) all: all_64 TEST_PROGS += $(BINARIES_64) +EXTRA_CFLAGS += -DCAN_BUILD_64 endif all_32: $(BINARIES_32)
tools/testing/selftests/x86/single_step_syscall.c +4 -1
@@ -119,7 +119,9 @@ static void check_result(void)int main () { +#ifdef CAN_BUILD_32 int tmp; +#endif sethandler (SIGTRAP , sigtrap,0 );
@@ -139,12 +141,13 @@ int main() : : "c" (post_nop) : "r11");check_result ();#endif - +#ifdef CAN_BUILD_32 printf ("[RUN]\tSet TF and check int80\n" );set_eflags (get_eflags () |X86_EFLAGS_TF ); asmvolatile ("int $0x80" :"=a" (tmp) :"a" (SYS_getpid) : INT80_CLOBBERS);check_result (); +#endif /* * This test is particularly interesting if fast syscalls use
Patches currently in stable-queue which might be from [email protected] are
queue-4.15/selftests-x86-fix-build-bug-caused-by-the-5lvl-test-which-has-been-moved-to-the-vm-directory.patch queue-4.15/x86-entry-64-interleave-xor-register-clearing-with-push-instructions.patch queue-4.15/x86-entry-64-merge-the-pop_c_regs-and-pop_extra_regs-macros-into-a-single-pop_regs-macro.patch queue-4.15/x86-entry-64-remove-the-unused-icebp-macro.patch queue-4.15/x86-entry-64-use-push_and_clean_regs-in-more-cases.patch queue-4.15/selftests-x86-disable-tests-requiring-32-bit-support-on-pure-64-bit-systems.patch queue-4.15/x86-entry-64-fix-paranoid_entry-frame-pointer-warning.patch queue-4.15/x86-entry-64-merge-save_c_regs-and-save_extra_regs-remove-unused-extensions.patch queue-4.15/selftests-x86-do-not-rely-on-int-0x80-in-single_step_syscall.c.patch queue-4.15/selftests-x86-fix-vdso-selftest-segfault-for-vsyscall-none.patch queue-4.15/x86-entry-64-indent-push_and_clear_regs-and-pop_regs-properly.patch queue-4.15/selftests-x86-clean-up-and-document-sscanf-usage.patch queue-4.15/selftests-x86-do-not-rely-on-int-0x80-in-test_mremap_vdso.c.patch queue-4.15/x86-entry-64-get-rid-of-the-alloc_pt_gpregs_on_stack-and-save_and_clear_regs-macros.patch queue-4.15/x86-entry-64-introduce-the-push_and_clean_regs-macro.patch