Skip to content

Commit da142f3

Browse files
committed
KVM: Remove subtle "struct kvm_stats_desc" pseudo-overlay
Remove KVM's internal pseudo-overlay of kvm_stats_desc, which subtly aliases the flexible name[] in the uAPI definition with a fixed-size array of the same name. The unusual embedded structure results in compiler warnings due to -Wflex-array-member-not-at-end, and also necessitates an extra level of dereferencing in KVM. To avoid the "overlay", define the uAPI structure to have a fixed-size name when building for the kernel. Opportunistically clean up the indentation for the stats macros, and replace spaces with tabs. No functional change intended. Reported-by: Gustavo A. R. Silva <gustavoars@kernel.org> Closes: https://lore.kernel.org/all/aPfNKRpLfhmhYqfP@kspp Acked-by: Marc Zyngier <maz@kernel.org> Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com> [..] Acked-by: Anup Patel <anup@brainfault.org> Reviewed-by: Bibo Mao <maobibo@loongson.cn> Acked-by: Gustavo A. R. Silva <gustavoars@kernel.org> Link: https://patch.msgid.link/20251205232655.445294-1-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
1 parent 9ace475 commit da142f3

14 files changed

Lines changed: 70 additions & 75 deletions

File tree

arch/arm64/kvm/guest.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
#include "trace.h"
3131

