On Fri, 2022-09-30 at 14:22 +0200, Greg Kroah-Hartman wrote: > On Wed, Sep 28, 2022 at 12:56:31PM -0700, Elliot Berman wrote: > > Gunyah resource manager defines a simple API for virtual machine log > > sharing with the console service. [] > > diff --git a/include/linux/gunyah_rsc_mgr.h b/include/linux/gunyah_rsc_mgr.h [] > > +struct gh_rm_notif_vm_console_chars { > > + u16 vmid; > > + u16 num_bytes; > > + u8 bytes[0]; > > Please do not use [0] for new structures, otherwise we will just have to > fix them up again as we are trying to get rid of all of these from the > kernel. Just use "bytes[];" instead. Maybe a checkpatch addition like: --- scripts/checkpatch.pl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 2737e4ced5745..187ed84c1f80a 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3948,6 +3948,17 @@ sub process { } } +# check for zero length array declarations in likely structs + if ($line =~ /^\+\t($Declare\s*$Ident)\s*\[\s*0\s*\]\s*;\s*$/ && + defined $lines[$linenr] && + $lines[$linenr] =~ /^[\+ ]\}\s*(?:__\w+\s*(?:$balanced_parens)?)\s*;\s*$/) { + if (WARN("FLEXIBLE_ARRAY_ZERO", + "Prefer flexible length array declarations with [] over [0]\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\[\s*0\s*\]/[]/; + } + } + # check for multiple consecutive blank lines if ($prevline =~ /^[\+ ]\s*$/ && $line =~ /^\+\s*$/ &&