Re: [PATCH] scripts/kernel-doc: restore warning for Excess struct/union

From: Kees Cook
Date: Thu Dec 14 2023 - 20:02:30 EST


On Wed, Dec 13, 2023 at 11:05:42PM -0800, Randy Dunlap wrote:
> (correcting Mauro's email address)
>
>
> On 12/13/23 23:02, Randy Dunlap wrote:
> > The warning for Excess struct or union member description was
> > removed when the $nested parameter of check_sections() was removed.
> > This causes some kernel-doc notation warnings to be missed.
> >
> > Recently the kernel test robot somehow reported an Excess member. The
> > code in kernel-doc has not issued that warning since kernel v4.16, so I
> > don't know how the robot did it. (See the Link for the report.)
> >
> > drivers/net/wireless/intel/iwlwifi/fw/dbg.c:86: warning: Excess struct/union/enum/typedef member 'trans_len' description in 'iwl_fw_dump_ptrs'
> >
> > I patched that warning away even though I could not reproduce the
> > warning from kernel-doc. The warning should be issued for extraneous
> > struct member or union member description, so restore it.
> >
> > Fixes: 1081de2d2f91 ("scripts: kernel-doc: get rid of $nested parameter")
> > Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> > Link: https://lore.kernel.org/all/202312060810.QT9zourt-lkp@xxxxxxxxx/
> > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx>
> > Cc: Jonathan Corbet <corbet@xxxxxxx>
> > Cc: linux-doc@xxxxxxxxxxxxxxx
> > ---
> > scripts/kernel-doc | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff -- a/scripts/kernel-doc b/scripts/kernel-doc
> > --- a/scripts/kernel-doc
> > +++ b/scripts/kernel-doc
> > @@ -1659,6 +1659,13 @@ sub check_sections($$$$$) {
> > "'$sects[$sx]' " .
> > "description in '$decl_name'\n");
> > }
> > + elsif (($decl_type eq "struct") or
> > + ($decl_type eq "union")) {
> > + emit_warning("${file}:$.",
> > + "Excess $decl_type member " .
> > + "'$sects[$sx]' " .
> > + "description in '$decl_name'\n");
> > + }
> > }
> > }
> > }

Yes, please!

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

--
Kees Cook