KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d 2018-03-01 17:58:33 ln -sf /usr/bin/gcc-5 /usr/bin/gcc 2018-03-01 17:58:33 make run_tests -C user make: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/user' TAP version 13 selftests: test_user_copy.sh ======================================== user_copy: ok ok 1..1 selftests: test_user_copy.sh [PASS] make: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/user' vDSO test: not in Makefile 2018-03-01 17:58:33 make TARGETS=vDSO make[1]: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vDSO' Makefile:20: warning: overriding recipe for target 'clean' ../lib.mk:97: warning: ignoring old recipe for target 'clean' gcc -std=gnu99 vdso_test.c parse_vdso.c -o vdso_test gcc -std=gnu99 -nostdlib -fno-asynchronous-unwind-tables -fno-stack-protector \ vdso_standalone_test_x86.c parse_vdso.c \ -o vdso_standalone_test_x86 make[1]: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vDSO' 2018-03-01 17:58:34 make run_tests -C vDSO make: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vDSO' Makefile:20: warning: overriding recipe for target 'clean' ../lib.mk:97: warning: ignoring old recipe for target 'clean' TAP version 13 selftests: vdso_test ======================================== The time is 1519898314.264463 ok 1..1 selftests: vdso_test [PASS] selftests: vdso_standalone_test_x86 ======================================== The time is 1519898314.314299 ok 1..2 selftests: vdso_standalone_test_x86 [PASS] make: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vDSO' 2018-03-01 17:58:34 make run_tests -C vm make: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm' gcc -Wall -I ../../../../usr/include compaction_test.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/compaction_test gcc -Wall -I ../../../../usr/include gup_benchmark.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/gup_benchmark gcc -Wall -I ../../../../usr/include hugepage-mmap.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/hugepage-mmap gcc -Wall -I ../../../../usr/include hugepage-shm.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/hugepage-shm gcc -Wall -I ../../../../usr/include map_hugetlb.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/map_hugetlb gcc -Wall -I ../../../../usr/include mlock-random-test.c -lrt -lcap -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/mlock-random-test gcc -Wall -I ../../../../usr/include mlock2-tests.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/mlock2-tests gcc -Wall -I ../../../../usr/include on-fault-limit.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/on-fault-limit gcc -Wall -I ../../../../usr/include thuge-gen.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/thuge-gen gcc -Wall -I ../../../../usr/include transhuge-stress.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/transhuge-stress gcc -Wall -I ../../../../usr/include userfaultfd.c ../../../../usr/include/linux/kernel.h -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/userfaultfd gcc -Wall -I ../../../../usr/include va_128TBswitch.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/va_128TBswitch gcc -Wall -I ../../../../usr/include virtual_address_range.c -lrt -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm/virtual_address_range TAP version 13 selftests: run_vmtests ======================================== --------------------- running hugepage-mmap --------------------- Returned address is 0x7fbf4a800000 First hex is 0 First hex is 3020100 [PASS] -------------------- running hugepage-shm -------------------- shmid: 0x0 shmaddr: 0x7f65d7000000 Starting the writes: ................................................................................................................................................................................................................................................................ Starting the Check...Done. [PASS] ------------------- running map_hugetlb ------------------- Returned address is 0x7f1caf800000 First hex is 0 First hex is 3020100 [PASS] NOTE: The above hugetlb tests provide minimal coverage. Use https://github.com/libhugetlbfs/libhugetlbfs.git for hugetlb regression testing. ------------------- running userfaultfd ------------------- nr_pages: 32768, nr_pages_per_cpu: 16384 bounces: 31, mode: rnd racing ver poll, userfaults: 5309 4615 bounces: 30, mode: racing ver poll, userfaults: 2439 3153 bounces: 29, mode: rnd ver poll, userfaults: 6661 4322 bounces: 28, mode: ver poll, userfaults: 6553 4992 bounces: 27, mode: rnd racing poll, userfaults: 3123 3346 bounces: 26, mode: racing poll, userfaults: 5977 3123 bounces: 25, mode: rnd poll, userfaults: 4588 5215 bounces: 24, mode: poll, userfaults: 6638 5857 bounces: 23, mode: rnd racing ver, userfaults: 3875 5356 bounces: 22, mode: racing ver, userfaults: 4879 4582 bounces: 21, mode: rnd ver, userfaults: 4640 9501 bounces: 20, mode: ver, userfaults: 6958 7606 bounces: 19, mode: rnd racing, userfaults: 4216 3878 bounces: 18, mode: racing, userfaults: 5251 3659 bounces: 17, mode: rnd, userfaults: 7600 7320 bounces: 16, mode:, userfaults: 6803 7550 bounces: 15, mode: rnd racing ver poll, userfaults: 3388 3127 bounces: 14, mode: racing ver poll, userfaults: 6392 3350 bounces: 13, mode: rnd ver poll, userfaults: 8159 5388 bounces: 12, mode: ver poll, userfaults: 5646 4630 bounces: 11, mode: rnd racing poll, userfaults: 3059 2131 bounces: 10, mode: racing poll, userfaults: 3626 3130 bounces: 9, mode: rnd poll, userfaults: 4667 3600 bounces: 8, mode: poll, userfaults: 3221 6692 bounces: 7, mode: rnd racing ver, userfaults: 2830 2887 bounces: 6, mode: racing ver, userfaults: 4915 4109 bounces: 5, mode: rnd ver, userfaults: 6278 5244 bounces: 4, mode: ver, userfaults: 9401 7931 bounces: 3, mode: rnd racing, userfaults: 3322 5828 bounces: 2, mode: racing, userfaults: 4400 4166 bounces: 1, mode: rnd, userfaults: 5023 5412 bounces: 0, mode:, userfaults: 7393 7388 testing UFFDIO_ZEROPAGE: done. testing signal delivery: done. testing events (fork, remap, remove): userfaults: 32768 [PASS] --------------------------- running userfaultfd_hugetlb --------------------------- nr_pages: 64, nr_pages_per_cpu: 32 bounces: 31, mode: rnd racing ver poll, userfaults: 10 13 bounces: 30, mode: racing ver poll, userfaults: 4 1 bounces: 29, mode: rnd ver poll, userfaults: 6 11 bounces: 28, mode: ver poll, userfaults: 17 12 bounces: 27, mode: rnd racing poll, userfaults: 8 12 bounces: 26, mode: racing poll, userfaults: 10 6 bounces: 25, mode: rnd poll, userfaults: 12 17 bounces: 24, mode: poll, userfaults: 8 8 bounces: 23, mode: rnd racing ver, userfaults: 12 10 bounces: 22, mode: racing ver, userfaults: 17 12 bounces: 21, mode: rnd ver, userfaults: 25 11 bounces: 20, mode: ver, userfaults: 15 11 bounces: 19, mode: rnd racing, userfaults: 25 9 bounces: 18, mode: racing, userfaults: 16 13 bounces: 17, mode: rnd, userfaults: 13 12 bounces: 16, mode:, userfaults: 11 5 bounces: 15, mode: rnd racing ver poll, userfaults: 15 15 bounces: 14, mode: racing ver poll, userfaults: 8 6 bounces: 13, mode: rnd ver poll, userfaults: 9 15 bounces: 12, mode: ver poll, userfaults: 10 17 bounces: 11, mode: rnd racing poll, userfaults: 15 11 bounces: 10, mode: racing poll, userfaults: 18 10 bounces: 9, mode: rnd poll, userfaults: 9 14 bounces: 8, mode: poll, userfaults: 10 18 bounces: 7, mode: rnd racing ver, userfaults: 16 12 bounces: 6, mode: racing ver, userfaults: 8 6 bounces: 5, mode: rnd ver, userfaults: 16 11 bounces: 4, mode: ver, userfaults: 6 7 bounces: 3, mode: rnd racing, userfaults: 19 14 bounces: 2, mode: racing, userfaults: 10 6 bounces: 1, mode: rnd, userfaults: 15 14 bounces: 0, mode:, userfaults: 11 8 testing UFFDIO_ZEROPAGE: done. testing signal delivery: done. testing events (fork, remap, remove): userfaults: 64 [PASS] ------------------------- running userfaultfd_shmem ------------------------- nr_pages: 32768, nr_pages_per_cpu: 16384 bounces: 31, mode: rnd racing ver poll, userfaults: 2735 3239 bounces: 30, mode: racing ver poll, userfaults: 3281 3967 bounces: 29, mode: rnd ver poll, userfaults: 4797 4952 bounces: 28, mode: ver poll, userfaults: 6788 6960 bounces: 27, mode: rnd racing poll, userfaults: 1484 1490 bounces: 26, mode: racing poll, userfaults: 1709 5027 bounces: 25, mode: rnd poll, userfaults: 3789 5438 bounces: 24, mode: poll, userfaults: 3422 3462 bounces: 23, mode: rnd racing ver, userfaults: 3491 2961 bounces: 22, mode: racing ver, userfaults: 3786 3575 bounces: 21, mode: rnd ver, userfaults: 4704 4531 bounces: 20, mode: ver, userfaults: 3070 2942 bounces: 19, mode: rnd racing, userfaults: 2435 2561 bounces: 18, mode: racing, userfaults: 3677 3514 bounces: 17, mode: rnd, userfaults: 6334 5735 bounces: 16, mode:, userfaults: 5981 4004 bounces: 15, mode: rnd racing ver poll, userfaults: 3043 3987 bounces: 14, mode: racing ver poll, userfaults: 2097 2513 bounces: 13, mode: rnd ver poll, userfaults: 4422 4566 bounces: 12, mode: ver poll, userfaults: 6624 6655 bounces: 11, mode: rnd racing poll, userfaults: 3627 3209 bounces: 10, mode: racing poll, userfaults: 2844 4014 bounces: 9, mode: rnd poll, userfaults: 5853 4730 bounces: 8, mode: poll, userfaults: 6556 6904 bounces: 7, mode: rnd racing ver, userfaults: 4208 4534 bounces: 6, mode: racing ver, userfaults: 5109 5537 bounces: 5, mode: rnd ver, userfaults: 5097 5098 bounces: 4, mode: ver, userfaults: 2218 1760 bounces: 3, mode: rnd racing, userfaults: 5057 5193 bounces: 2, mode: racing, userfaults: 5631 4912 bounces: 1, mode: rnd, userfaults: 6113 6399 bounces: 0, mode:, userfaults: 7165 6794 testing UFFDIO_ZEROPAGE: done. testing signal delivery: done. testing events (fork, remap, remove): userfaults: 32768 [PASS] ----------------------- running compaction_test ----------------------- [ignored_by_lkp] [PASS] ---------------------- running on-fault-limit ---------------------- [PASS] -------------------- running mlock2-tests -------------------- Failed to make faulted page unevictable Failed to make faulted page unevictable Failed to make present page unevictable [FAIL] ----------------------------- running virtual_address_range ----------------------------- [PASS] ----------------------------- running virtual address 128TB switch test ----------------------------- [ignored_by_lkp] [PASS] not ok 1..1 selftests: run_vmtests [FAIL] make: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/vm' watchdog test: not in Makefile 2018-03-01 17:59:18 make TARGETS=watchdog make[1]: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/watchdog' gcc watchdog-test.c -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/watchdog/watchdog-test make[1]: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/watchdog' ignored_by_lkp watchdog test 2018-03-01 17:59:19 make run_tests -C x86 make: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86' gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/single_step_syscall_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 single_step_syscall.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/sysret_ss_attrs_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 sysret_ss_attrs.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/syscall_nt_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 syscall_nt.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_mremap_vdso_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_mremap_vdso.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/check_initial_reg_state_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -Wl,-ereal_start -static -DCAN_BUILD_32 -DCAN_BUILD_64 check_initial_reg_state.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/sigreturn_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 sigreturn.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/iopl_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 iopl.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/mpx-mini-test_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 mpx-mini-test.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/ioperm_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 ioperm.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/protection_keys_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 protection_keys.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_vdso_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_vdso.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_vsyscall_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_vsyscall.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/entry_from_vm86_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 entry_from_vm86.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/syscall_arg_fault_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 syscall_arg_fault.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_syscall_vdso_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_syscall_vdso.c thunks_32.S -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/unwind_vdso_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 unwind_vdso.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_FCMOV_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_FCMOV.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_FCOMI_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_FCOMI.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_FISTTP_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_FISTTP.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/vdso_restorer_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 vdso_restorer.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/ldt_gdt_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 ldt_gdt.c -lrt -ldl -lm gcc -m32 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/ptrace_syscall_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 ptrace_syscall.c raw_syscall_helper_32.S -lrt -ldl -lm gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/single_step_syscall_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 single_step_syscall.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/sysret_ss_attrs_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 sysret_ss_attrs.c thunks.S -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/syscall_nt_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 syscall_nt.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_mremap_vdso_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_mremap_vdso.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/check_initial_reg_state_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -Wl,-ereal_start -static -DCAN_BUILD_32 -DCAN_BUILD_64 check_initial_reg_state.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/sigreturn_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 sigreturn.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/iopl_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 iopl.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/mpx-mini-test_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 mpx-mini-test.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/ioperm_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 ioperm.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/protection_keys_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 protection_keys.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_vdso_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_vdso.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/test_vsyscall_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 test_vsyscall.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/fsgsbase_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 fsgsbase.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/sysret_rip_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 sysret_rip.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/ldt_gdt_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 ldt_gdt.c -lrt -ldl gcc -m64 -o /usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86/ptrace_syscall_64 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 -DCAN_BUILD_64 ptrace_syscall.c -lrt -ldl TAP version 13 selftests: single_step_syscall_32 ======================================== [RUN] Set TF and check nop [OK] Survived with TF set and 9 traps [RUN] Set TF and check int80 [OK] Survived with TF set and 9 traps [RUN] Set TF and check a fast syscall [OK] Survived with TF set and 38 traps [RUN] Fast syscall with TF cleared [OK] Nothing unexpected happened ok 1..1 selftests: single_step_syscall_32 [PASS] selftests: sysret_ss_attrs_32 ======================================== [RUN] Syscalls followed by SS validation [OK] We survived ok 1..2 selftests: sysret_ss_attrs_32 [PASS] selftests: syscall_nt_32 ======================================== [RUN] Set NT and issue a syscall [OK] The syscall worked and flags are still set [RUN] Set NT|TF and issue a syscall [OK] The syscall worked and flags are still set ok 1..3 selftests: syscall_nt_32 [PASS] selftests: test_mremap_vdso_32 ======================================== AT_SYSINFO_EHDR is 0xf7ef9000 [NOTE] Moving vDSO: [0xf7ef9000, 0xf7efa000] -> [0xf7ef3000, 0xf7ef4000] [NOTE] vDSO partial move failed, will try with bigger size [NOTE] Moving vDSO: [0xf7ef9000, 0xf7efb000] -> [0xf7ef2000, 0xf7ef4000] [OK] ok 1..4 selftests: test_mremap_vdso_32 [PASS] selftests: check_initial_reg_state_32 ======================================== [OK] All GPRs except SP are 0 [OK] FLAGS is 0x202 ok 1..5 selftests: check_initial_reg_state_32 [PASS] selftests: sigreturn_32 ======================================== [OK] set_thread_area refused 16-bit data [OK] set_thread_area refused 16-bit data [RUN] Valid sigreturn: 64-bit CS (33), 32-bit SS (2b, GDT) SP: 5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 32-bit CS (23), 32-bit SS (2b, GDT) SP: 5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 16-bit CS (37), 32-bit SS (2b, GDT) SP: 5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 64-bit CS (33), 16-bit SS (3f) SP: 5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 32-bit CS (23), 16-bit SS (3f) SP: 5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 16-bit CS (37), 16-bit SS (3f) SP: 5aadc0de -> 5aadc0de [OK] all registers okay [RUN] 64-bit CS (33), bogus SS (47) [OK] Got #GP(0x0) (i.e. Segmentation fault) [RUN] 32-bit CS (23), bogus SS (47) [OK] Got #GP(0x0) (i.e. Segmentation fault) [RUN] 16-bit CS (37), bogus SS (47) [OK] Got #GP(0x0) (i.e. Segmentation fault) [RUN] 64-bit CS (33), bogus SS (23) [OK] Got #GP(0x20) (i.e. GDT index 4, Segmentation fault) [RUN] 32-bit CS (23), bogus SS (23) [OK] Got #GP(0x20) (i.e. GDT index 4, Segmentation fault) [RUN] 16-bit CS (37), bogus SS (23) [OK] Got #GP(0x20) (i.e. GDT index 4, Segmentation fault) [RUN] 32-bit CS (4f), bogus SS (2b) [OK] Got #NP(0x4c) (i.e. LDT index 9, Bus error) [RUN] 32-bit CS (23), bogus SS (57) [OK] Got #GP(0x0) (i.e. Segmentation fault) ok 1..6 selftests: sigreturn_32 [PASS] selftests: iopl_32 ======================================== child: set IOPL to 3 [RUN] child: write to 0x80 [OK] Child succeeded [RUN] parent: write to 0x80 (should fail) [OK] write was denied iopl(3) Drop privileges [RUN] iopl(3) unprivileged but with IOPL==3 [RUN] iopl(0) unprivileged [RUN] iopl(3) unprivileged [OK] Failed as expected ok 1..7 selftests: iopl_32 [PASS] selftests: mpx-mini-test_32 ======================================== processor lacks XSAVE, can not run MPX tests ok 1..8 selftests: mpx-mini-test_32 [PASS] selftests: ioperm_32 ======================================== [OK] outb to 0x80 failed [OK] outb to 0xed failed [RUN] enable 0x80 [OK] outb to 0x80 worked [OK] outb to 0xed failed [RUN] disable 0x80 [OK] outb to 0x80 failed [OK] outb to 0xed failed [RUN] child: check that we inherited permissions [OK] outb to 0x80 worked [OK] outb to 0xed failed [OK] outb to 0x80 failed [OK] outb to 0xed failed [RUN] enable 0x80 [OK] outb to 0x80 worked [OK] outb to 0xed failed [RUN] disable 0x80 [OK] outb to 0x80 failed [OK] outb to 0xed failed [OK] Child succeeded Drop privileges [RUN] disable 0x80 [OK] it worked [RUN] enable 0x80 again [OK] it failed ok 1..9 selftests: ioperm_32 [PASS] selftests: protection_keys_32 ======================================== has pku: 0 running PKEY tests for unsupported CPU/OS ok 1..10 selftests: protection_keys_32 [PASS] selftests: test_vdso_32 ======================================== Warning: failed to find getcpu in vDSO [RUN] Testing getcpu... [OK] CPU 0: syscall: cpu 0, node 0 [OK] CPU 1: syscall: cpu 1, node 0 ok 1..11 selftests: test_vdso_32 [PASS] selftests: test_vsyscall_32 ======================================== [NOTE] failed to find getcpu in vDSO [RUN] test gettimeofday() vDSO time offsets: 0.000013 0.000001 [OK] vDSO gettimeofday()'s timeval was okay [RUN] test time() [OK] vDSO time() is okay [RUN] getcpu() on CPU 0 [RUN] getcpu() on CPU 1 ok 1..12 selftests: test_vsyscall_32 [PASS] selftests: entry_from_vm86_32 ======================================== [RUN] #BR from vm86 mode [SKIP] vm86 not supported [RUN] SYSENTER from vm86 mode [SKIP] vm86 not supported [RUN] SYSCALL from vm86 mode [SKIP] vm86 not supported [RUN] STI with VIP set from vm86 mode [SKIP] vm86 not supported [RUN] INT3 from vm86 mode [SKIP] vm86 not supported [RUN] int80 from vm86 mode [SKIP] vm86 not supported [RUN] UMIP tests from vm86 mode [SKIP] vm86 not supported [INFO] Result from SMSW:[0x0000] [INFO] Result from SIDT: limit[0x0000]base[0x00000000] [INFO] Result from SGDT: limit[0x0000]base[0x00000000] [PASS] All the results from SMSW are identical. [PASS] All the results from SGDT are identical. [PASS] All the results from SIDT are identical. [RUN] STR instruction from vm86 mode [SKIP] vm86 not supported [RUN] SLDT instruction from vm86 mode [SKIP] vm86 not supported [RUN] Execute null pointer from vm86 mode [SKIP] vm86 not supported ok 1..13 selftests: entry_from_vm86_32 [PASS] [RUN] #BR from vm86 mode [SKIP] vm86 not supported [RUN] SYSENTER from vm86 mode [SKIP] vm86 not supported [RUN] SYSCALL from vm86 mode [SKIP] vm86 not supported [RUN] STI with VIP set from vm86 mode [SKIP] vm86 not supported [RUN] INT3 from vm86 mode [SKIP] vm86 not supported [RUN] int80 from vm86 mode [SKIP] vm86 not supported [RUN] UMIP tests from vm86 mode [SKIP] vm86 not supported [INFO] Result from SMSW:[0x0000] [INFO] Result from SIDT: limit[0x0000]base[0x00000000] [INFO] Result from SGDT: limit[0x0000]base[0x00000000] [PASS] All the results from SMSW are identical. [PASS] All the results from SGDT are identical. [PASS] All the results from SIDT are identical. [RUN] STR instruction from vm86 mode [SKIP] vm86 not supported [RUN] SLDT instruction from vm86 mode [SKIP] vm86 not supported [RUN] Execute null pointer from vm86 mode [SKIP] vm86 not supported selftests: syscall_arg_fault_32 ======================================== [RUN] SYSENTER with invalid state [OK] Seems okay [RUN] SYSCALL with invalid state [SKIP] Illegal instruction ok 1..14 selftests: syscall_arg_fault_32 [PASS] selftests: test_syscall_vdso_32 ======================================== [RUN] Executing 6-argument 32-bit syscall via VDSO [WARN] Flags before=0000000000200ed7 id 0 00 o d i s z 0 a 0 p 1 c [WARN] Flags after=0000000000200606 id 0 00 d i 0 0 p 1 [WARN] Flags change=00000000000008d1 0 00 o s z 0 a 0 0 c [OK] Arguments are preserved across syscall [NOTE] R11 has changed:0000000000200606 - assuming clobbered by SYSRET insn [OK] R8..R15 did not leak kernel data [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall [OK] R8..R15 did not leak kernel data [RUN] Executing 6-argument 32-bit syscall via VDSO [WARN] Flags before=0000000000200ed7 id 0 00 o d i s z 0 a 0 p 1 c [WARN] Flags after=0000000000200606 id 0 00 d i 0 0 p 1 [WARN] Flags change=00000000000008d1 0 00 o s z 0 a 0 0 c [OK] Arguments are preserved across syscall [NOTE] R11 has changed:0000000000200606 - assuming clobbered by SYSRET insn [OK] R8..R15 did not leak kernel data [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall [OK] R8..R15 did not leak kernel data [RUN] Running tests under ptrace ok 1..15 selftests: test_syscall_vdso_32 [PASS] selftests: unwind_vdso_32 ======================================== AT_SYSINFO is 0xf7effdb0 [OK] AT_SYSINFO maps to linux-gate.so.1, loaded at 0x0xf7eff000 [RUN] Set TF and check a fast syscall In vsyscall at 0xf7effdb0, returning to 0xf7cff0c7 SIGTRAP at 0xf7effdb0 0xf7effdb0 0xf7cff0c7 [OK] NR = 20, args = 1, 2, 3, 4, 5, 6 SIGTRAP at 0xf7effdb1 0xf7effdb1 0xf7cff0c7 [OK] NR = 20, args = 1, 2, 3, 4, 5, 6 SIGTRAP at 0xf7effdb2 0xf7effdb2 0xf7cff0c7 [OK] NR = 20, args = 1, 2, 3, 4, 5, 6 SIGTRAP at 0xf7effdb3 0xf7effdb3 0xf7cff0c7 [OK] NR = 20, args = 1, 2, 3, 4, 5, 6 SIGTRAP at 0xf7effdb5 0xf7effdb5 0xf7cff0c7 [OK] NR = 20, args = 1, 2, 3, 4, 5, 6 SIGTRAP at 0xf7effdba 0xf7effdba 0xf7cff0c7 [OK] NR = 2008, args = 1, 2, 3, 4, 5, 6 SIGTRAP at 0xf7effdbb 0xf7effdbb 0xf7cff0c7 [OK] NR = 2008, args = 1, 2, 3, 4, 5, 6 SIGTRAP at 0xf7effdbc 0xf7effdbc 0xf7cff0c7 [OK] NR = 2008, args = 1, 2, 3, 4, 5, 6 Vsyscall is done [OK] All is well ok 1..16 selftests: unwind_vdso_32 [PASS] selftests: test_FCMOV_32 ======================================== [RUN] Testing fcmovCC instructions [OK] fcmovCC ok 1..17 selftests: test_FCMOV_32 [PASS] selftests: test_FCOMI_32 ======================================== [RUN] Testing f[u]comi[p] instructions [OK] f[u]comi[p] ok 1..18 selftests: test_FCOMI_32 [PASS] selftests: test_FISTTP_32 ======================================== [RUN] Testing fisttp instructions [OK] fisttp ok 1..19 selftests: test_FISTTP_32 [PASS] selftests: vdso_restorer_32 ======================================== [OK] SA_SIGINFO handler returned successfully [OK] !SA_SIGINFO handler returned successfully ok 1..20 selftests: vdso_restorer_32 [PASS] selftests: ldt_gdt_32 ======================================== [NOTE] set_thread_area is available; will use GDT index 13 [OK] LDT entry 0 has AR 0x0040FB00 and limit 0x0000000A [OK] LDT entry 0 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 1 is invalid [OK] LDT entry 2 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 1 is invalid [OK] LDT entry 2 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D0FB00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07B00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00907B00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07300 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07100 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07500 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00507700 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507F00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507D00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507B00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507900 and limit 0x0000000A [RUN] Test fork [OK] LDT entry 2 has AR 0x00507900 and limit 0x0000000A [OK] LDT entry 1 is invalid [OK] LDT entry 0 is invalid [NOTE] set_thread_area is available; will use GDT index 13 [OK] LDT entry 0 has AR 0x0040FB00 and limit 0x0000000A [OK] LDT entry 0 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 1 is invalid [OK] LDT entry 2 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 1 is invalid [OK] LDT entry 2 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D0FB00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07B00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00907B00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07300 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07100 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07500 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00507700 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507F00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507D00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507B00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507900 and limit 0x0000000A [RUN] Test fork [OK] Child succeeded [RUN] Test size [DONE] Size test [OK] modify_ldt failure 22 [OK] LDT entry 0 has AR 0x0000F300 and limit 0x00000000 [OK] LDT entry 0 has AR 0x00007300 and limit 0x00000000 [OK] LDT entry 0 has AR 0x0000F100 and limit 0x00000000 [OK] LDT entry 0 has AR 0x00007300 and limit 0x00000000 [OK] LDT entry 0 has AR 0x00007100 and limit 0x00000001 [OK] LDT entry 0 has AR 0x00007100 and limit 0x00000000 [OK] LDT entry 0 is invalid [OK] LDT entry 0 has AR 0x0040F300 and limit 0x000FFFFF [OK] GDT entry 13 has AR 0x0040F300 and limit 0x000FFFFF [OK] LDT entry 0 has AR 0x00C0F300 and limit 0xFFFFFFFF [OK] GDT entry 13 has AR 0x00C0F300 and limit 0xFFFFFFFF [OK] LDT entry 0 has AR 0x00C0F100 and limit 0xFFFFFFFF [OK] GDT entry 13 has AR 0x00C0F100 and limit 0xFFFFFFFF [OK] LDT entry 0 has AR 0x00C0F700 and limit 0xFFFFFFFF [OK] GDT entry 13 has AR 0x00C0F700 and limit 0xFFFFFFFF [OK] LDT entry 0 has AR 0x00C0F500 and limit 0xFFFFFFFF [OK] GDT entry 13 has AR 0x00C0F500 and limit 0xFFFFFFFF [OK] LDT entry 0 is invalid [RUN] Cross-CPU LDT invalidation [OK] All 5 iterations succeeded [RUN] Test exec [OK] LDT entry 0 has AR 0x0040FB00 and limit 0x0000002A [OK] Child succeeded [OK] Invalidate DS with set_thread_area: new DS = 0x0 [OK] Invalidate ES with set_thread_area: new ES = 0x0 [OK] Invalidate FS with set_thread_area: new FS = 0x0 [OK] Invalidate GS with set_thread_area: new GS = 0x0 ok 1..21 selftests: ldt_gdt_32 [PASS] selftests: ptrace_syscall_32 ======================================== [RUN] Check int80 return regs [OK] getpid() preserves regs [OK] kill(getpid(), SIGUSR1) preserves regs [RUN] Check AT_SYSINFO return regs [OK] getpid() preserves regs [OK] kill(getpid(), SIGUSR1) preserves regs [RUN] ptrace-induced syscall restart [RUN] SYSEMU [FAIL] Initial args are wrong (nr=175, args=2 4289277836 0 8 4289277836 0) [RUN] Restart the syscall (ip = 0xf7ef8db9) [FAIL] Restart nr or args are wrong (nr=175, args=2 4289277836 0 8 4289277836 0) [RUN] Change nr and args and restart the syscall (ip = 0xf7ef8db9) [OK] Replacement nr and args are correct [OK] Child exited cleanly [RUN] kernel syscall restart under ptrace [RUN] SYSCALL [FAIL] Initial args are wrong (nr=175, args=2 4289277836 0 8 4289277836 0) [RUN] SYSCALL [FAIL] Args after SIGUSR1 are wrong (nr=175, args=2 4289277836 0 8 4289277836 0) [OK] Child got SIGUSR1 [RUN] Step again [OK] pause(2) restarted correctly ok 1..22 selftests: ptrace_syscall_32 [PASS] selftests: single_step_syscall_64 ======================================== [RUN] Set TF and check nop [OK] Survived with TF set and 9 traps [RUN] Set TF and check syscall-less opportunistic sysret [OK] Survived with TF set and 12 traps [RUN] Set TF and check int80 [OK] Survived with TF set and 9 traps [RUN] Set TF and check a fast syscall [OK] Survived with TF set and 22 traps [RUN] Fast syscall with TF cleared [OK] Nothing unexpected happened ok 1..23 selftests: single_step_syscall_64 [PASS] selftests: sysret_ss_attrs_64 ======================================== [RUN] Syscalls followed by SS validation [OK] We survived ok 1..24 selftests: sysret_ss_attrs_64 [PASS] selftests: syscall_nt_64 ======================================== [RUN] Set NT and issue a syscall [OK] The syscall worked and flags are still set [RUN] Set NT|TF and issue a syscall [OK] The syscall worked and flags are still set ok 1..25 selftests: syscall_nt_64 [PASS] selftests: test_mremap_vdso_64 ======================================== AT_SYSINFO_EHDR is 0x7fffee3c2000 [NOTE] Moving vDSO: [0x7fffee3c2000, 0x7fffee3c3000] -> [0x7f336a24b000, 0x7f336a24c000] [NOTE] vDSO partial move failed, will try with bigger size [NOTE] Moving vDSO: [0x7fffee3c2000, 0x7fffee3c4000] -> [0x7f336a24a000, 0x7f336a24c000] [OK] ok 1..26 selftests: test_mremap_vdso_64 [PASS] selftests: check_initial_reg_state_64 ======================================== [OK] All GPRs except SP are 0 [OK] FLAGS is 0x202 ok 1..27 selftests: check_initial_reg_state_64 [PASS] selftests: sigreturn_64 ======================================== [OK] set_thread_area refused 16-bit data [OK] set_thread_area refused 16-bit data [RUN] Valid sigreturn: 64-bit CS (33), 32-bit SS (2b, GDT) SP: 8badf00d5aadc0de -> 8badf00d5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 32-bit CS (23), 32-bit SS (2b, GDT) SP: 8badf00d5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 16-bit CS (37), 32-bit SS (2b, GDT) SP: 8badf00d5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 64-bit CS (33), 16-bit SS (3f) SP: 8badf00d5aadc0de -> 8badf00d5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 32-bit CS (23), 16-bit SS (3f) SP: 8badf00d5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 16-bit CS (37), 16-bit SS (3f) SP: 8badf00d5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 32-bit CS (23), 32-bit SS (2b, GDT) Corrupting SS on return to 64-bit mode SP: 8badf00d5aadc0de -> 5aadc0de [OK] all registers okay [RUN] Valid sigreturn: 32-bit CS (23), 16-bit SS (3f) Corrupting SS on return to 64-bit mode SP: 8badf00d5aadc0de -> 5aadc0de [OK] all registers okay [RUN] 64-bit CS (33), bogus SS (47) [OK] Got #GP(0x0) (i.e. Segmentation fault) [RUN] 32-bit CS (23), bogus SS (47) [OK] Got #GP(0x0) (i.e. Segmentation fault) [RUN] 16-bit CS (37), bogus SS (47) [OK] Got #GP(0x0) (i.e. Segmentation fault) [RUN] 64-bit CS (33), bogus SS (33) [OK] Got #GP(0x30) (i.e. GDT index 6, Segmentation fault) [RUN] 32-bit CS (23), bogus SS (33) [OK] Got #GP(0x30) (i.e. GDT index 6, Segmentation fault) [RUN] 16-bit CS (37), bogus SS (33) [OK] Got #GP(0x30) (i.e. GDT index 6, Segmentation fault) [RUN] 32-bit CS (4f), bogus SS (2b) [OK] Got #NP(0x4c) (i.e. LDT index 9, Bus error) [RUN] 32-bit CS (23), bogus SS (57) [OK] Got #GP(0x0) (i.e. Segmentation fault) [RUN] Clear UC_STRICT_RESTORE_SS and corrupt SS [OK] It worked ok 1..28 selftests: sigreturn_64 [PASS] selftests: iopl_64 ======================================== child: set IOPL to 3 [RUN] child: write to 0x80 [OK] Child succeeded [RUN] parent: write to 0x80 (should fail) [OK] write was denied iopl(3) Drop privileges [RUN] iopl(3) unprivileged but with IOPL==3 [RUN] iopl(0) unprivileged [RUN] iopl(3) unprivileged [OK] Failed as expected ok 1..29 selftests: iopl_64 [PASS] selftests: mpx-mini-test_64 ======================================== processor lacks XSAVE, can not run MPX tests ok 1..30 selftests: mpx-mini-test_64 [PASS] selftests: ioperm_64 ======================================== [OK] outb to 0x80 failed [OK] outb to 0xed failed [RUN] enable 0x80 [OK] outb to 0x80 worked [OK] outb to 0xed failed [RUN] disable 0x80 [OK] outb to 0x80 failed [OK] outb to 0xed failed [RUN] child: check that we inherited permissions [OK] outb to 0x80 worked [OK] outb to 0xed failed [OK] outb to 0x80 failed [OK] outb to 0xed failed [RUN] enable 0x80 [OK] outb to 0x80 worked [OK] outb to 0xed failed [RUN] disable 0x80 [OK] outb to 0x80 failed [OK] outb to 0xed failed [OK] Child succeeded Drop privileges [RUN] disable 0x80 [OK] it worked [RUN] enable 0x80 again [OK] it failed ok 1..31 selftests: ioperm_64 [PASS] selftests: protection_keys_64 ======================================== has pku: 0 running PKEY tests for unsupported CPU/OS ok 1..32 selftests: protection_keys_64 [PASS] selftests: test_vdso_64 ======================================== [RUN] Testing getcpu... [OK] CPU 0: syscall: cpu 0, node 0 vdso: cpu 0, node 0 vsyscall: cpu 0, node 0 [OK] CPU 1: syscall: cpu 1, node 0 vdso: cpu 1, node 0 vsyscall: cpu 1, node 0 ok 1..33 selftests: test_vdso_64 [PASS] selftests: test_vsyscall_64 ======================================== vsyscall map: ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] vsyscall permissions are r-x [RUN] test gettimeofday() vDSO time offsets: 0.000010 0.000003 [OK] vDSO gettimeofday()'s timeval was okay vsyscall time offsets: 0.000012 0.000001 [OK] vsyscall gettimeofday()'s timeval was okay [RUN] test time() [OK] vDSO time() is okay [OK] vsyscall time() is okay [RUN] getcpu() on CPU 0 [OK] vDSO reported correct CPU [OK] vDSO reported correct node [OK] vsyscall reported correct CPU [OK] vsyscall reported correct node [RUN] getcpu() on CPU 1 [OK] vDSO reported correct CPU [OK] vDSO reported correct node [OK] vsyscall reported correct CPU [OK] vsyscall reported correct node [RUN] Checking read access to the vsyscall page [OK] got expected result [RUN] checking for native vsyscall vsyscalls are emulated (1 instructions in vsyscall page) ok 1..34 selftests: test_vsyscall_64 [PASS] selftests: fsgsbase_64 ======================================== [RUN] ARCH_SET_GS to 0x0 [OK] GSBASE was set as expected (selector 0x0) [OK] ARCH_GET_GS worked as expected (selector 0x0) [RUN] ARCH_SET_GS to 0x1 [OK] GSBASE was set as expected (selector 0x0) [OK] ARCH_GET_GS worked as expected (selector 0x0) [RUN] ARCH_SET_GS to 0x200000000 [OK] GSBASE was set as expected (selector 0x0) [OK] ARCH_GET_GS worked as expected (selector 0x0) [RUN] ARCH_SET_GS to 0x0 [OK] GSBASE was set as expected (selector 0x0) [OK] ARCH_GET_GS worked as expected (selector 0x0) [RUN] ARCH_SET_GS to 0x200000000 [OK] GSBASE was set as expected (selector 0x0) [OK] ARCH_GET_GS worked as expected (selector 0x0) [RUN] ARCH_SET_GS to 0x1 [OK] GSBASE was set as expected (selector 0x0) [OK] ARCH_GET_GS worked as expected (selector 0x0) [RUN] ARCH_SET_GS to 0x0 then mov 0 to %gs [OK] GSBASE is 0x0 [RUN] ARCH_SET_GS to 0x1 then mov 0 to %gs [OK] GSBASE is 0x0 [RUN] ARCH_SET_GS to 0x200000000 then mov 0 to %gs [OK] GSBASE is 0x0 [RUN] ARCH_SET_GS to 0x0 then mov 0 to %gs and schedule [OK] GSBASE is 0x0 [RUN] ARCH_SET_GS to 0x1 then mov 0 to %gs and schedule [OK] GSBASE is 0x0 [RUN] ARCH_SET_GS to 0x200000000 then mov 0 to %gs and schedule [OK] GSBASE is 0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x0 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x0 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x0 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x0 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x0 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0xa1fa5f343cb85fa4 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x0/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x1 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x1 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x1 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x1 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x1 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x200000000 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x200000000 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x200000000 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x200000000 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x0), then schedule to 0x200000000 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x0 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x0 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x0 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x0 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x0 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0xa1fa5f343cb85fa4 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x0/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x1 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x1 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x1 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x1 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x1 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x200000000 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x200000000 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x200000000 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x200000000 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x0) and clear gs, then schedule to 0x200000000 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x0 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x1 [RUN] ARCH_SET_GS(0x1), then schedule to 0x0 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x0 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x0 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x0 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0xa1fa5f343cb85fa4 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x0/0x1 [RUN] ARCH_SET_GS(0x1), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x1 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x1 [RUN] ARCH_SET_GS(0x1), then schedule to 0x1 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x1 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x1 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x1 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x200000000 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x1 [RUN] ARCH_SET_GS(0x1), then schedule to 0x200000000 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x200000000 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x200000000 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x1), then schedule to 0x200000000 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x0 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x200000000 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x0 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x0 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x0 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x0 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x0) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0xa1fa5f343cb85fa4 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x0/0x200000000 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0xa1fa5f343cb85fa4 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x0) and clear gs -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x1 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x200000000 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x1 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x1 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x1 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x1 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x1) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x200000000 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x0/0x200000000 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x200000000 Before schedule, set selector to 0x1 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x1/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x200000000 Before schedule, set selector to 0x2 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x2/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x200000000 Before schedule, set selector to 0x3 other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x3/0x0 [RUN] ARCH_SET_GS(0x200000000), then schedule to 0x200000000 Before schedule, set selector to 0x2b other thread: ARCH_SET_GS(0x200000000) -- sel is 0x0 [OK] GS/BASE remained 0x2b/0x0 [RUN] ARCH_SET_GS(0), clear gs, then manipulate GSBASE in a different thread other thread: using LDT slot 0 [OK] GSBASE remained 0 ok 1..35 selftests: fsgsbase_64 [PASS] selftests: sysret_rip_64 ======================================== [RUN] sigreturn to 0x800000000000 [OK] Got SIGSEGV at RIP=0x800000000000 [RUN] sigreturn to 0x1000000000000 [OK] Got SIGSEGV at RIP=0x1000000000000 [RUN] sigreturn to 0x2000000000000 [OK] Got SIGSEGV at RIP=0x2000000000000 [RUN] sigreturn to 0x4000000000000 [OK] Got SIGSEGV at RIP=0x4000000000000 [RUN] sigreturn to 0x8000000000000 [OK] Got SIGSEGV at RIP=0x8000000000000 [RUN] sigreturn to 0x10000000000000 [OK] Got SIGSEGV at RIP=0x10000000000000 [RUN] sigreturn to 0x20000000000000 [OK] Got SIGSEGV at RIP=0x20000000000000 [RUN] sigreturn to 0x40000000000000 [OK] Got SIGSEGV at RIP=0x40000000000000 [RUN] sigreturn to 0x80000000000000 [OK] Got SIGSEGV at RIP=0x80000000000000 [RUN] sigreturn to 0x100000000000000 [OK] Got SIGSEGV at RIP=0x100000000000000 [RUN] sigreturn to 0x200000000000000 [OK] Got SIGSEGV at RIP=0x200000000000000 [RUN] sigreturn to 0x400000000000000 [OK] Got SIGSEGV at RIP=0x400000000000000 [RUN] sigreturn to 0x800000000000000 [OK] Got SIGSEGV at RIP=0x800000000000000 [RUN] sigreturn to 0x1000000000000000 [OK] Got SIGSEGV at RIP=0x1000000000000000 [RUN] sigreturn to 0x2000000000000000 [OK] Got SIGSEGV at RIP=0x2000000000000000 [RUN] sigreturn to 0x4000000000000000 [OK] Got SIGSEGV at RIP=0x4000000000000000 [RUN] sigreturn to 0x8000000000000000 [OK] Got SIGSEGV at RIP=0x8000000000000000 [RUN] Trying a SYSCALL that falls through to 0x7fffffffe000 [OK] We survived [RUN] Trying a SYSCALL that falls through to 0x7ffffffff000 [OK] We survived [RUN] Trying a SYSCALL that falls through to 0x800000000000 [OK] mremap to 0x7ffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0xfffffffff000 [OK] mremap to 0xffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x1000000000000 [OK] mremap to 0xfffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x1fffffffff000 [OK] mremap to 0x1ffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x2000000000000 [OK] mremap to 0x1fffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x3fffffffff000 [OK] mremap to 0x3ffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x4000000000000 [OK] mremap to 0x3fffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x7fffffffff000 [OK] mremap to 0x7ffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x8000000000000 [OK] mremap to 0x7fffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0xffffffffff000 [OK] mremap to 0xfffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x10000000000000 [OK] mremap to 0xffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x1ffffffffff000 [OK] mremap to 0x1fffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x20000000000000 [OK] mremap to 0x1ffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x3ffffffffff000 [OK] mremap to 0x3fffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x40000000000000 [OK] mremap to 0x3ffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x7ffffffffff000 [OK] mremap to 0x7fffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x80000000000000 [OK] mremap to 0x7ffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0xfffffffffff000 [OK] mremap to 0xffffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x100000000000000 [OK] mremap to 0xfffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x1fffffffffff000 [OK] mremap to 0x1ffffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x200000000000000 [OK] mremap to 0x1fffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x3fffffffffff000 [OK] mremap to 0x3ffffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x400000000000000 [OK] mremap to 0x3fffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x7fffffffffff000 [OK] mremap to 0x7ffffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x800000000000000 [OK] mremap to 0x7fffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0xffffffffffff000 [OK] mremap to 0xfffffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x1000000000000000 [OK] mremap to 0xffffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x1ffffffffffff000 [OK] mremap to 0x1fffffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x2000000000000000 [OK] mremap to 0x1ffffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x3ffffffffffff000 [OK] mremap to 0x3fffffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x4000000000000000 [OK] mremap to 0x3ffffffffffff000 failed [RUN] Trying a SYSCALL that falls through to 0x7ffffffffffff000 [OK] mremap to 0x7fffffffffffe000 failed [RUN] Trying a SYSCALL that falls through to 0x8000000000000000 [OK] mremap to 0x7ffffffffffff000 failed ok 1..36 selftests: sysret_rip_64 [PASS] selftests: ldt_gdt_64 ======================================== [NOTE] set_thread_area is available; will use GDT index 12 [OK] LDT entry 0 has AR 0x0040FB00 and limit 0x0000000A [OK] LDT entry 0 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 1 is invalid [OK] LDT entry 2 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 1 is invalid [OK] LDT entry 2 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D0FB00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07B00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00907B00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07300 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07100 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07500 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00507700 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507F00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507D00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507B00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507900 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507900 and limit 0x0000000A [RUN] Test fork [OK] LDT entry 2 has AR 0x00507900 and limit 0x0000000A [OK] LDT entry 1 is invalid [OK] LDT entry 0 is invalid [NOTE] set_thread_area is available; will use GDT index 12 [OK] LDT entry 0 has AR 0x0040FB00 and limit 0x0000000A [OK] LDT entry 0 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 1 is invalid [OK] LDT entry 2 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 1 is invalid [OK] LDT entry 2 has AR 0x00C0FB00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D0FB00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07B00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00907B00 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07300 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07100 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00D07500 and limit 0x0000AFFF [OK] LDT entry 2 has AR 0x00507700 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507F00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507D00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507B00 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507900 and limit 0x0000000A [OK] LDT entry 2 has AR 0x00507900 and limit 0x0000000A [RUN] Test fork [OK] Child succeeded [RUN] Test size [DONE] Size test [OK] modify_ldt failure 22 [OK] LDT entry 0 has AR 0x0000F300 and limit 0x00000000 [OK] LDT entry 0 has AR 0x00007300 and limit 0x00000000 [OK] LDT entry 0 has AR 0x0000F100 and limit 0x00000000 [OK] LDT entry 0 has AR 0x00007300 and limit 0x00000000 [OK] LDT entry 0 has AR 0x00007100 and limit 0x00000001 [OK] LDT entry 0 has AR 0x00007100 and limit 0x00000000 [OK] LDT entry 0 is invalid [OK] LDT entry 0 has AR 0x0040F300 and limit 0x000FFFFF [OK] LDT entry 0 has AR 0x00C0F300 and limit 0xFFFFFFFF [OK] LDT entry 0 has AR 0x00C0F100 and limit 0xFFFFFFFF [OK] LDT entry 0 has AR 0x00C0F700 and limit 0xFFFFFFFF [OK] LDT entry 0 has AR 0x00C0F500 and limit 0xFFFFFFFF [OK] LDT entry 0 is invalid [RUN] Cross-CPU LDT invalidation [OK] All 5 iterations succeeded [RUN] Test exec [OK] LDT entry 0 has AR 0x0040FB00 and limit 0x0000002A [OK] Child succeeded [OK] Invalidate DS with set_thread_area: new DS = 0x0 [OK] Invalidate ES with set_thread_area: new ES = 0x0 [OK] Invalidate FS with set_thread_area: new FS = 0x0 [OK] New FSBASE was zero [OK] Invalidate GS with set_thread_area: new GS = 0x0 [OK] New GSBASE was zero ok 1..37 selftests: ldt_gdt_64 [PASS] selftests: ptrace_syscall_64 ======================================== [RUN] Check int80 return regs [OK] getpid() preserves regs [OK] kill(getpid(), SIGUSR1) preserves regs [RUN] ptrace-induced syscall restart [RUN] SYSEMU [FAIL] Initial args are wrong (nr=14, args=2 140728998426736 0 8 0 140728998426736) [RUN] Restart the syscall (ip = 0x7f0ab5084000) [FAIL] Restart nr or args are wrong (nr=14, args=2 140728998426736 0 8 0 140728998426736) [RUN] Change nr and args and restart the syscall (ip = 0x7f0ab5084000) [OK] Replacement nr and args are correct [OK] Child exited cleanly [RUN] kernel syscall restart under ptrace [RUN] SYSCALL [FAIL] Initial args are wrong (nr=14, args=2 140728998426336 0 8 0 140728998426336) [RUN] SYSCALL [FAIL] Args after SIGUSR1 are wrong (nr=14, args=2 140728998426336 0 8 0 140728998426336) [OK] Child got SIGUSR1 [RUN] Step again [OK] pause(2) restarted correctly ok 1..38 selftests: ptrace_syscall_64 [PASS] make: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-9c4e6b1a7027f102990c0395296015a812525f4d/tools/testing/selftests/x86' ignored_by_lkp zram test