[gustavoars:testing/wfamnae-next20251201 7/21] usr/include/linux/kvm.h:1581:57: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_stats_desc_hdr'
From: kernel test robot
Date: Wed Dec 03 2025 - 07:16:58 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git testing/wfamnae-next20251201
head: 2c162acfacfa32b76ad4176574a222a0e47f9df4
commit: 2eb7c0e83b5725b1318bcc4efe48fc6f34087c13 [7/21] KVM: Avoid a few dozen -Wflex-array-member-not-at-end warnings
config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251202/202512021722.wkmvuDSK-lkp@xxxxxxxxx/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 5dd2b06d60d3eb9b07c7513358ad8b04386f79bc)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251202/202512021722.wkmvuDSK-lkp@xxxxxxxxx/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/r/202512021722.wkmvuDSK-lkp@xxxxxxxxx/
Note: the gustavoars/testing/wfamnae-next20251201 HEAD 2c162acfacfa32b76ad4176574a222a0e47f9df4 builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
In file included from demand_paging_test.c:17:
In file included from include/kvm_util.h:14:
>> usr/include/linux/kvm.h:1572:2: error: type name requires a specifier or qualifier
1572 | __struct_group(kvm_stats_desc_hdr, __hdr, /* no attrs */,
| ^
>> usr/include/linux/kvm.h:1572:58: error: expected identifier
1572 | __struct_group(kvm_stats_desc_hdr, __hdr, /* no attrs */,
| ^
>> usr/include/linux/kvm.h:1573:14: error: expected ')'
1573 | __u32 flags;
| ^
usr/include/linux/kvm.h:1572:16: note: to match this '('
1572 | __struct_group(kvm_stats_desc_hdr, __hdr, /* no attrs */,
| ^
usr/include/linux/kvm.h:1578:2: error: type name requires a specifier or qualifier
1578 | );
| ^
>> usr/include/linux/kvm.h:1578:2: error: expected member name or ';' after declaration specifiers
>> usr/include/linux/kvm.h:1577:21: error: expected ';' at end of declaration list
1577 | __u32 bucket_size;
| ^
>> usr/include/linux/kvm.h:1581:57: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_stats_desc_hdr'
1581 | _Static_assert(offsetof(struct kvm_stats_desc, name) == sizeof(struct kvm_stats_desc_hdr),
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
usr/include/linux/kvm.h:1581:71: note: forward declaration of 'struct kvm_stats_desc_hdr'
1581 | _Static_assert(offsetof(struct kvm_stats_desc, name) == sizeof(struct kvm_stats_desc_hdr),
| ^
7 errors generated.
--
In file included from kvm_binary_stats_test.c:17:
In file included from include/kvm_util.h:14:
>> usr/include/linux/kvm.h:1572:2: error: type name requires a specifier or qualifier
1572 | __struct_group(kvm_stats_desc_hdr, __hdr, /* no attrs */,
| ^
>> usr/include/linux/kvm.h:1572:58: error: expected identifier
1572 | __struct_group(kvm_stats_desc_hdr, __hdr, /* no attrs */,
| ^
>> usr/include/linux/kvm.h:1573:14: error: expected ')'
1573 | __u32 flags;
| ^
usr/include/linux/kvm.h:1572:16: note: to match this '('
1572 | __struct_group(kvm_stats_desc_hdr, __hdr, /* no attrs */,
| ^
usr/include/linux/kvm.h:1578:2: error: type name requires a specifier or qualifier
1578 | );
| ^
>> usr/include/linux/kvm.h:1578:2: error: expected member name or ';' after declaration specifiers
>> usr/include/linux/kvm.h:1577:21: error: expected ';' at end of declaration list
1577 | __u32 bucket_size;
| ^
>> usr/include/linux/kvm.h:1581:57: error: invalid application of 'sizeof' to an incomplete type 'struct kvm_stats_desc_hdr'
1581 | _Static_assert(offsetof(struct kvm_stats_desc, name) == sizeof(struct kvm_stats_desc_hdr),
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
usr/include/linux/kvm.h:1581:71: note: forward declaration of 'struct kvm_stats_desc_hdr'
1581 | _Static_assert(offsetof(struct kvm_stats_desc, name) == sizeof(struct kvm_stats_desc_hdr),
| ^
kvm_binary_stats_test.c:77:17: error: no member named 'flags' in 'struct kvm_stats_desc'
77 | type = pdesc->flags & KVM_STATS_TYPE_MASK;
| ~~~~~ ^
kvm_binary_stats_test.c:78:17: error: no member named 'flags' in 'struct kvm_stats_desc'
78 | unit = pdesc->flags & KVM_STATS_UNIT_MASK;
| ~~~~~ ^
kvm_binary_stats_test.c:79:17: error: no member named 'flags' in 'struct kvm_stats_desc'
79 | base = pdesc->flags & KVM_STATS_BASE_MASK;
| ~~~~~ ^
kvm_binary_stats_test.c:102:18: error: no member named 'flags' in 'struct kvm_stats_desc'
102 | switch (pdesc->flags & KVM_STATS_UNIT_MASK) {
| ~~~~~ ^
kvm_binary_stats_test.c:126:18: error: no member named 'flags' in 'struct kvm_stats_desc'
126 | switch (pdesc->flags & KVM_STATS_TYPE_MASK) {
| ~~~~~ ^
12 errors generated.
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki