lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202303230011.43c63f0c-yujie.liu@intel.com>
Date:   Thu, 23 Mar 2023 00:23:22 +0800
From:   kernel test robot <yujie.liu@...el.com>
To:     Shuah Khan <skhan@...uxfoundation.org>
CC:     <oe-lkp@...ts.linux.dev>, <lkp@...el.com>,
        <linux-kernel@...r.kernel.org>, <linux-fsdevel@...r.kernel.org>
Subject: [linus:master] [selftests/mount_setattr] d8e45bf1ae:
 kernel-selftests.mount_setattr.make.fail

Hello,

kernel test robot noticed kernel-selftests.mount_setattr.make.fail due to commit (built with gcc-11):

commit: d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8 ("selftests/mount_setattr: fix redefine struct mount_attr build error")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master

[test failed on linux-next/master 73f2c2a7e1d2b31fdd5faa6dfa151c437a6c0a5a]

in testcase: kernel-selftests
version: kernel-selftests-i386-75776cf2-1_20221008
with following parameters:

	group: group-02

test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt

on test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (Skylake) with 16G memory

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


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'


We did a quick investigation and found it may be related with the
version of libc headers in the system environment.
When libc v2.35 is installed, it fails when building mount_setattr
selftests.
When libc v2.36 is installed, it builds fine.


If you fix the issue, kindly add following tag
| Reported-by: kernel test robot <yujie.liu@...el.com>
| Link: https://lore.kernel.org/oe-lkp/202303230011.43c63f0c-yujie.liu@intel.com


-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

View attachment "config-6.2.0-rc5-00038-gd8e45bf1aed2" of type "text/plain" (161461 bytes)

View attachment "job-script" of type "text/plain" (6475 bytes)

Download attachment "dmesg.xz" of type "application/x-xz" (61388 bytes)

View attachment "kernel-selftests" of type "text/plain" (134494 bytes)

View attachment "job.yaml" of type "text/plain" (5646 bytes)

View attachment "reproduce" of type "text/plain" (1359 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