KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624 2020-06-24 19:01:42 ln -sf /usr/bin/clang 2020-06-24 19:01:42 ln -sf /usr/bin/llc 2020-06-24 19:01:42 sed -i s/default_timeout=45/default_timeout=300/ kselftest/runner.sh ignored_by_lkp x86.mov_ss_trap test 2020-06-24 19:01:42 make run_tests -C x86 make: Entering directory '/usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86' gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/single_step_syscall_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 single_step_syscall.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/sysret_ss_attrs_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 sysret_ss_attrs.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/syscall_nt_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 syscall_nt.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/test_mremap_vdso_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 test_mremap_vdso.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/check_initial_reg_state_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -Wl,-ereal_start -static -DCAN_BUILD_32 check_initial_reg_state.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/sigreturn_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 sigreturn.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/iopl_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 iopl.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/ioperm_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 ioperm.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/test_vdso_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 test_vdso.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/test_vsyscall_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 test_vsyscall.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/syscall_arg_fault_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 syscall_arg_fault.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/entry_from_vm86_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 entry_from_vm86.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/test_syscall_vdso_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 test_syscall_vdso.c thunks_32.S -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/unwind_vdso_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 unwind_vdso.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/test_FCMOV_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 test_FCMOV.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/test_FCOMI_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 test_FCOMI.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/test_FISTTP_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 test_FISTTP.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/vdso_restorer_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 vdso_restorer.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/ldt_gdt_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 ldt_gdt.c -lrt -ldl -lm gcc -m32 -o /usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86/ptrace_syscall_32 -O2 -g -std=gnu99 -pthread -Wall -no-pie -DCAN_BUILD_32 ptrace_syscall.c raw_syscall_helper_32.S -lrt -ldl -lm TAP version 13 1..20 # selftests: x86: single_step_syscall_32 # [RUN] Set TF and check nop # [OK] Survived with TF set and 14 traps # [RUN] Set TF and check int80 # [OK] Survived with TF set and 14 traps # [RUN] Set TF and check a fast syscall # [OK] Survived with TF set and 36 traps # [RUN] Fast syscall with TF cleared # [OK] Nothing unexpected happened # [RUN] Set TF and check SYSENTER # Got SIGSEGV with RIP=545, TF=256 # [RUN] Fast syscall with TF cleared # [OK] Nothing unexpected happened ok 1 selftests: x86: single_step_syscall_32 # selftests: x86: sysret_ss_attrs_32 # [RUN] Syscalls followed by SS validation # [OK] We survived ok 2 selftests: x86: sysret_ss_attrs_32 # selftests: x86: 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 3 selftests: x86: syscall_nt_32 # selftests: x86: test_mremap_vdso_32 # AT_SYSINFO_EHDR is 0 # [WARN] getauxval failed # [OK] ok 4 selftests: x86: test_mremap_vdso_32 # selftests: x86: check_initial_reg_state_32 # [OK] All GPRs except SP are 0 # [OK] FLAGS is 0x202 ok 5 selftests: x86: check_initial_reg_state_32 # selftests: x86: sigreturn_32 # [NOTE] Failed to create code16 segment # [NOTE] Failed to create data16 segment # [OK] set_thread_area refused 16-bit data # [OK] set_thread_area refused 16-bit data # [WARN] Could not find 64-bit CS # [SKIP] Code segment unavailable for 64-bit CS, 32-bit SS # [RUN] Valid sigreturn: 32-bit CS (73), 32-bit SS (7b, GDT) # [OK] all registers okay # [WARN] Could not find 16-bit CS # [SKIP] Code segment unavailable for 16-bit CS, 32-bit SS # [WARN] Could not find 64-bit CS # [SKIP] Code segment unavailable for 64-bit CS, 16-bit SS # [SKIP] Data segment unavailable for 32-bit CS, 16-bit SS # [WARN] Could not find 16-bit CS # [SKIP] Code segment unavailable for 16-bit CS, 16-bit SS # [WARN] Could not find 64-bit CS # [RUN] 32-bit CS (73), bogus SS (47) # [OK] Got #IRET(0x0) (i.e. Illegal instruction) # [WARN] Could not find 16-bit CS # [WARN] Could not find 64-bit CS # [RUN] 32-bit CS (73), bogus SS (73) # [OK] Got #IRET(0x0) (i.e. Illegal instruction) # [WARN] Could not find 16-bit CS # [RUN] 32-bit CS (4f), bogus SS (7b) # [OK] Got #IRET(0x0) (i.e. Illegal instruction) # [RUN] 32-bit CS (73), bogus SS (57) # [OK] Got #IRET(0x0) (i.e. Illegal instruction) ok 6 selftests: x86: sigreturn_32 # selftests: x86: iopl_32 # [OK] CLI faulted # [OK] STI faulted # [OK] outb to 0x80 worked # [OK] outb to 0x80 worked # [OK] outb to 0xed failed # child: set IOPL to 3 # [RUN] child: write to 0x80 # [OK] CLI faulted # [OK] STI faulted # [OK] outb to 0x80 worked # [OK] outb to 0x80 worked # [OK] outb to 0xed failed # [OK] Child succeeded # [RUN] parent: write to 0x80 (should fail) # [OK] outb to 0x80 failed # [OK] CLI faulted # [OK] STI faulted # 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 7 selftests: x86: iopl_32 # selftests: x86: 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 # [RUN] child: Extend permissions to 0x81 # [RUN] child: Drop permissions to 0x80 # [OK] outb to 0x80 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 # Verify that unsharing the bitmap worked # [OK] outb to 0x80 worked # Drop privileges # [RUN] disable 0x80 # [OK] it worked # [RUN] enable 0x80 again # [OK] it failed ok 8 selftests: x86: ioperm_32 # selftests: x86: test_vdso_32 # [WARN] failed to find vDSO # [SKIP] No vDSO, so skipping clock_gettime() tests # [RUN] Testing getcpu... # [OK] CPU 0: syscall: cpu 0, node 0 # [OK] CPU 1: syscall: cpu 1, node 0 ok 9 selftests: x86: test_vdso_32 # selftests: x86: test_vsyscall_32 # [WARN] failed to find vDSO # [RUN] test gettimeofday() # [RUN] test time() # [RUN] getcpu() on CPU 0 # [RUN] getcpu() on CPU 1 ok 10 selftests: x86: test_vsyscall_32 # selftests: x86: syscall_arg_fault_32 # [RUN] SYSENTER with invalid state # [OK] Seems okay # [RUN] SYSCALL with invalid state # [SKIP] Illegal instruction # [RUN] SYSENTER with TF and invalid state # [OK] Seems okay # [RUN] SYSCALL with TF and invalid state # [SKIP] Illegal instruction ok 11 selftests: x86: syscall_arg_fault_32 # selftests: x86: 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] POPF with VIP set and IF clear from vm86 mode # [SKIP] vm86 not supported # [RUN] POPF with VIP and IF set from vm86 mode # [SKIP] vm86 not supported # [RUN] POPF with VIP clear and IF 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 # [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] POPF with VIP set and IF clear from vm86 mode # [SKIP] vm86 not supported # [RUN] POPF with VIP and IF set from vm86 mode # [SKIP] vm86 not supported # [RUN] POPF with VIP clear and IF 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 12 selftests: x86: entry_from_vm86_32 # selftests: x86: test_syscall_vdso_32 # [NOTE] Not a 64-bit kernel, won't test R8..R15 leaks # [WARN] AT_SYSINFO not supplied # [RUN] Executing 6-argument 32-bit syscall via INT 80 # [OK] Arguments are preserved across syscall # [RUN] Executing 6-argument 32-bit syscall via INT 80 # [OK] Arguments are preserved across syscall # [RUN] Running tests under ptrace ok 13 selftests: x86: test_syscall_vdso_32 # selftests: x86: unwind_vdso_32 # AT_SYSINFO is 0x0 # [WARN] dladdr failed on AT_SYSINFO # [RUN] Set TF and check a fast syscall # [WARN] syscall(2) didn't enter AT_SYSINFO # [OK] All is well ok 14 selftests: x86: unwind_vdso_32 # selftests: x86: test_FCMOV_32 # [RUN] Testing fcmovCC instructions # [OK] fcmovCC ok 15 selftests: x86: test_FCMOV_32 # selftests: x86: test_FCOMI_32 # [RUN] Testing f[u]comi[p] instructions # [OK] f[u]comi[p] ok 16 selftests: x86: test_FCOMI_32 # selftests: x86: test_FISTTP_32 # [RUN] Testing fisttp instructions # [OK] fisttp ok 17 selftests: x86: test_FISTTP_32 # selftests: x86: vdso_restorer_32 # [SKIP] Failed to find vDSO. Tests are not expected to work. ok 18 selftests: x86: vdso_restorer_32 # selftests: x86: ldt_gdt_32 # [NOTE] set_thread_area is available; will use GDT index 7 # [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] modify_ldt rejected 16 bit segment # [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 7 # [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] modify_ldt rejected 16 bit segment # [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] modify_ldt rejected 16 bit segment # [OK] modify_ldt rejected 16 bit segment # [OK] modify_ldt rejected 16 bit segment # [OK] modify_ldt rejected 16 bit segment # [OK] modify_ldt rejected 16 bit segment # [OK] modify_ldt rejected 16 bit segment # [OK] LDT entry 0 is invalid # [OK] LDT entry 0 has AR 0x0040F300 and limit 0x000FFFFF # [OK] GDT entry 7 has AR 0x0040F300 and limit 0x000FFFFF # [OK] LDT entry 0 has AR 0x00C0F300 and limit 0xFFFFFFFF # [OK] GDT entry 7 has AR 0x00C0F300 and limit 0xFFFFFFFF # [OK] LDT entry 0 has AR 0x00C0F100 and limit 0xFFFFFFFF # [OK] GDT entry 7 has AR 0x00C0F100 and limit 0xFFFFFFFF # [OK] LDT entry 0 has AR 0x00C0F700 and limit 0xFFFFFFFF # [OK] GDT entry 7 has AR 0x00C0F700 and limit 0xFFFFFFFF # [OK] LDT entry 0 has AR 0x00C0F500 and limit 0xFFFFFFFF # [OK] GDT entry 7 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 19 selftests: x86: ldt_gdt_32 # selftests: x86: ptrace_syscall_32 # [RUN] Check int80 return regs # [OK] getpid() preserves regs # [OK] kill(getpid(), SIGUSR1) preserves regs # [SKIP] AT_SYSINFO is not available # [RUN] ptrace-induced syscall restart # [RUN] SYSEMU # [OK] Initial nr and args are correct # [RUN] Restart the syscall (ip = 0x77fad092) # [OK] Restarted nr and args are correct # [RUN] Change nr and args and restart the syscall (ip = 0x77fad092) # [OK] Replacement nr and args are correct # [OK] Child exited cleanly # [RUN] kernel syscall restart under ptrace # [RUN] SYSCALL # [OK] Initial nr and args are correct # [RUN] SYSCALL # [OK] Args after SIGUSR1 are correct (ax = -514) # [OK] Child got SIGUSR1 # [RUN] Step again # [OK] pause(2) restarted correctly ok 20 selftests: x86: ptrace_syscall_32 make: Leaving directory '/usr/src/perf_selftests-i386-randconfig-a003-20200624-c91e241f569e7f9b0e2946841ef884b22a09f624/tools/testing/selftests/x86'