32-
const struct _kvm_stats_desc kvm_vm_stats_desc[] = {
32+
const struct kvm_stats_desc kvm_vm_stats_desc[] = {
3333
KVM_GENERIC_VM_STATS()
3434
};
3535

@@ -42,7 +42,7 @@ const struct kvm_stats_header kvm_vm_stats_header = {
4242
sizeof(kvm_vm_stats_desc),
4343
};
4444

45-
const struct _kvm_stats_desc kvm_vcpu_stats_desc[] = {
45+
const struct kvm_stats_desc kvm_vcpu_stats_desc[] = {
4646
KVM_GENERIC_VCPU_STATS(),
4747
STATS_DESC_COUNTER(VCPU, hvc_exit_stat),
4848
STATS_DESC_COUNTER(VCPU, wfe_exit_stat),

arch/loongarch/kvm/vcpu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#define CREATE_TRACE_POINTS
1515
#include "trace.h"
1616

17-
const struct _kvm_stats_desc kvm_vcpu_stats_desc[] = {
17+
const struct kvm_stats_desc kvm_vcpu_stats_desc[] = {
1818
KVM_GENERIC_VCPU_STATS(),
1919
STATS_DESC_COUNTER(VCPU, int_exits),
2020
STATS_DESC_COUNTER(VCPU, idle_exits),

arch/loongarch/kvm/vm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include <asm/kvm_eiointc.h>
1111
#include <asm/kvm_pch_pic.h>
1212

13-
const struct _kvm_stats_desc kvm_vm_stats_desc[] = {
13+
const struct kvm_stats_desc kvm_vm_stats_desc[] = {
1414
KVM_GENERIC_VM_STATS(),
1515
STATS_DESC_ICOUNTER(VM, pages),
1616
STATS_DESC_ICOUNTER(VM, hugepages),

arch/mips/kvm/mips.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
#define VECTORSPACING 0x100 /* for EI/VI mode */
3939
#endif
4040

41-
const struct _kvm_stats_desc kvm_vm_stats_desc[] = {
41+
const struct kvm_stats_desc kvm_vm_stats_desc[] = {
4242
KVM_GENERIC_VM_STATS()
4343
};
4444

@@ -51,7 +51,7 @@ const struct kvm_stats_header kvm_vm_stats_header = {
5151
sizeof(kvm_vm_stats_desc),
5252
};
5353

54-
const struct _kvm_stats_desc kvm_vcpu_stats_desc[] = {
54+
const struct kvm_stats_desc kvm_vcpu_stats_desc[] = {
5555
KVM_GENERIC_VCPU_STATS(),
5656
STATS_DESC_COUNTER(VCPU, wait_exits),
5757
STATS_DESC_COUNTER(VCPU, cache_exits),

arch/powerpc/kvm/book3s.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
/* #define EXIT_DEBUG */
4040

41-
const struct _kvm_stats_desc kvm_vm_stats_desc[] = {
41+
const struct kvm_stats_desc kvm_vm_stats_desc[] = {
4242
KVM_GENERIC_VM_STATS(),
4343
STATS_DESC_ICOUNTER(VM, num_2M_pages),
4444
STATS_DESC_ICOUNTER(VM, num_1G_pages)
@@ -53,7 +53,7 @@ const struct kvm_stats_header kvm_vm_stats_header = {
5353
sizeof(kvm_vm_stats_desc),
5454
};
5555

56-
const struct _kvm_stats_desc kvm_vcpu_stats_desc[] = {
56+
const struct kvm_stats_desc kvm_vcpu_stats_desc[] = {
5757
KVM_GENERIC_VCPU_STATS(),
5858
STATS_DESC_COUNTER(VCPU, sum_exits),
5959
STATS_DESC_COUNTER(VCPU, mmio_exits),

arch/powerpc/kvm/booke.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
unsigned long kvmppc_booke_handlers;
3838

39-
const struct _kvm_stats_desc kvm_vm_stats_desc[] = {
39+
const struct kvm_stats_desc kvm_vm_stats_desc[] = {
4040
KVM_GENERIC_VM_STATS(),
4141
STATS_DESC_ICOUNTER(VM, num_2M_pages),
4242
STATS_DESC_ICOUNTER(VM, num_1G_pages)
@@ -51,7 +51,7 @@ const struct kvm_stats_header kvm_vm_stats_header = {
5151
sizeof(kvm_vm_stats_desc),
5252
};
5353

54-
const struct _kvm_stats_desc kvm_vcpu_stats_desc[] = {
54+
const struct kvm_stats_desc kvm_vcpu_stats_desc[] = {
5555
KVM_GENERIC_VCPU_STATS(),
5656
STATS_DESC_COUNTER(VCPU, sum_exits),
5757
STATS_DESC_COUNTER(VCPU, mmio_exits),

arch/riscv/kvm/vcpu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
#define CREATE_TRACE_POINTS
2525
#include "trace.h"
2626

27-
const struct _kvm_stats_desc kvm_vcpu_stats_desc[] = {
27+
const struct kvm_stats_desc kvm_vcpu_stats_desc[] = {
2828
KVM_GENERIC_VCPU_STATS(),
2929
STATS_DESC_COUNTER(VCPU, ecall_exit_stat),
3030
STATS_DESC_COUNTER(VCPU, wfi_exit_stat),

arch/riscv/kvm/vm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include <linux/kvm_host.h>
1414
#include <asm/kvm_mmu.h>
1515

16-
const struct _kvm_stats_desc kvm_vm_stats_desc[] = {
16+
const struct kvm_stats_desc kvm_vm_stats_desc[] = {
1717
KVM_GENERIC_VM_STATS()
1818
};
1919
static_assert(ARRAY_SIZE(kvm_vm_stats_desc) ==

arch/s390/kvm/kvm-s390.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
#define VCPU_IRQS_MAX_BUF (sizeof(struct kvm_s390_irq) * \
6565
(KVM_MAX_VCPUS + LOCAL_IRQS))
6666

67-
const struct _kvm_stats_desc kvm_vm_stats_desc[] = {
67+
const struct kvm_stats_desc kvm_vm_stats_desc[] = {
6868
KVM_GENERIC_VM_STATS(),
6969
STATS_DESC_COUNTER(VM, inject_io),
7070
STATS_DESC_COUNTER(VM, inject_float_mchk),
@@ -90,7 +90,7 @@ const struct kvm_stats_header kvm_vm_stats_header = {
9090
sizeof(kvm_vm_stats_desc),
9191
};
9292

93-
const struct _kvm_stats_desc kvm_vcpu_stats_desc[] = {
93+
const struct kvm_stats_desc kvm_vcpu_stats_desc[] = {
9494
KVM_GENERIC_VCPU_STATS(),
9595
STATS_DESC_COUNTER(VCPU, exit_userspace),
9696
STATS_DESC_COUNTER(VCPU, exit_null),

arch/x86/kvm/x86.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ EXPORT_SYMBOL_FOR_KVM_INTERNAL(enable_ipiv);
237237
bool __read_mostly enable_device_posted_irqs = true;
238238
EXPORT_SYMBOL_FOR_KVM_INTERNAL(enable_device_posted_irqs);
239239

240-
const struct _kvm_stats_desc kvm_vm_stats_desc[] = {
240+
const struct kvm_stats_desc kvm_vm_stats_desc[] = {
241241
KVM_GENERIC_VM_STATS(),
242242
STATS_DESC_COUNTER(VM, mmu_shadow_zapped),
243243
STATS_DESC_COUNTER(VM, mmu_pte_write),
@@ -263,7 +263,7 @@ const struct kvm_stats_header kvm_vm_stats_header = {
263263
sizeof(kvm_vm_stats_desc),
264264
};
265265

266-
const struct _kvm_stats_desc kvm_vcpu_stats_desc[] = {
266+
const struct kvm_stats_desc kvm_vcpu_stats_desc[] = {
267267
KVM_GENERIC_VCPU_STATS(),
268268
STATS_DESC_COUNTER(VCPU, pf_taken),
269269
STATS_DESC_COUNTER(VCPU, pf_fixed),

0 commit comments

Comments
 (0)