KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8 2023-03-20 06:15:36 ln -sf /usr/bin/clang 2023-03-20 06:15:36 ln -sf /usr/sbin/iptables-nft /usr/bin/iptables 2023-03-20 06:15:36 ln -sf /usr/sbin/ip6tables-nft /usr/bin/ip6tables 2023-03-20 06:15:36 sed -i s/default_timeout=45/default_timeout=300/ kselftest/runner.sh LKP SKIP media_tests 2023-03-20 06:15:36 make -C membarrier make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/membarrier' gcc -g -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include membarrier_test_single_thread.c -lpthread -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/membarrier/membarrier_test_single_thread gcc -g -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include membarrier_test_multi_thread.c -lpthread -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/membarrier/membarrier_test_multi_thread make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/membarrier' 2023-03-20 06:15:37 make quicktest=1 run_tests -C membarrier make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/membarrier' TAP version 13 1..2 # selftests: membarrier: membarrier_test_single_thread # TAP version 13 # 1..13 # ok 1 sys_membarrier available # ok 2 sys membarrier invalid command test: command = -1, flags = 0, errno = 22. Failed as expected # ok 3 sys membarrier MEMBARRIER_CMD_QUERY invalid flags test: flags = 1, errno = 22. Failed as expected # ok 4 sys membarrier MEMBARRIER_CMD_PRIVATE_EXPEDITED not registered failure test: flags = 0, errno = 1 # ok 5 sys membarrier MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE not registered failure test: flags = 0, errno = 1 # ok 6 sys membarrier MEMBARRIER_CMD_GLOBAL test: flags = 0 # ok 7 sys membarrier MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED test: flags = 0 # ok 8 sys membarrier MEMBARRIER_CMD_PRIVATE_EXPEDITED test: flags = 0 # ok 9 sys membarrier MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE test: flags = 0 # ok 10 sys membarrier MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE test: flags = 0 # ok 11 sys membarrier MEMBARRIER_CMD_GLOBAL_EXPEDITED test: flags = 0 # ok 12 sys membarrier MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED test: flags = 0 # ok 13 sys membarrier MEMBARRIER_CMD_GLOBAL_EXPEDITED test: flags = 0 # # Totals: pass:13 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 1 selftests: membarrier: membarrier_test_single_thread # selftests: membarrier: membarrier_test_multi_thread # TAP version 13 # 1..13 # ok 1 sys_membarrier available # ok 2 sys membarrier invalid command test: command = -1, flags = 0, errno = 22. Failed as expected # ok 3 sys membarrier MEMBARRIER_CMD_QUERY invalid flags test: flags = 1, errno = 22. Failed as expected # ok 4 sys membarrier MEMBARRIER_CMD_PRIVATE_EXPEDITED not registered failure test: flags = 0, errno = 1 # ok 5 sys membarrier MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE not registered failure test: flags = 0, errno = 1 # ok 6 sys membarrier MEMBARRIER_CMD_GLOBAL test: flags = 0 # ok 7 sys membarrier MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED test: flags = 0 # ok 8 sys membarrier MEMBARRIER_CMD_PRIVATE_EXPEDITED test: flags = 0 # ok 9 sys membarrier MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE test: flags = 0 # ok 10 sys membarrier MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE test: flags = 0 # ok 11 sys membarrier MEMBARRIER_CMD_GLOBAL_EXPEDITED test: flags = 0 # ok 12 sys membarrier MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED test: flags = 0 # ok 13 sys membarrier MEMBARRIER_CMD_GLOBAL_EXPEDITED test: flags = 0 # # Totals: pass:13 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 2 selftests: membarrier: membarrier_test_multi_thread make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/membarrier' 2023-03-20 06:15:37 make -C memfd make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/memfd' gcc -D_FILE_OFFSET_BITS=64 -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include memfd_test.c common.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/memfd/memfd_test gcc -D_FILE_OFFSET_BITS=64 -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include fuse_test.c common.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/memfd/fuse_test gcc -D_FILE_OFFSET_BITS=64 -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include fuse_mnt.c -lfuse -pthread -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/memfd/fuse_mnt make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/memfd' 2023-03-20 06:15:38 make quicktest=1 run_tests -C memfd make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/memfd' TAP version 13 1..3 # selftests: memfd: memfd_test # memfd: CREATE # memfd: BASIC # memfd: SEAL-WRITE # memfd: SEAL-FUTURE-WRITE # memfd: CREATE # memfd: BASIC # memfd: SEAL-WRITE # memfd: SEAL-FUTURE-WRITE # memfd: SEAL-SHRINK # memfd: SEAL-GROW # memfd: SEAL-RESIZE # memfd: SHARE-DUP # memfd: SHARE-MMAP # memfd: SHARE-OPEN # memfd: SHARE-FORK # memfd: SHARE-DUP (shared file-table) # memfd: SHARE-MMAP (shared file-table) # memfd: SHARE-OPEN (shared file-table) # memfd: SHARE-FORK (shared file-table) # memfd: DONE ok 1 selftests: memfd: memfd_test # selftests: memfd: run_fuse_test.sh # opening: ./mnt/memfd # fuse: DONE ok 2 selftests: memfd: run_fuse_test.sh # selftests: memfd: run_hugetlbfs_test.sh # memfd-hugetlb: CREATE # memfd-hugetlb: BASIC # memfd-hugetlb: SEAL-WRITE # memfd-hugetlb: SEAL-FUTURE-WRITE # memfd-hugetlb: CREATE # memfd-hugetlb: BASIC # memfd-hugetlb: SEAL-WRITE # memfd-hugetlb: SEAL-FUTURE-WRITE # memfd-hugetlb: SEAL-SHRINK # memfd-hugetlb: SEAL-GROW # memfd-hugetlb: SEAL-RESIZE # memfd-hugetlb: SHARE-DUP # memfd-hugetlb: SHARE-MMAP # memfd-hugetlb: SHARE-OPEN # memfd-hugetlb: SHARE-FORK # memfd-hugetlb: SHARE-DUP (shared file-table) # memfd-hugetlb: SHARE-MMAP (shared file-table) # memfd-hugetlb: SHARE-OPEN (shared file-table) # memfd-hugetlb: SHARE-FORK (shared file-table) # memfd: DONE # opening: ./mnt/memfd # fuse: DONE ok 3 selftests: memfd: run_hugetlbfs_test.sh make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/memfd' 2023-03-20 06:15:42 make -C mincore make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mincore' gcc -Wall mincore_selftest.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mincore/mincore_selftest make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mincore' 2023-03-20 06:15:42 make quicktest=1 run_tests -C mincore make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mincore' TAP version 13 1..1 # selftests: mincore: mincore_selftest # TAP version 13 # 1..5 # # Starting 5 tests from 1 test cases. # # RUN global.basic_interface ... # # OK global.basic_interface # ok 1 global.basic_interface # # RUN global.check_anonymous_locked_pages ... # # OK global.check_anonymous_locked_pages # ok 2 global.check_anonymous_locked_pages # # RUN global.check_huge_pages ... # # SKIP No huge pages available. # # OK global.check_huge_pages # ok 3 # SKIP No huge pages available. # # RUN global.check_file_mmap ... # # SKIP fallocate not supported by filesystem. # # OK global.check_file_mmap # ok 4 # SKIP fallocate not supported by filesystem. # # RUN global.check_tmpfs_mmap ... # # OK global.check_tmpfs_mmap # ok 5 global.check_tmpfs_mmap # # PASSED: 5 / 5 tests passed. # # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:2 error:0 ok 1 selftests: mincore: mincore_selftest make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mincore' 2023-03-20 06:15:42 make -C mount make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount' gcc -Wall -O2 unprivileged-remount-test.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount/unprivileged-remount-test gcc -Wall -O2 nosymfollow-test.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount/nosymfollow-test make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount' 2023-03-20 06:15:43 make quicktest=1 run_tests -C mount make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount' TAP version 13 1..2 # selftests: mount: run_unprivileged_remount.sh ok 1 selftests: mount: run_unprivileged_remount.sh # selftests: mount: run_nosymfollow.sh ok 2 selftests: mount: run_nosymfollow.sh make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount' 2023-03-20 06:15:43 make -C mount_setattr make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount_setattr' gcc -g -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include -Wall -O2 -pthread mount_setattr_test.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount_setattr/mount_setattr_test mount_setattr_test.c:137:16: warning: ‘struct mount_attr’ declared inside parameter list will not be visible outside of this definition or declaration 137 | struct mount_attr *attr, size_t size) | ^~~~~~~~~~ mount_setattr_test.c: In function ‘mount_setattr_thread’: mount_setattr_test.c:343:9: error: variable ‘attr’ has initializer but incomplete type 343 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:344:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 344 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:344:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 344 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:344:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 344 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:345:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 345 | .attr_clr = 0, | ^~~~~~~~ mount_setattr_test.c:345:15: warning: excess elements in struct initializer 345 | .attr_clr = 0, | ^ mount_setattr_test.c:345:15: note: (near initialization for ‘attr’) mount_setattr_test.c:346:4: error: ‘struct mount_attr’ has no member named ‘propagation’ 346 | .propagation = MS_SHARED, | ^~~~~~~~~~~ mount_setattr_test.c:346:18: warning: excess elements in struct initializer 346 | .propagation = MS_SHARED, | ^~~~~~~~~ mount_setattr_test.c:346:18: note: (near initialization for ‘attr’) mount_setattr_test.c:343:20: error: storage size of ‘attr’ isn’t known 343 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:343:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_invalid_attributes’: mount_setattr_test.c:441:9: error: variable ‘invalid_attr’ has initializer but incomplete type 441 | struct mount_attr invalid_attr = { | ^~~~~~~~~~ mount_setattr_test.c:442:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 442 | .attr_set = (1U << 31), | ^~~~~~~~ mount_setattr_test.c:442:15: warning: excess elements in struct initializer 442 | .attr_set = (1U << 31), | ^ mount_setattr_test.c:442:15: note: (near initialization for ‘invalid_attr’) mount_setattr_test.c:441:20: error: storage size of ‘invalid_attr’ isn’t known 441 | struct mount_attr invalid_attr = { | ^~~~~~~~~~~~ mount_setattr_test.c:441:20: warning: unused variable ‘invalid_attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_extensibility’: mount_setattr_test.c:475:9: error: variable ‘invalid_attr’ has initializer but incomplete type 475 | struct mount_attr invalid_attr = {}; | ^~~~~~~~~~ mount_setattr_test.c:475:20: error: storage size of ‘invalid_attr’ isn’t known 475 | struct mount_attr invalid_attr = {}; | ^~~~~~~~~~~~ mount_setattr_test.c:477:21: error: field ‘attr1’ has incomplete type 477 | struct mount_attr attr1; | ^~~~~ mount_setattr_test.c:478:21: error: field ‘attr2’ has incomplete type 478 | struct mount_attr attr2; | ^~~~~ mount_setattr_test.c:479:21: error: field ‘attr3’ has incomplete type 479 | struct mount_attr attr3; | ^~~~~ mount_setattr_test.c:475:20: warning: unused variable ‘invalid_attr’ [-Wunused-variable] 475 | struct mount_attr invalid_attr = {}; | ^~~~~~~~~~~~ mount_setattr_test.c: In function ‘mount_setattr_basic’: mount_setattr_test.c:538:9: error: variable ‘attr’ has initializer but incomplete type 538 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:539:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 539 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:539:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 539 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:539:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 539 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:540:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 540 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~ mount_setattr_test.c:61:27: warning: excess elements in struct initializer 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:540:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 540 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:61:27: note: (near initialization for ‘attr’) 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:540:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 540 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:538:20: error: storage size of ‘attr’ isn’t known 538 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:538:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_basic_recursive’: mount_setattr_test.c:574:9: error: variable ‘attr’ has initializer but incomplete type 574 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:575:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 575 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:575:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 575 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:575:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 575 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:576:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 576 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~ mount_setattr_test.c:61:27: warning: excess elements in struct initializer 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:576:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 576 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:61:27: note: (near initialization for ‘attr’) 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:576:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 576 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:574:20: error: storage size of ‘attr’ isn’t known 574 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:574:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_mount_has_writers’: mount_setattr_test.c:668:9: error: variable ‘attr’ has initializer but incomplete type 668 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:669:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 669 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:669:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 669 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:669:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 669 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:670:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 670 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~ mount_setattr_test.c:61:27: warning: excess elements in struct initializer 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:670:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 670 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:61:27: note: (near initialization for ‘attr’) 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:670:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 670 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:671:4: error: ‘struct mount_attr’ has no member named ‘propagation’ 671 | .propagation = MS_SHARED, | ^~~~~~~~~~~ mount_setattr_test.c:671:18: warning: excess elements in struct initializer 671 | .propagation = MS_SHARED, | ^~~~~~~~~ mount_setattr_test.c:671:18: note: (near initialization for ‘attr’) mount_setattr_test.c:668:20: error: storage size of ‘attr’ isn’t known 668 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:668:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_mixed_mount_options’: mount_setattr_test.c:725:9: error: variable ‘attr’ has initializer but incomplete type 725 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:726:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 726 | .attr_clr = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID | MOUNT_ATTR_NOEXEC | MOUNT_ATTR__ATIME, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:726:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 726 | .attr_clr = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID | MOUNT_ATTR_NOEXEC | MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:726:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 726 | .attr_clr = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID | MOUNT_ATTR_NOEXEC | MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:727:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 727 | .attr_set = MOUNT_ATTR_RELATIME, | ^~~~~~~~ mount_setattr_test.c:65:29: warning: excess elements in struct initializer 65 | #define MOUNT_ATTR_RELATIME 0x00000000 | ^~~~~~~~~~ mount_setattr_test.c:727:15: note: in expansion of macro ‘MOUNT_ATTR_RELATIME’ 727 | .attr_set = MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:65:29: note: (near initialization for ‘attr’) 65 | #define MOUNT_ATTR_RELATIME 0x00000000 | ^~~~~~~~~~ mount_setattr_test.c:727:15: note: in expansion of macro ‘MOUNT_ATTR_RELATIME’ 727 | .attr_set = MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:725:20: error: storage size of ‘attr’ isn’t known 725 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:725:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_time_changes’: mount_setattr_test.c:759:9: error: variable ‘attr’ has initializer but incomplete type 759 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:760:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 760 | .attr_set = MOUNT_ATTR_NODIRATIME | MOUNT_ATTR_NOATIME, | ^~~~~~~~ mount_setattr_test.c:57:31: warning: excess elements in struct initializer 57 | #define MOUNT_ATTR_NODIRATIME 0x00000080 | ^~~~~~~~~~ mount_setattr_test.c:760:15: note: in expansion of macro ‘MOUNT_ATTR_NODIRATIME’ 760 | .attr_set = MOUNT_ATTR_NODIRATIME | MOUNT_ATTR_NOATIME, | ^~~~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:57:31: note: (near initialization for ‘attr’) 57 | #define MOUNT_ATTR_NODIRATIME 0x00000080 | ^~~~~~~~~~ mount_setattr_test.c:760:15: note: in expansion of macro ‘MOUNT_ATTR_NODIRATIME’ 760 | .attr_set = MOUNT_ATTR_NODIRATIME | MOUNT_ATTR_NOATIME, | ^~~~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:759:20: error: storage size of ‘attr’ isn’t known 759 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:759:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_wrong_user_namespace’: mount_setattr_test.c:963:9: error: variable ‘attr’ has initializer but incomplete type 963 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:964:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 964 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:964:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 964 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:964:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 964 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:963:20: error: storage size of ‘attr’ isn’t known 963 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:963:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_wrong_mount_namespace’: mount_setattr_test.c:979:9: error: variable ‘attr’ has initializer but incomplete type 979 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:980:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 980 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:980:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 980 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:980:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 980 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:979:20: error: storage size of ‘attr’ isn’t known 979 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:979:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_invalid_fd_negative’: mount_setattr_test.c:1070:9: error: variable ‘attr’ has initializer but incomplete type 1070 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1071:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1071 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1071:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1071 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1071:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1071 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1072:4: error: ‘struct mount_attr’ has no member named ‘userns_fd’ 1072 | .userns_fd = -EBADF, | ^~~~~~~~~ mount_setattr_test.c:1072:16: warning: excess elements in struct initializer 1072 | .userns_fd = -EBADF, | ^ mount_setattr_test.c:1072:16: note: (near initialization for ‘attr’) mount_setattr_test.c:1070:20: error: storage size of ‘attr’ isn’t known 1070 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1070:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_invalid_fd_large’: mount_setattr_test.c:1088:9: error: variable ‘attr’ has initializer but incomplete type 1088 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1089:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1089 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1089:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1089 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1089:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1089 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1090:4: error: ‘struct mount_attr’ has no member named ‘userns_fd’ 1090 | .userns_fd = INT64_MAX, | ^~~~~~~~~ mount_setattr_test.c:1090:16: warning: excess elements in struct initializer 1090 | .userns_fd = INT64_MAX, | ^~~~~~~~~ mount_setattr_test.c:1090:16: note: (near initialization for ‘attr’) mount_setattr_test.c:1088:20: error: storage size of ‘attr’ isn’t known 1088 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1088:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_invalid_fd_closed’: mount_setattr_test.c:1107:9: error: variable ‘attr’ has initializer but incomplete type 1107 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1108:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1108 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1108:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1108 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1108:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1108 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1107:20: error: storage size of ‘attr’ isn’t known 1107 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1107:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_invalid_fd_initial_userns’: mount_setattr_test.c:1130:9: error: variable ‘attr’ has initializer but incomplete type 1130 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1131:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1131 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1131:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1131 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1131:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1131 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1130:20: error: storage size of ‘attr’ isn’t known 1130 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1130:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_attached_mount_inside_current_mount_namespace’: mount_setattr_test.c:1239:9: error: variable ‘attr’ has initializer but incomplete type 1239 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1240:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1240 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1240:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1240 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1240:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1240 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1239:20: error: storage size of ‘attr’ isn’t known 1239 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1239:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_attached_mount_outside_current_mount_namespace’: mount_setattr_test.c:1269:9: error: variable ‘attr’ has initializer but incomplete type 1269 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1270:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1270 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1270:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1270 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1270:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1270 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1269:20: error: storage size of ‘attr’ isn’t known 1269 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1269:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_detached_mount_inside_current_mount_namespace’: mount_setattr_test.c:1299:9: error: variable ‘attr’ has initializer but incomplete type 1299 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1300:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1300 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1300:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1300 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1300:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1300 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1299:20: error: storage size of ‘attr’ isn’t known 1299 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1299:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_detached_mount_outside_current_mount_namespace’: mount_setattr_test.c:1329:9: error: variable ‘attr’ has initializer but incomplete type 1329 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1330:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1330 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1330:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1330 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1330:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1330 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1329:20: error: storage size of ‘attr’ isn’t known 1329 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1329:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_change_idmapping’: mount_setattr_test.c:1361:9: error: variable ‘attr’ has initializer but incomplete type 1361 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1362:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1362 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1362:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1362 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1362:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1362 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1361:20: error: storage size of ‘attr’ isn’t known 1361 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1361:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_idmap_mount_tree_invalid’: mount_setattr_test.c:1406:9: error: variable ‘attr’ has initializer but incomplete type 1406 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1407:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1407 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1407:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1407 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1407:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1407 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1406:20: error: storage size of ‘attr’ isn’t known 1406 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1406:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_mount_attr_nosymfollow’: mount_setattr_test.c:1441:9: error: variable ‘attr’ has initializer but incomplete type 1441 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1442:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1442 | .attr_set = MOUNT_ATTR_NOSYMFOLLOW, | ^~~~~~~~ mount_setattr_test.c:133:32: warning: excess elements in struct initializer 133 | #define MOUNT_ATTR_NOSYMFOLLOW 0x00200000 | ^~~~~~~~~~ mount_setattr_test.c:1442:15: note: in expansion of macro ‘MOUNT_ATTR_NOSYMFOLLOW’ 1442 | .attr_set = MOUNT_ATTR_NOSYMFOLLOW, | ^~~~~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:133:32: note: (near initialization for ‘attr’) 133 | #define MOUNT_ATTR_NOSYMFOLLOW 0x00200000 | ^~~~~~~~~~ mount_setattr_test.c:1442:15: note: in expansion of macro ‘MOUNT_ATTR_NOSYMFOLLOW’ 1442 | .attr_set = MOUNT_ATTR_NOSYMFOLLOW, | ^~~~~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:1441:20: error: storage size of ‘attr’ isn’t known 1441 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1441:20: warning: unused variable ‘attr’ [-Wunused-variable] make: *** [../lib.mk:145: /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount_setattr/mount_setattr_test] Error 1 make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount_setattr' 2023-03-20 06:15:43 make quicktest=1 run_tests -C mount_setattr make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount_setattr' gcc -g -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include -Wall -O2 -pthread mount_setattr_test.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount_setattr/mount_setattr_test mount_setattr_test.c:137:16: warning: ‘struct mount_attr’ declared inside parameter list will not be visible outside of this definition or declaration 137 | struct mount_attr *attr, size_t size) | ^~~~~~~~~~ mount_setattr_test.c: In function ‘mount_setattr_thread’: mount_setattr_test.c:343:9: error: variable ‘attr’ has initializer but incomplete type 343 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:344:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 344 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:344:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 344 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:344:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 344 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:345:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 345 | .attr_clr = 0, | ^~~~~~~~ mount_setattr_test.c:345:15: warning: excess elements in struct initializer 345 | .attr_clr = 0, | ^ mount_setattr_test.c:345:15: note: (near initialization for ‘attr’) mount_setattr_test.c:346:4: error: ‘struct mount_attr’ has no member named ‘propagation’ 346 | .propagation = MS_SHARED, | ^~~~~~~~~~~ mount_setattr_test.c:346:18: warning: excess elements in struct initializer 346 | .propagation = MS_SHARED, | ^~~~~~~~~ mount_setattr_test.c:346:18: note: (near initialization for ‘attr’) mount_setattr_test.c:343:20: error: storage size of ‘attr’ isn’t known 343 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:343:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_invalid_attributes’: mount_setattr_test.c:441:9: error: variable ‘invalid_attr’ has initializer but incomplete type 441 | struct mount_attr invalid_attr = { | ^~~~~~~~~~ mount_setattr_test.c:442:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 442 | .attr_set = (1U << 31), | ^~~~~~~~ mount_setattr_test.c:442:15: warning: excess elements in struct initializer 442 | .attr_set = (1U << 31), | ^ mount_setattr_test.c:442:15: note: (near initialization for ‘invalid_attr’) mount_setattr_test.c:441:20: error: storage size of ‘invalid_attr’ isn’t known 441 | struct mount_attr invalid_attr = { | ^~~~~~~~~~~~ mount_setattr_test.c:441:20: warning: unused variable ‘invalid_attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_extensibility’: mount_setattr_test.c:475:9: error: variable ‘invalid_attr’ has initializer but incomplete type 475 | struct mount_attr invalid_attr = {}; | ^~~~~~~~~~ mount_setattr_test.c:475:20: error: storage size of ‘invalid_attr’ isn’t known 475 | struct mount_attr invalid_attr = {}; | ^~~~~~~~~~~~ mount_setattr_test.c:477:21: error: field ‘attr1’ has incomplete type 477 | struct mount_attr attr1; | ^~~~~ mount_setattr_test.c:478:21: error: field ‘attr2’ has incomplete type 478 | struct mount_attr attr2; | ^~~~~ mount_setattr_test.c:479:21: error: field ‘attr3’ has incomplete type 479 | struct mount_attr attr3; | ^~~~~ mount_setattr_test.c:475:20: warning: unused variable ‘invalid_attr’ [-Wunused-variable] 475 | struct mount_attr invalid_attr = {}; | ^~~~~~~~~~~~ mount_setattr_test.c: In function ‘mount_setattr_basic’: mount_setattr_test.c:538:9: error: variable ‘attr’ has initializer but incomplete type 538 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:539:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 539 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:539:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 539 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:539:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 539 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:540:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 540 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~ mount_setattr_test.c:61:27: warning: excess elements in struct initializer 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:540:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 540 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:61:27: note: (near initialization for ‘attr’) 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:540:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 540 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:538:20: error: storage size of ‘attr’ isn’t known 538 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:538:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_basic_recursive’: mount_setattr_test.c:574:9: error: variable ‘attr’ has initializer but incomplete type 574 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:575:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 575 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:575:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 575 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:575:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 575 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:576:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 576 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~ mount_setattr_test.c:61:27: warning: excess elements in struct initializer 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:576:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 576 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:61:27: note: (near initialization for ‘attr’) 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:576:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 576 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:574:20: error: storage size of ‘attr’ isn’t known 574 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:574:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_mount_has_writers’: mount_setattr_test.c:668:9: error: variable ‘attr’ has initializer but incomplete type 668 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:669:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 669 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:669:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 669 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:669:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 669 | .attr_set = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOEXEC | MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:670:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 670 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~ mount_setattr_test.c:61:27: warning: excess elements in struct initializer 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:670:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 670 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:61:27: note: (near initialization for ‘attr’) 61 | #define MOUNT_ATTR__ATIME 0x00000070 | ^~~~~~~~~~ mount_setattr_test.c:670:15: note: in expansion of macro ‘MOUNT_ATTR__ATIME’ 670 | .attr_clr = MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:671:4: error: ‘struct mount_attr’ has no member named ‘propagation’ 671 | .propagation = MS_SHARED, | ^~~~~~~~~~~ mount_setattr_test.c:671:18: warning: excess elements in struct initializer 671 | .propagation = MS_SHARED, | ^~~~~~~~~ mount_setattr_test.c:671:18: note: (near initialization for ‘attr’) mount_setattr_test.c:668:20: error: storage size of ‘attr’ isn’t known 668 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:668:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_mixed_mount_options’: mount_setattr_test.c:725:9: error: variable ‘attr’ has initializer but incomplete type 725 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:726:4: error: ‘struct mount_attr’ has no member named ‘attr_clr’ 726 | .attr_clr = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID | MOUNT_ATTR_NOEXEC | MOUNT_ATTR__ATIME, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:726:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 726 | .attr_clr = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID | MOUNT_ATTR_NOEXEC | MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:726:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 726 | .attr_clr = MOUNT_ATTR_RDONLY | MOUNT_ATTR_NOSUID | MOUNT_ATTR_NOEXEC | MOUNT_ATTR__ATIME, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:727:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 727 | .attr_set = MOUNT_ATTR_RELATIME, | ^~~~~~~~ mount_setattr_test.c:65:29: warning: excess elements in struct initializer 65 | #define MOUNT_ATTR_RELATIME 0x00000000 | ^~~~~~~~~~ mount_setattr_test.c:727:15: note: in expansion of macro ‘MOUNT_ATTR_RELATIME’ 727 | .attr_set = MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:65:29: note: (near initialization for ‘attr’) 65 | #define MOUNT_ATTR_RELATIME 0x00000000 | ^~~~~~~~~~ mount_setattr_test.c:727:15: note: in expansion of macro ‘MOUNT_ATTR_RELATIME’ 727 | .attr_set = MOUNT_ATTR_RELATIME, | ^~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:725:20: error: storage size of ‘attr’ isn’t known 725 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:725:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_time_changes’: mount_setattr_test.c:759:9: error: variable ‘attr’ has initializer but incomplete type 759 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:760:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 760 | .attr_set = MOUNT_ATTR_NODIRATIME | MOUNT_ATTR_NOATIME, | ^~~~~~~~ mount_setattr_test.c:57:31: warning: excess elements in struct initializer 57 | #define MOUNT_ATTR_NODIRATIME 0x00000080 | ^~~~~~~~~~ mount_setattr_test.c:760:15: note: in expansion of macro ‘MOUNT_ATTR_NODIRATIME’ 760 | .attr_set = MOUNT_ATTR_NODIRATIME | MOUNT_ATTR_NOATIME, | ^~~~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:57:31: note: (near initialization for ‘attr’) 57 | #define MOUNT_ATTR_NODIRATIME 0x00000080 | ^~~~~~~~~~ mount_setattr_test.c:760:15: note: in expansion of macro ‘MOUNT_ATTR_NODIRATIME’ 760 | .attr_set = MOUNT_ATTR_NODIRATIME | MOUNT_ATTR_NOATIME, | ^~~~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:759:20: error: storage size of ‘attr’ isn’t known 759 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:759:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_wrong_user_namespace’: mount_setattr_test.c:963:9: error: variable ‘attr’ has initializer but incomplete type 963 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:964:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 964 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:964:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 964 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:964:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 964 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:963:20: error: storage size of ‘attr’ isn’t known 963 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:963:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_wrong_mount_namespace’: mount_setattr_test.c:979:9: error: variable ‘attr’ has initializer but incomplete type 979 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:980:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 980 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~ mount_setattr_test.c:45:27: warning: excess elements in struct initializer 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:980:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 980 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:45:27: note: (near initialization for ‘attr’) 45 | #define MOUNT_ATTR_RDONLY 0x00000001 | ^~~~~~~~~~ mount_setattr_test.c:980:15: note: in expansion of macro ‘MOUNT_ATTR_RDONLY’ 980 | .attr_set = MOUNT_ATTR_RDONLY, | ^~~~~~~~~~~~~~~~~ mount_setattr_test.c:979:20: error: storage size of ‘attr’ isn’t known 979 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:979:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_invalid_fd_negative’: mount_setattr_test.c:1070:9: error: variable ‘attr’ has initializer but incomplete type 1070 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1071:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1071 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1071:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1071 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1071:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1071 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1072:4: error: ‘struct mount_attr’ has no member named ‘userns_fd’ 1072 | .userns_fd = -EBADF, | ^~~~~~~~~ mount_setattr_test.c:1072:16: warning: excess elements in struct initializer 1072 | .userns_fd = -EBADF, | ^ mount_setattr_test.c:1072:16: note: (near initialization for ‘attr’) mount_setattr_test.c:1070:20: error: storage size of ‘attr’ isn’t known 1070 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1070:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_invalid_fd_large’: mount_setattr_test.c:1088:9: error: variable ‘attr’ has initializer but incomplete type 1088 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1089:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1089 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1089:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1089 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1089:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1089 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1090:4: error: ‘struct mount_attr’ has no member named ‘userns_fd’ 1090 | .userns_fd = INT64_MAX, | ^~~~~~~~~ mount_setattr_test.c:1090:16: warning: excess elements in struct initializer 1090 | .userns_fd = INT64_MAX, | ^~~~~~~~~ mount_setattr_test.c:1090:16: note: (near initialization for ‘attr’) mount_setattr_test.c:1088:20: error: storage size of ‘attr’ isn’t known 1088 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1088:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_invalid_fd_closed’: mount_setattr_test.c:1107:9: error: variable ‘attr’ has initializer but incomplete type 1107 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1108:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1108 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1108:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1108 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1108:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1108 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1107:20: error: storage size of ‘attr’ isn’t known 1107 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1107:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_invalid_fd_initial_userns’: mount_setattr_test.c:1130:9: error: variable ‘attr’ has initializer but incomplete type 1130 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1131:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1131 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1131:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1131 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1131:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1131 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1130:20: error: storage size of ‘attr’ isn’t known 1130 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1130:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_attached_mount_inside_current_mount_namespace’: mount_setattr_test.c:1239:9: error: variable ‘attr’ has initializer but incomplete type 1239 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1240:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1240 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1240:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1240 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1240:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1240 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1239:20: error: storage size of ‘attr’ isn’t known 1239 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1239:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_attached_mount_outside_current_mount_namespace’: mount_setattr_test.c:1269:9: error: variable ‘attr’ has initializer but incomplete type 1269 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1270:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1270 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1270:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1270 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1270:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1270 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1269:20: error: storage size of ‘attr’ isn’t known 1269 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1269:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_detached_mount_inside_current_mount_namespace’: mount_setattr_test.c:1299:9: error: variable ‘attr’ has initializer but incomplete type 1299 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1300:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1300 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1300:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1300 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1300:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1300 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1299:20: error: storage size of ‘attr’ isn’t known 1299 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1299:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_detached_mount_outside_current_mount_namespace’: mount_setattr_test.c:1329:9: error: variable ‘attr’ has initializer but incomplete type 1329 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1330:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1330 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1330:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1330 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1330:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1330 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1329:20: error: storage size of ‘attr’ isn’t known 1329 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1329:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_change_idmapping’: mount_setattr_test.c:1361:9: error: variable ‘attr’ has initializer but incomplete type 1361 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1362:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1362 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1362:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1362 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1362:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1362 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1361:20: error: storage size of ‘attr’ isn’t known 1361 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1361:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_idmapped_idmap_mount_tree_invalid’: mount_setattr_test.c:1406:9: error: variable ‘attr’ has initializer but incomplete type 1406 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1407:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1407 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~ mount_setattr_test.c:129:26: warning: excess elements in struct initializer 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1407:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1407 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:129:26: note: (near initialization for ‘attr’) 129 | #define MOUNT_ATTR_IDMAP 0x00100000 | ^~~~~~~~~~ mount_setattr_test.c:1407:15: note: in expansion of macro ‘MOUNT_ATTR_IDMAP’ 1407 | .attr_set = MOUNT_ATTR_IDMAP, | ^~~~~~~~~~~~~~~~ mount_setattr_test.c:1406:20: error: storage size of ‘attr’ isn’t known 1406 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1406:20: warning: unused variable ‘attr’ [-Wunused-variable] mount_setattr_test.c: In function ‘mount_setattr_mount_attr_nosymfollow’: mount_setattr_test.c:1441:9: error: variable ‘attr’ has initializer but incomplete type 1441 | struct mount_attr attr = { | ^~~~~~~~~~ mount_setattr_test.c:1442:4: error: ‘struct mount_attr’ has no member named ‘attr_set’ 1442 | .attr_set = MOUNT_ATTR_NOSYMFOLLOW, | ^~~~~~~~ mount_setattr_test.c:133:32: warning: excess elements in struct initializer 133 | #define MOUNT_ATTR_NOSYMFOLLOW 0x00200000 | ^~~~~~~~~~ mount_setattr_test.c:1442:15: note: in expansion of macro ‘MOUNT_ATTR_NOSYMFOLLOW’ 1442 | .attr_set = MOUNT_ATTR_NOSYMFOLLOW, | ^~~~~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:133:32: note: (near initialization for ‘attr’) 133 | #define MOUNT_ATTR_NOSYMFOLLOW 0x00200000 | ^~~~~~~~~~ mount_setattr_test.c:1442:15: note: in expansion of macro ‘MOUNT_ATTR_NOSYMFOLLOW’ 1442 | .attr_set = MOUNT_ATTR_NOSYMFOLLOW, | ^~~~~~~~~~~~~~~~~~~~~~ mount_setattr_test.c:1441:20: error: storage size of ‘attr’ isn’t known 1441 | struct mount_attr attr = { | ^~~~ mount_setattr_test.c:1441:20: warning: unused variable ‘attr’ [-Wunused-variable] make: *** [../lib.mk:145: /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount_setattr/mount_setattr_test] Error 1 make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mount_setattr' 2023-03-20 06:15:44 make -C move_mount_set_group make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/move_mount_set_group' gcc -g -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include -Wall -O2 move_mount_set_group_test.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/move_mount_set_group/move_mount_set_group_test make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/move_mount_set_group' 2023-03-20 06:15:44 make quicktest=1 run_tests -C move_mount_set_group make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/move_mount_set_group' TAP version 13 1..0 make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/move_mount_set_group' 2023-03-20 06:15:44 make -C mqueue make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mqueue' gcc -O2 mq_open_tests.c -lrt -lpthread -lpopt -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mqueue/mq_open_tests gcc -O2 mq_perf_tests.c -lrt -lpthread -lpopt -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mqueue/mq_perf_tests make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mqueue' 2023-03-20 06:15:45 make quicktest=1 run_tests -C mqueue make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mqueue' TAP version 13 1..2 # selftests: mqueue: mq_open_tests # Using Default queue path - /test1 # # Initial system state: # Using queue path: /test1 # RLIMIT_MSGQUEUE(soft): 819200 # RLIMIT_MSGQUEUE(hard): 819200 # Maximum Message Size: 8192 # Maximum Queue Size: 10 # Default Message Size: 8192 # Default Queue Size: 10 # # Adjusted system state for testing: # RLIMIT_MSGQUEUE(soft): 819200 # RLIMIT_MSGQUEUE(hard): 819200 # Maximum Message Size: 8192 # Maximum Queue Size: 10 # Default Message Size: 8192 # Default Queue Size: 10 # # # Test series 1, behavior when no attr struct passed to mq_open: # Kernel supports setting defaults separately from maximums: PASS # Given sane values, mq_open without an attr struct succeeds: PASS # Kernel properly honors default setting knobs: PASS # Kernel properly limits default values to lesser of default/max: PASS # Kernel properly fails to create queue when defaults would # exceed rlimit: PASS # # # Test series 2, behavior when attr struct is passed to mq_open: # Queue open in excess of rlimit max when euid = 0 failed: PASS # Queue open with mq_maxmsg > limit when euid = 0 succeeded: PASS # Queue open with mq_msgsize > limit when euid = 0 succeeded: PASS # Queue open with total size > 2GB when euid = 0 failed: PASS # Queue open in excess of rlimit max when euid = 99 failed: PASS # Queue open with mq_maxmsg > limit when euid = 99 failed: PASS # Queue open with mq_msgsize > limit when euid = 99 failed: PASS # Queue open with total size > 2GB when euid = 99 failed: PASS ok 1 selftests: mqueue: mq_open_tests # selftests: mqueue: mq_perf_tests # # Initial system state: # Using queue path: /mq_perf_tests # RLIMIT_MSGQUEUE(soft): 819200 # RLIMIT_MSGQUEUE(hard): 819200 # Maximum Message Size: 8192 # Maximum Queue Size: 10 # Nice value: 0 # # Adjusted system state for testing: # RLIMIT_MSGQUEUE(soft): (unlimited) # RLIMIT_MSGQUEUE(hard): (unlimited) # Maximum Message Size: 16777216 # Maximum Queue Size: 65530 # Nice value: -20 # Continuous mode: (disabled) # CPUs to pin: 7 # # Queue /mq_perf_tests created: # mq_flags: O_NONBLOCK # mq_maxmsg: 65530 # mq_msgsize: 16 # mq_curmsgs: 0 # # Started mqueue performance test thread on CPU 7 # Max priorities: 32768 # Clock resolution: 1 nsec # # Test #1: Time send/recv message, queue empty # (10000000 iterations) # Send msg: 98.33986144s total time # 9803 nsec/msg # Recv msg: 128.60428224s total time # 12806 nsec/msg # # Test #2a: Time send/recv message, queue full, constant prio # : # (100000 iterations) # Filling queue...done. 0.408293509s # Testing...done. # Send msg: 0.876917816s total time # 8769 nsec/msg # Recv msg: 0.814417623s total time # 8144 nsec/msg # Draining queue...done. 0.365681290s # # Test #2b: Time send/recv message, queue full, increasing prio # : # (100000 iterations) # Filling queue...done. 0.478476773s # Testing...done. # Send msg: 0.885790717s total time # 8857 nsec/msg # Recv msg: 1.41692730s total time # 10416 nsec/msg # Draining queue...done. 0.392777470s # # Test #2c: Time send/recv message, queue full, decreasing prio # : # (100000 iterations) # Filling queue...done. 0.479546970s # Testing...done. # Send msg: 0.891166453s total time # 8911 nsec/msg # Recv msg: 0.969171924s total time # 9691 nsec/msg # Draining queue...done. 0.394244971s # # Test #2d: Time send/recv message, queue full, random prio # : # (100000 iterations) # Filling queue...done. 0.479574264s # Testing...done. # Send msg: 0.901740692s total time # 9017 nsec/msg # Recv msg: 1.8982536s total time # 10089 nsec/msg # Draining queue...done. 0.419402310s ok 2 selftests: mqueue: mq_perf_tests make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/mqueue' 2023-03-20 06:20:13 make -C nci make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nci' gcc -Wl,-no-as-needed -Wall -lpthread nci_dev.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nci/nci_dev make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nci' 2023-03-20 06:20:13 make quicktest=1 run_tests -C nci make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nci' TAP version 13 1..1 # selftests: nci: nci_dev # TAP version 13 # 1..8 # # Starting 8 tests from 2 test cases. # # RUN NCI.NCI1_0.init ... # # nci_dev.c:422:init:Expected self->virtual_nci_fd (-1) > -1 (-1) # # init: Test terminated by assertion # # FAIL NCI.NCI1_0.init # not ok 1 NCI.NCI1_0.init # # RUN NCI.NCI1_0.start_poll ... # # nci_dev.c:422:start_poll:Expected self->virtual_nci_fd (-1) > -1 (-1) # # start_poll: Test terminated by assertion # # FAIL NCI.NCI1_0.start_poll # not ok 2 NCI.NCI1_0.start_poll # # RUN NCI.NCI1_0.t4t_tag_read ... # # nci_dev.c:422:t4t_tag_read:Expected self->virtual_nci_fd (-1) > -1 (-1) # # t4t_tag_read: Test terminated by assertion # # FAIL NCI.NCI1_0.t4t_tag_read # not ok 3 NCI.NCI1_0.t4t_tag_read # # RUN NCI.NCI1_0.deinit ... # # nci_dev.c:422:deinit:Expected self->virtual_nci_fd (-1) > -1 (-1) # # deinit: Test terminated by assertion # # FAIL NCI.NCI1_0.deinit # not ok 4 NCI.NCI1_0.deinit # # RUN NCI.NCI2_0.init ... # # nci_dev.c:422:init:Expected self->virtual_nci_fd (-1) > -1 (-1) # # init: Test terminated by assertion # # FAIL NCI.NCI2_0.init # not ok 5 NCI.NCI2_0.init # # RUN NCI.NCI2_0.start_poll ... # # nci_dev.c:422:start_poll:Expected self->virtual_nci_fd (-1) > -1 (-1) # # start_poll: Test terminated by assertion # # FAIL NCI.NCI2_0.start_poll # not ok 6 NCI.NCI2_0.start_poll # # RUN NCI.NCI2_0.t4t_tag_read ... # # nci_dev.c:422:t4t_tag_read:Expected self->virtual_nci_fd (-1) > -1 (-1) # # t4t_tag_read: Test terminated by assertion # # FAIL NCI.NCI2_0.t4t_tag_read # not ok 7 NCI.NCI2_0.t4t_tag_read # # RUN NCI.NCI2_0.deinit ... # # nci_dev.c:422:deinit:Expected self->virtual_nci_fd (-1) > -1 (-1) # # deinit: Test terminated by assertion # # FAIL NCI.NCI2_0.deinit # not ok 8 NCI.NCI2_0.deinit # # FAILED: 0 / 8 tests passed. # # Totals: pass:0 fail:8 xfail:0 xpass:0 skip:0 error:0 not ok 1 selftests: nci: nci_dev # exit=1 make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nci' nolibc test: not in Makefile 2023-03-20 06:20:13 make TARGETS=nolibc make[1]: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nolibc' Supported targets under selftests/nolibc: all call the "run" target below help this help sysroot create the nolibc sysroot here (uses $ARCH) nolibc-test build the executable (uses $CC and $CROSS_COMPILE) initramfs prepare the initramfs with nolibc-test defconfig create a fresh new default config (uses $ARCH) kernel (re)build the kernel with the initramfs (uses $ARCH) run runs the kernel in QEMU after building it (uses $ARCH, $TEST) rerun runs a previously prebuilt kernel in QEMU (uses $ARCH, $TEST) clean clean the sysroot, initramfs, build and output files The output file is "run.out". Test ranges may be passed using $TEST. Currently using the following variables: ARCH = x86 CROSS_COMPILE = CC = gcc OUTPUT = /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nolibc TEST = QEMU_ARCH = x86_64 [determined from $ARCH] IMAGE_NAME = bzImage [determined from $ARCH] make[1]: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nolibc' 2023-03-20 06:20:13 make -C nolibc make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nolibc' Supported targets under selftests/nolibc: all call the "run" target below help this help sysroot create the nolibc sysroot here (uses $ARCH) nolibc-test build the executable (uses $CC and $CROSS_COMPILE) initramfs prepare the initramfs with nolibc-test defconfig create a fresh new default config (uses $ARCH) kernel (re)build the kernel with the initramfs (uses $ARCH) run runs the kernel in QEMU after building it (uses $ARCH, $TEST) rerun runs a previously prebuilt kernel in QEMU (uses $ARCH, $TEST) clean clean the sysroot, initramfs, build and output files The output file is "run.out". Test ranges may be passed using $TEST. Currently using the following variables: ARCH = x86 CROSS_COMPILE = CC = gcc OUTPUT = /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nolibc/ TEST = QEMU_ARCH = x86_64 [determined from $ARCH] IMAGE_NAME = bzImage [determined from $ARCH] make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nolibc' 2023-03-20 06:20:14 make quicktest=1 run_tests -C nolibc make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nolibc' make: *** No rule to make target 'run_tests'. Stop. make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nolibc' 2023-03-20 06:20:14 make -C nsfs make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nsfs' gcc -Wall -Werror owner.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nsfs/owner gcc -Wall -Werror pidns.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nsfs/pidns make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nsfs' 2023-03-20 06:20:14 make quicktest=1 run_tests -C nsfs make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nsfs' TAP version 13 1..2 # selftests: nsfs: owner ok 1 selftests: nsfs: owner # selftests: nsfs: pidns ok 2 selftests: nsfs: pidns make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/nsfs' Discarding device blocks: 1024/102400 done Creating filesystem with 102400 1k blocks and 25688 inodes Filesystem UUID: 96818a72-37d6-49d3-91fb-91b39730b6a7 Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Allocating group tables: 0/13 done Writing inode tables: 0/13 done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: 0/13 done 2023-03-20 06:20:16 make -C openat2 make: Entering directory '/mnt/selftests/openat2' gcc -Wall -O2 -g -fsanitize=address -fsanitize=undefined openat2_test.c helpers.c helpers.h -o /mnt/selftests/openat2/openat2_test gcc -Wall -O2 -g -fsanitize=address -fsanitize=undefined resolve_test.c helpers.c helpers.h -o /mnt/selftests/openat2/resolve_test gcc -Wall -O2 -g -fsanitize=address -fsanitize=undefined rename_attack_test.c helpers.c helpers.h -o /mnt/selftests/openat2/rename_attack_test make: Leaving directory '/mnt/selftests/openat2' 2023-03-20 06:20:22 make quicktest=1 run_tests -C openat2 make: Entering directory '/mnt/selftests/openat2' TAP version 13 1..3 # selftests: openat2: openat2_test # TAP version 13 # 1..116 # ok 1 openat2 with normal struct argument [misalign=0] succeeds # ok 2 openat2 with normal struct argument [misalign=1] succeeds # ok 3 openat2 with normal struct argument [misalign=2] succeeds # ok 4 openat2 with normal struct argument [misalign=3] succeeds # ok 5 openat2 with normal struct argument [misalign=4] succeeds # ok 6 openat2 with normal struct argument [misalign=5] succeeds # ok 7 openat2 with normal struct argument [misalign=6] succeeds # ok 8 openat2 with normal struct argument [misalign=7] succeeds # ok 9 openat2 with normal struct argument [misalign=8] succeeds # ok 10 openat2 with normal struct argument [misalign=9] succeeds # ok 11 openat2 with normal struct argument [misalign=11] succeeds # ok 12 openat2 with normal struct argument [misalign=17] succeeds # ok 13 openat2 with normal struct argument [misalign=87] succeeds # ok 14 openat2 with bigger struct (zeroed out) argument [misalign=0] succeeds # ok 15 openat2 with bigger struct (zeroed out) argument [misalign=1] succeeds # ok 16 openat2 with bigger struct (zeroed out) argument [misalign=2] succeeds # ok 17 openat2 with bigger struct (zeroed out) argument [misalign=3] succeeds # ok 18 openat2 with bigger struct (zeroed out) argument [misalign=4] succeeds # ok 19 openat2 with bigger struct (zeroed out) argument [misalign=5] succeeds # ok 20 openat2 with bigger struct (zeroed out) argument [misalign=6] succeeds # ok 21 openat2 with bigger struct (zeroed out) argument [misalign=7] succeeds # ok 22 openat2 with bigger struct (zeroed out) argument [misalign=8] succeeds # ok 23 openat2 with bigger struct (zeroed out) argument [misalign=9] succeeds # ok 24 openat2 with bigger struct (zeroed out) argument [misalign=11] succeeds # ok 25 openat2 with bigger struct (zeroed out) argument [misalign=17] succeeds # ok 26 openat2 with bigger struct (zeroed out) argument [misalign=87] succeeds # ok 27 openat2 with zero-sized 'struct' argument [misalign=0] fails with -22 (Invalid argument) # ok 28 openat2 with zero-sized 'struct' argument [misalign=1] fails with -22 (Invalid argument) # ok 29 openat2 with zero-sized 'struct' argument [misalign=2] fails with -22 (Invalid argument) # ok 30 openat2 with zero-sized 'struct' argument [misalign=3] fails with -22 (Invalid argument) # ok 31 openat2 with zero-sized 'struct' argument [misalign=4] fails with -22 (Invalid argument) # ok 32 openat2 with zero-sized 'struct' argument [misalign=5] fails with -22 (Invalid argument) # ok 33 openat2 with zero-sized 'struct' argument [misalign=6] fails with -22 (Invalid argument) # ok 34 openat2 with zero-sized 'struct' argument [misalign=7] fails with -22 (Invalid argument) # ok 35 openat2 with zero-sized 'struct' argument [misalign=8] fails with -22 (Invalid argument) # ok 36 openat2 with zero-sized 'struct' argument [misalign=9] fails with -22 (Invalid argument) # ok 37 openat2 with zero-sized 'struct' argument [misalign=11] fails with -22 (Invalid argument) # ok 38 openat2 with zero-sized 'struct' argument [misalign=17] fails with -22 (Invalid argument) # ok 39 openat2 with zero-sized 'struct' argument [misalign=87] fails with -22 (Invalid argument) # ok 40 openat2 with smaller-than-v0 struct argument [misalign=0] fails with -22 (Invalid argument) # ok 41 openat2 with smaller-than-v0 struct argument [misalign=1] fails with -22 (Invalid argument) # ok 42 openat2 with smaller-than-v0 struct argument [misalign=2] fails with -22 (Invalid argument) # ok 43 openat2 with smaller-than-v0 struct argument [misalign=3] fails with -22 (Invalid argument) # ok 44 openat2 with smaller-than-v0 struct argument [misalign=4] fails with -22 (Invalid argument) # ok 45 openat2 with smaller-than-v0 struct argument [misalign=5] fails with -22 (Invalid argument) # ok 46 openat2 with smaller-than-v0 struct argument [misalign=6] fails with -22 (Invalid argument) # ok 47 openat2 with smaller-than-v0 struct argument [misalign=7] fails with -22 (Invalid argument) # ok 48 openat2 with smaller-than-v0 struct argument [misalign=8] fails with -22 (Invalid argument) # ok 49 openat2 with smaller-than-v0 struct argument [misalign=9] fails with -22 (Invalid argument) # ok 50 openat2 with smaller-than-v0 struct argument [misalign=11] fails with -22 (Invalid argument) # ok 51 openat2 with smaller-than-v0 struct argument [misalign=17] fails with -22 (Invalid argument) # ok 52 openat2 with smaller-than-v0 struct argument [misalign=87] fails with -22 (Invalid argument) # ok 53 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=0] fails with -7 (Argument list too long) # ok 54 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=1] fails with -7 (Argument list too long) # ok 55 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=2] fails with -7 (Argument list too long) # ok 56 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=3] fails with -7 (Argument list too long) # ok 57 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=4] fails with -7 (Argument list too long) # ok 58 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=5] fails with -7 (Argument list too long) # ok 59 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=6] fails with -7 (Argument list too long) # ok 60 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=7] fails with -7 (Argument list too long) # ok 61 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=8] fails with -7 (Argument list too long) # ok 62 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=9] fails with -7 (Argument list too long) # ok 63 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=11] fails with -7 (Argument list too long) # ok 64 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=17] fails with -7 (Argument list too long) # ok 65 openat2 with bigger struct (non-zero data in first 'future field') argument [misalign=87] fails with -7 (Argument list too long) # ok 66 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=0] fails with -7 (Argument list too long) # ok 67 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=1] fails with -7 (Argument list too long) # ok 68 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=2] fails with -7 (Argument list too long) # ok 69 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=3] fails with -7 (Argument list too long) # ok 70 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=4] fails with -7 (Argument list too long) # ok 71 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=5] fails with -7 (Argument list too long) # ok 72 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=6] fails with -7 (Argument list too long) # ok 73 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=7] fails with -7 (Argument list too long) # ok 74 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=8] fails with -7 (Argument list too long) # ok 75 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=9] fails with -7 (Argument list too long) # ok 76 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=11] fails with -7 (Argument list too long) # ok 77 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=17] fails with -7 (Argument list too long) # ok 78 openat2 with bigger struct (non-zero data in middle of 'future fields') argument [misalign=87] fails with -7 (Argument list too long) # ok 79 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=0] fails with -7 (Argument list too long) # ok 80 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=1] fails with -7 (Argument list too long) # ok 81 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=2] fails with -7 (Argument list too long) # ok 82 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=3] fails with -7 (Argument list too long) # ok 83 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=4] fails with -7 (Argument list too long) # ok 84 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=5] fails with -7 (Argument list too long) # ok 85 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=6] fails with -7 (Argument list too long) # ok 86 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=7] fails with -7 (Argument list too long) # ok 87 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=8] fails with -7 (Argument list too long) # ok 88 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=9] fails with -7 (Argument list too long) # ok 89 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=11] fails with -7 (Argument list too long) # ok 90 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=17] fails with -7 (Argument list too long) # ok 91 openat2 with bigger struct (non-zero data at end of 'future fields') argument [misalign=87] fails with -7 (Argument list too long) # ok 92 openat2 with incompatible flags (O_TMPFILE | O_PATH) fails with -22 (Invalid argument) # ok 93 openat2 with incompatible flags (O_TMPFILE | O_CREAT) fails with -22 (Invalid argument) # ok 94 openat2 with compatible flags (O_PATH | O_CLOEXEC) succeeds # ok 95 openat2 with compatible flags (O_PATH | O_DIRECTORY) succeeds # ok 96 openat2 with compatible flags (O_PATH | O_NOFOLLOW) succeeds # ok 97 openat2 with incompatible flags (O_PATH | O_RDWR) fails with -22 (Invalid argument) # ok 98 openat2 with incompatible flags (O_PATH | O_CREAT) fails with -22 (Invalid argument) # ok 99 openat2 with incompatible flags (O_PATH | O_EXCL) fails with -22 (Invalid argument) # ok 100 openat2 with incompatible flags (O_PATH | O_NOCTTY) fails with -22 (Invalid argument) # ok 101 openat2 with incompatible flags (O_PATH | O_DIRECT) fails with -22 (Invalid argument) # ok 102 openat2 with incompatible flags (O_PATH | O_LARGEFILE) fails with -22 (Invalid argument) # ok 103 openat2 with non-zero how.mode and O_RDONLY fails with -22 (Invalid argument) # ok 104 openat2 with non-zero how.mode and O_PATH fails with -22 (Invalid argument) # ok 105 openat2 with valid how.mode and O_CREAT succeeds # ok 106 openat2 with valid how.mode and O_TMPFILE succeeds # ok 107 openat2 with invalid how.mode and O_CREAT fails with -22 (Invalid argument) # ok 108 openat2 with invalid (very large) how.mode and O_CREAT fails with -22 (Invalid argument) # ok 109 openat2 with invalid how.mode and O_TMPFILE fails with -22 (Invalid argument) # ok 110 openat2 with invalid (very large) how.mode and O_TMPFILE fails with -22 (Invalid argument) # ok 111 openat2 with incompatible resolve flags (BENEATH | IN_ROOT) fails with -22 (Invalid argument) # ok 112 openat2 with invalid how.resolve and O_RDONLY fails with -22 (Invalid argument) # ok 113 openat2 with invalid how.resolve and O_CREAT fails with -22 (Invalid argument) # ok 114 openat2 with invalid how.resolve and O_TMPFILE fails with -22 (Invalid argument) # ok 115 openat2 with invalid how.resolve and O_PATH fails with -22 (Invalid argument) # ok 116 openat2 with currently unknown bit (1 << 63) fails with -22 (Invalid argument) # # Totals: pass:116 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 1 selftests: openat2: openat2_test # selftests: openat2: resolve_test # TAP version 13 # 1..88 # ok 1 [beneath] jump to / fails with -18 (Invalid cross-device link) # ok 2 [beneath] absolute link to $root fails with -18 (Invalid cross-device link) # ok 3 [beneath] chained absolute links to $root fails with -18 (Invalid cross-device link) # ok 4 [beneath] jump outside $root fails with -18 (Invalid cross-device link) # ok 5 [beneath] temporary jump outside $root fails with -18 (Invalid cross-device link) # ok 6 [beneath] symlink temporary jump outside $root fails with -18 (Invalid cross-device link) # ok 7 [beneath] chained symlink temporary jump outside $root fails with -18 (Invalid cross-device link) # ok 8 [beneath] garbage links to $root fails with -18 (Invalid cross-device link) # ok 9 [beneath] chained garbage links to $root fails with -18 (Invalid cross-device link) # ok 10 [beneath] ordinary path to 'root' gives path 'root' # ok 11 [beneath] ordinary path to 'etc' gives path 'etc' # ok 12 [beneath] ordinary path to 'etc/passwd' gives path 'etc/passwd' # ok 13 [beneath] relative symlink inside $root gives path 'etc/passwd' # ok 14 [beneath] chained-'..' relative symlink inside $root gives path 'etc/passwd' # ok 15 [beneath] absolute symlink component outside $root fails with -18 (Invalid cross-device link) # ok 16 [beneath] absolute symlink target outside $root fails with -18 (Invalid cross-device link) # ok 17 [beneath] absolute path outside $root fails with -18 (Invalid cross-device link) # ok 18 [beneath] cheeky absolute path outside $root fails with -18 (Invalid cross-device link) # ok 19 [beneath] chained cheeky absolute path outside $root fails with -18 (Invalid cross-device link) # ok 20 [beneath] tricky '..'-chained symlink outside $root fails with -18 (Invalid cross-device link) # ok 21 [beneath] tricky absolute + '..'-chained symlink outside $root fails with -18 (Invalid cross-device link) # ok 22 [beneath] tricky garbage link outside $root fails with -18 (Invalid cross-device link) # ok 23 [beneath] tricky absolute + garbage link outside $root fails with -18 (Invalid cross-device link) # ok 24 [in_root] jump to / gives path '.' # ok 25 [in_root] absolute symlink to /root gives path '.' # ok 26 [in_root] chained absolute symlinks to /root gives path '.' # ok 27 [in_root] '..' at root gives path '.' # ok 28 [in_root] '../root' at root gives path 'root' # ok 29 [in_root] relative symlink containing '..' above root gives path 'root' # ok 30 [in_root] garbage link to /root gives path 'root' # ok 31 [in_root] chained garbage links to /root gives path 'root' # ok 32 [in_root] relative path to 'root' gives path 'root' # ok 33 [in_root] relative path to 'etc' gives path 'etc' # ok 34 [in_root] relative path to 'etc/passwd' gives path 'etc/passwd' # ok 35 [in_root] relative symlink to 'etc/passwd' gives path 'etc/passwd' # ok 36 [in_root] chained-'..' relative symlink to 'etc/passwd' gives path 'etc/passwd' # ok 37 [in_root] chained-'..' absolute + relative symlink to 'etc/passwd' gives path 'etc/passwd' # ok 38 [in_root] absolute symlink to 'etc/passwd' gives path 'etc/passwd' # ok 39 [in_root] absolute path 'etc/passwd' gives path 'etc/passwd' # ok 40 [in_root] cheeky absolute path 'etc/passwd' gives path 'etc/passwd' # ok 41 [in_root] chained cheeky absolute path 'etc/passwd' gives path 'etc/passwd' # ok 42 [in_root] tricky '..'-chained symlink outside $root gives path 'etc/passwd' # ok 43 [in_root] tricky absolute + '..'-chained symlink outside $root gives path 'etc/passwd' # ok 44 [in_root] tricky absolute path + absolute + '..'-chained symlink outside $root gives path 'etc/passwd' # ok 45 [in_root] tricky garbage link outside $root gives path 'etc/passwd' # ok 46 [in_root] tricky absolute + garbage link outside $root gives path 'etc/passwd' # ok 47 [in_root] tricky absolute path + absolute + garbage link outside $root gives path 'etc/passwd' # ok 48 [in_root] O_CREAT of relative path inside $root gives path 'newfile1' # ok 49 [in_root] O_CREAT of absolute path gives path 'newfile2' # ok 50 [in_root] O_CREAT of tricky symlink outside root gives path 'newfile3' # ok 51 [no_xdev] cross into $mnt fails with -18 (Invalid cross-device link) # ok 52 [no_xdev] cross into $mnt/ fails with -18 (Invalid cross-device link) # ok 53 [no_xdev] cross into $mnt/. fails with -18 (Invalid cross-device link) # ok 54 [no_xdev] goto mountpoint root gives path 'mnt' # ok 55 [no_xdev] cross up through '..' fails with -18 (Invalid cross-device link) # ok 56 [no_xdev] temporary cross up through '..' fails with -18 (Invalid cross-device link) # ok 57 [no_xdev] temporary relative symlink cross up fails with -18 (Invalid cross-device link) # ok 58 [no_xdev] temporary absolute symlink cross up fails with -18 (Invalid cross-device link) # ok 59 [no_xdev] jump to / directly gives path '/' # ok 60 [no_xdev] jump to / (from /) directly gives path '/' # ok 61 [no_xdev] jump to / then proc fails with -18 (Invalid cross-device link) # ok 62 [no_xdev] jump to / then tmp fails with -18 (Invalid cross-device link) # ok 63 [no_xdev] cross through magic-link to self/root fails with -18 (Invalid cross-device link) # ok 64 [no_xdev] cross through magic-link to self/cwd fails with -18 (Invalid cross-device link) # ok 65 [no_xdev] jump through magic-link to same procfs gives path '/proc' # ok 66 [no_magiclinks] ordinary relative symlink gives path 'etc/passwd' # ok 67 [no_magiclinks] symlink to magic-link fails with -40 (Too many levels of symbolic links) # ok 68 [no_magiclinks] normal path to magic-link fails with -40 (Too many levels of symbolic links) # ok 69 [no_magiclinks] normal path to magic-link with O_NOFOLLOW gives path '/proc/2967/exe' # ok 70 [no_magiclinks] symlink to magic-link path component fails with -40 (Too many levels of symbolic links) # ok 71 [no_magiclinks] magic-link path component fails with -40 (Too many levels of symbolic links) # ok 72 [no_magiclinks] magic-link path component with O_NOFOLLOW fails with -40 (Too many levels of symbolic links) # ok 73 [no_symlinks] ordinary path to '.' gives path '.' # ok 74 [no_symlinks] ordinary path to 'root' gives path 'root' # ok 75 [no_symlinks] ordinary path to 'etc' gives path 'etc' # ok 76 [no_symlinks] ordinary path to 'etc/passwd' gives path 'etc/passwd' # ok 77 [no_symlinks] relative symlink target fails with -40 (Too many levels of symbolic links) # ok 78 [no_symlinks] relative symlink component fails with -40 (Too many levels of symbolic links) # ok 79 [no_symlinks] absolute symlink target fails with -40 (Too many levels of symbolic links) # ok 80 [no_symlinks] absolute symlink component fails with -40 (Too many levels of symbolic links) # ok 81 [no_symlinks] cheeky garbage link fails with -40 (Too many levels of symbolic links) # ok 82 [no_symlinks] cheeky absolute + garbage link fails with -40 (Too many levels of symbolic links) # ok 83 [no_symlinks] cheeky absolute + absolute symlink fails with -40 (Too many levels of symbolic links) # ok 84 [no_symlinks] relative symlink with O_NOFOLLOW gives path 'relsym' # ok 85 [no_symlinks] absolute symlink with O_NOFOLLOW gives path 'abssym' # ok 86 [no_symlinks] trailing symlink with O_NOFOLLOW gives path 'cheeky/garbagelink' # ok 87 [no_symlinks] multiple symlink components with O_NOFOLLOW fails with -40 (Too many levels of symbolic links) # ok 88 [no_symlinks] multiple symlink (and garbage link) components with O_NOFOLLOW fails with -40 (Too many levels of symbolic links) # # Totals: pass:88 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 2 selftests: openat2: resolve_test # selftests: openat2: rename_attack_test # TAP version 13 # 1..2 # # non-escapes: EAGAIN=72184 EXDEV=327816 E=0 success=0 # ok 1 rename attack with RESOLVE_BENEATH (400000 runs, got 0 escapes) # # non-escapes: EAGAIN=380211 EXDEV=0 E=0 success=19789 # ok 2 rename attack with RESOLVE_IN_ROOT (400000 runs, got 0 escapes) # # Totals: pass:2 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 3 selftests: openat2: rename_attack_test make: Leaving directory '/mnt/selftests/openat2' perf_events test: not in Makefile 2023-03-20 06:20:49 make TARGETS=perf_events make[1]: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/perf_events' gcc -Wl,-no-as-needed -Wall -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/usr/include -lpthread sigtrap_threads.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/perf_events/sigtrap_threads gcc -Wl,-no-as-needed -Wall -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/usr/include -lpthread remove_on_exec.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/perf_events/remove_on_exec make[1]: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/perf_events' 2023-03-20 06:20:50 make -C perf_events make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/perf_events' make: Nothing to be done for 'all'. make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/perf_events' 2023-03-20 06:20:50 make quicktest=1 run_tests -C perf_events make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/perf_events' TAP version 13 1..2 # selftests: perf_events: sigtrap_threads # TAP version 13 # 1..5 # # Starting 5 tests from 1 test cases. # # RUN sigtrap_threads.remain_disabled ... # # OK sigtrap_threads.remain_disabled # ok 1 sigtrap_threads.remain_disabled # # RUN sigtrap_threads.enable_event ... # # OK sigtrap_threads.enable_event # ok 2 sigtrap_threads.enable_event # # RUN sigtrap_threads.modify_and_enable_event ... # # OK sigtrap_threads.modify_and_enable_event # ok 3 sigtrap_threads.modify_and_enable_event # # RUN sigtrap_threads.signal_stress ... # # OK sigtrap_threads.signal_stress # ok 4 sigtrap_threads.signal_stress # # RUN sigtrap_threads.signal_stress_with_disable ... # # OK sigtrap_threads.signal_stress_with_disable # ok 5 sigtrap_threads.signal_stress_with_disable # # PASSED: 5 / 5 tests passed. # # Totals: pass:5 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 1 selftests: perf_events: sigtrap_threads # selftests: perf_events: remove_on_exec # TAP version 13 # 1..4 # # Starting 4 tests from 1 test cases. # # RUN remove_on_exec.fork_only ... # # OK remove_on_exec.fork_only # ok 1 remove_on_exec.fork_only # # RUN remove_on_exec.fork_exec_then_enable ... # # OK remove_on_exec.fork_exec_then_enable # ok 2 remove_on_exec.fork_exec_then_enable # # RUN remove_on_exec.enable_then_fork_exec ... # *# OK remove_on_exec.enable_then_fork_exec # ok 3 remove_on_exec.enable_then_fork_exec # # RUN remove_on_exec.exec_stress ... # ******************************# OK remove_on_exec.exec_stress # ok 4 remove_on_exec.exec_stress # # PASSED: 4 / 4 tests passed. # # Totals: pass:4 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 2 selftests: perf_events: remove_on_exec make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/perf_events' 2023-03-20 06:20:51 make -C pid_namespace make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/pid_namespace' gcc -g -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include regression_enomem.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/pid_namespace/regression_enomem make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/pid_namespace' 2023-03-20 06:20:51 make quicktest=1 run_tests -C pid_namespace make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/pid_namespace' TAP version 13 1..1 # selftests: pid_namespace: regression_enomem # TAP version 13 # 1..1 # # Starting 1 tests from 1 test cases. # # RUN global.regression_enomem ... # # OK global.regression_enomem # ok 1 global.regression_enomem # # PASSED: 1 / 1 tests passed. # # Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 1 selftests: pid_namespace: regression_enomem make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/pid_namespace' LKP SKIP powerpc prctl test: not in Makefile 2023-03-20 06:20:51 make TARGETS=prctl make[1]: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/prctl' Makefile:14: warning: overriding recipe for target 'clean' ../lib.mk:124: warning: ignoring old recipe for target 'clean' gcc disable-tsc-ctxt-sw-stress-test.c -o disable-tsc-ctxt-sw-stress-test gcc disable-tsc-on-off-stress-test.c -o disable-tsc-on-off-stress-test gcc disable-tsc-test.c -o disable-tsc-test make[1]: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/prctl' 2023-03-20 06:20:52 make -C prctl make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/prctl' Makefile:14: warning: overriding recipe for target 'clean' ../lib.mk:124: warning: ignoring old recipe for target 'clean' make: Nothing to be done for 'all'. make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/prctl' 2023-03-20 06:20:52 make quicktest=1 run_tests -C prctl make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/prctl' Makefile:14: warning: overriding recipe for target 'clean' ../lib.mk:124: warning: ignoring old recipe for target 'clean' TAP version 13 1..3 # selftests: prctl: disable-tsc-ctxt-sw-stress-test # [No further output means we're all right] ok 1 selftests: prctl: disable-tsc-ctxt-sw-stress-test # selftests: prctl: disable-tsc-on-off-stress-test # [No further output means we're all right] ok 2 selftests: prctl: disable-tsc-on-off-stress-test # selftests: prctl: disable-tsc-test # rdtsc() == 8977674487554 # prctl(PR_GET_TSC, &tsc_val); tsc_val == PR_TSC_ENABLE # rdtsc() == 8977675161186 # prctl(PR_SET_TSC, PR_TSC_ENABLE) # rdtsc() == 8977675181440 # prctl(PR_SET_TSC, PR_TSC_SIGSEGV) # rdtsc() == [ SIG_SEGV ] # prctl(PR_GET_TSC, &tsc_val); tsc_val == PR_TSC_SIGSEGV # prctl(PR_SET_TSC, PR_TSC_ENABLE) # rdtsc() == 8977675302072 ok 3 selftests: prctl: disable-tsc-test make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/prctl' LKP SKIP proc.proc-pid-vm 2023-03-20 06:21:13 make -C proc make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc' gcc -I../../../../usr/include -Wall -O2 -Wno-unused-function -D_GNU_SOURCE -pthread fd-001-lookup.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc/fd-001-lookup gcc -I../../../../usr/include -Wall -O2 -Wno-unused-function -D_GNU_SOURCE -pthread fd-002-posix-eq.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc/fd-002-posix-eq gcc -I../../../../usr/include -Wall -O2 -Wno-unused-function -D_GNU_SOURCE -pthread fd-003-kthread.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc/fd-003-kthread gcc -I../../../../usr/include -Wall -O2 -Wno-unused-function -D_GNU_SOURCE -pthread proc-loadavg-001.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc/proc-loadavg-001 gcc -I../../../../usr/include -Wall -O2 -Wno-unused-function -D_GNU_SOURCE -pthread proc-empty-vm.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc/proc-empty-vm proc-empty-vm.c: In function ‘main’: proc-empty-vm.c:350:2: error: #error "implement 'unmap everything'" 350 | #error "implement 'unmap everything'" | ^~~~~ make: *** [../lib.mk:145: /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc/proc-empty-vm] Error 1 make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc' 2023-03-20 06:21:14 make quicktest=1 run_tests -C proc make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc' gcc -I../../../../usr/include -Wall -O2 -Wno-unused-function -D_GNU_SOURCE -pthread proc-empty-vm.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc/proc-empty-vm proc-empty-vm.c: In function ‘main’: proc-empty-vm.c:350:2: error: #error "implement 'unmap everything'" 350 | #error "implement 'unmap everything'" | ^~~~~ make: *** [../lib.mk:145: /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc/proc-empty-vm] Error 1 make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/proc' 2023-03-20 06:21:14 make -C pstore make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/pstore' make: Nothing to be done for 'all'. make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/pstore' 2023-03-20 06:21:14 make quicktest=1 run_tests -C pstore make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/pstore' TAP version 13 1..2 # selftests: pstore: pstore_tests # === Pstore unit tests (pstore_tests) === # UUID=37215a68-453a-4dcd-8171-8bc0672a1a61 # Checking pstore backend is registered ... ok # backend=ramoops # cmdline=ip=::::lkp-skl-d07::dhcp root=/dev/ram0 RESULT_ROOT=/result/kernel-selftests/group-02/lkp-skl-d07/debian-11.1-i386-20220923.cgz/i386-debian-10.3-kselftests/gcc-11/d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/1 BOOT_IMAGE=/pkg/linux/i386-debian-10.3-kselftests/gcc-11/d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/vmlinuz-6.2.0-rc5-00038-gd8e45bf1aed2 branch=linus/master job=/lkp/jobs/scheduled/lkp-skl-d07/kernel-selftests-group-02-debian-11.1-i386-20220923.cgz-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8-20230320-11804-97t9v5-1.yaml user=lkp ARCH=i386 kconfig=i386-debian-10.3-kselftests commit=d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8 sysctl.debug.test_sysctl.boot_int=1 initcall_debug mem=4G nmi_watchdog=0 max_uptime=1200 LKP_SERVER=internal-lkp-server nokaslr selinux=0 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 net.ifnames=0 printk.devkmsg=on panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 drbd.minor_count=8 systemd.log_level=err ignore_loglevel console=tty0 earlyprintk=ttyS0,115200 console=ttyS0,115200 vga=normal rw # Checking pstore console is registered ... ok # Checking /dev/pmsg0 exists ... ok # Writing unique string to /dev/pmsg0 ... ok ok 1 selftests: pstore: pstore_tests # selftests: pstore: pstore_post_reboot_tests # === Pstore unit tests (pstore_post_reboot_tests) === # UUID=c02eaa0c-7e72-4ef5-b2e4-e6fdc4c7eb4d # Checking pstore backend is registered ... ok # backend=ramoops # cmdline=ip=::::lkp-skl-d07::dhcp root=/dev/ram0 RESULT_ROOT=/result/kernel-selftests/group-02/lkp-skl-d07/debian-11.1-i386-20220923.cgz/i386-debian-10.3-kselftests/gcc-11/d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/1 BOOT_IMAGE=/pkg/linux/i386-debian-10.3-kselftests/gcc-11/d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/vmlinuz-6.2.0-rc5-00038-gd8e45bf1aed2 branch=linus/master job=/lkp/jobs/scheduled/lkp-skl-d07/kernel-selftests-group-02-debian-11.1-i386-20220923.cgz-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8-20230320-11804-97t9v5-1.yaml user=lkp ARCH=i386 kconfig=i386-debian-10.3-kselftests commit=d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8 sysctl.debug.test_sysctl.boot_int=1 initcall_debug mem=4G nmi_watchdog=0 max_uptime=1200 LKP_SERVER=internal-lkp-server nokaslr selinux=0 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 net.ifnames=0 printk.devkmsg=on panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 drbd.minor_count=8 systemd.log_level=err ignore_loglevel console=tty0 earlyprintk=ttyS0,115200 console=ttyS0,115200 vga=normal rw # pstore_crash_test has not been executed yet. we skip further tests. ok 2 selftests: pstore: pstore_post_reboot_tests # SKIP make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/pstore' ptp test: not in Makefile 2023-03-20 06:21:15 make TARGETS=ptp make[1]: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptp' gcc -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/usr/include testptp.c -lrt -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptp/testptp make[1]: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptp' 2023-03-20 06:21:15 make -C ptp make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptp' make: Nothing to be done for 'all'. make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptp' 2023-03-20 06:21:15 make quicktest=1 run_tests -C ptp make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptp' TAP version 13 1..2 # selftests: ptp: testptp ok 1 selftests: ptp: testptp # selftests: ptp: phc.sh # SKIP: PTP device not provided ok 2 selftests: ptp: phc.sh make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptp' 2023-03-20 06:21:15 make -C ptrace make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptrace' gcc -std=c99 -pthread -Wall -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include get_syscall_info.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptrace/get_syscall_info gcc -std=c99 -pthread -Wall -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include peeksiginfo.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptrace/peeksiginfo gcc -std=c99 -pthread -Wall -isystem /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/../../../usr/include vmaccess.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptrace/vmaccess make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptrace' 2023-03-20 06:21:16 make quicktest=1 run_tests -C ptrace make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptrace' TAP version 13 1..3 # selftests: ptrace: get_syscall_info # TAP version 13 # 1..1 # # Starting 1 tests from 1 test cases. # # RUN global.get_syscall_info ... # # OK global.get_syscall_info # ok 1 global.get_syscall_info # # PASSED: 1 / 1 tests passed. # # Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 1 selftests: ptrace: get_syscall_info # selftests: ptrace: peeksiginfo # PASS ok 2 selftests: ptrace: peeksiginfo # selftests: ptrace: vmaccess # TAP version 13 # 1..2 # # Starting 2 tests from 1 test cases. # # RUN global.vmaccess ... # # OK global.vmaccess # ok 1 global.vmaccess # # RUN global.attach ... # # attach: Test terminated by timeout # # FAIL global.attach # not ok 2 global.attach # # FAILED: 1 / 2 tests passed. # # Totals: pass:1 fail:1 xfail:0 xpass:0 skip:0 error:0 not ok 3 selftests: ptrace: vmaccess # exit=1 make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/ptrace' 2023-03-20 06:21:47 make -C rlimits make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rlimits' gcc -Wall -O2 -g rlimits-per-userns.c -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rlimits/rlimits-per-userns make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rlimits' 2023-03-20 06:21:47 make quicktest=1 run_tests -C rlimits make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rlimits' TAP version 13 1..1 # selftests: rlimits: rlimits-per-userns # rlimits-per-userns: (pid=4129) Starting testcase # rlimits-per-userns: (pid=4129): Setting RLIMIT_NPROC=1 # rlimits-per-userns: (pid=4130): New process starting ... # rlimits-per-userns: (pid=4130): Changing to uid=60000, gid=60000 # rlimits-per-userns: (pid=4130): Service running ... # rlimits-per-userns: (pid=4130): Unshare user namespace # rlimits-per-userns: (pid=4130): Executing real service ... # rlimits-per-userns: (pid=4131): New process starting ... # rlimits-per-userns: (pid=4131): Changing to uid=60000, gid=60000 # rlimits-per-userns: (pid=4131): Service running ... # rlimits-per-userns: (pid=4131): Unshare user namespace # rlimits-per-userns: (pid=4131): Executing real service ... # rlimits-per-userns: (pid=4129): pid 4130 killed by signal 10 # rlimits-per-userns: (pid=4129): pid 4131 killed by signal 10 # rlimits-per-userns: (pid=4129): Test passed ok 1 selftests: rlimits: rlimits-per-userns make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rlimits' 2023-03-20 06:21:49 make -C rtc make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rtc' gcc -O3 -Wl,-no-as-needed -Wall rtctest.c -lrt -lpthread -lm -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rtc/rtctest gcc -O3 -Wl,-no-as-needed -Wall setdate.c -lrt -lpthread -lm -o /usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rtc/setdate make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rtc' 2023-03-20 06:21:49 make quicktest=1 run_tests -C rtc make: Entering directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rtc' TAP version 13 1..1 # selftests: rtc: rtctest # TAP version 13 # 1..8 # # Starting 8 tests from 1 test cases. # # RUN rtc.date_read ... # # rtctest.c:52:date_read:Current RTC date/time is 20/03/2023 06:24:19. # # OK rtc.date_read # ok 1 rtc.date_read # # RUN rtc.date_read_loop ... # # rtctest.c:95:date_read_loop:Continuously reading RTC time for 30s (with 11ms breaks after every read). # # rtctest.c:122:date_read_loop:Performed 2739 RTC time reads. # # OK rtc.date_read_loop # ok 2 rtc.date_read_loop # # RUN rtc.uie_read ... # # OK rtc.uie_read # ok 3 rtc.uie_read # # RUN rtc.uie_select ... # # OK rtc.uie_select # ok 4 rtc.uie_select # # RUN rtc.alarm_alm_set ... # # rtctest.c:221:alarm_alm_set:Alarm time now set to 06:24:59. # # rtctest.c:241:alarm_alm_set:data: 1a0 # # OK rtc.alarm_alm_set # ok 5 rtc.alarm_alm_set # # RUN rtc.alarm_wkalm_set ... # # rtctest.c:281:alarm_wkalm_set:Alarm time now set to 20/03/2023 06:25:02. # # OK rtc.alarm_wkalm_set # ok 6 rtc.alarm_wkalm_set # # RUN rtc.alarm_alm_set_minute ... # # rtctest.c:331:alarm_alm_set_minute:Alarm time now set to 06:26:00. # # rtctest.c:351:alarm_alm_set_minute:data: 1a0 # # OK rtc.alarm_alm_set_minute # ok 7 rtc.alarm_alm_set_minute # # RUN rtc.alarm_wkalm_set_minute ... # # rtctest.c:391:alarm_wkalm_set_minute:Alarm time now set to 20/03/2023 06:27:00. # # OK rtc.alarm_wkalm_set_minute # ok 8 rtc.alarm_wkalm_set_minute # # PASSED: 8 / 8 tests passed. # # Totals: pass:8 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 1 selftests: rtc: rtctest make: Leaving directory '/usr/src/perf_selftests-i386-debian-10.3-kselftests-d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8/tools/testing/selftests/rtc'