Commit 5dfbbb66 authored by Len Baker's avatar Len Baker Committed by Gustavo A. R. Silva

KVM: PPC: Replace zero-length array with flexible array member

There is a regular need in the kernel to provide a way to declare having
a dynamically sized set of trailing elements in a structure. Kernel code
should always use "flexible array members" [1] for these cases. The
older style of one-element or zero-length arrays should no longer be
used[2].

Also, make use of the struct_size() helper in kzalloc().

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arraysSigned-off-by: default avatarLen Baker <len.baker@gmx.com>
Reviewed-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
parent 6446c4fb
...@@ -190,7 +190,7 @@ struct kvmppc_spapr_tce_table { ...@@ -190,7 +190,7 @@ struct kvmppc_spapr_tce_table {
u64 size; /* window size in pages */ u64 size; /* window size in pages */
struct list_head iommu_tables; struct list_head iommu_tables;
struct mutex alloc_lock; struct mutex alloc_lock;
struct page *pages[0]; struct page *pages[];
}; };
/* XICS components, defined in book3s_xics.c */ /* XICS components, defined in book3s_xics.c */
......
...@@ -295,8 +295,7 @@ long kvm_vm_ioctl_create_spapr_tce(struct kvm *kvm, ...@@ -295,8 +295,7 @@ long kvm_vm_ioctl_create_spapr_tce(struct kvm *kvm,
return ret; return ret;
ret = -ENOMEM; ret = -ENOMEM;
stt = kzalloc(sizeof(*stt) + npages * sizeof(struct page *), stt = kzalloc(struct_size(stt, pages, npages), GFP_KERNEL);
GFP_KERNEL);
if (!stt) if (!stt)
goto fail_acct; goto fail_acct;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment