gve: Replace zero-length array with flexible-array member
authorGustavo A. R. Silva <gustavoars@kernel.org>
Tue, 27 Oct 2020 21:30:45 +0000 (16:30 -0500)
committerGustavo A. R. Silva <gustavoars@kernel.org>
Fri, 30 Oct 2020 21:57:41 +0000 (16:57 -0500)
commit691f4077d5604af4067ebbea4a27f05e760557b7
tree46c3702ba7f04c9486d67a3b74e4b49d4e55e54c
parent4acbf5545d5acfeeac6d84e31cb2203ba19223ef
gve: 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].

Refactor the code according to the use of a flexible-array member in
struct gve_stats_report, instead of a zero-length array, and use the
struct_size() helper to calculate the size for the resource allocation.

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://www.kernel.org/doc/html/v5.9/process/deprecated.html#zero-length-and-one-element-arrays

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
drivers/net/ethernet/google/gve/gve_adminq.h
drivers/net/ethernet/google/gve/gve_main.c