On Thu, Dec 14, 2023 at 04:25:01PM -0800, Randy Dunlap wrote: > > > On 12/14/23 16:13, Kees Cook wrote: > > It seems that Sphinx is confused by the __counted_by attribute on struct > > members. Add it to the list of known attributes. > > > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > Closes: https://lore.kernel.org/oe-kbuild-all/202312150614.kOx8xUkr-lkp@xxxxxxxxx/ > > Cc: Jonathan Corbet <corbet@xxxxxxx> > > Cc: "Gustavo A. R. Silva" <gustavoars@xxxxxxxxxx> > > Cc: linux-doc@xxxxxxxxxxxxxxx > > Cc: linux-hardening@xxxxxxxxxxxxxxx > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > > --- > > Documentation/conf.py | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/Documentation/conf.py b/Documentation/conf.py > > index d4fdf6a3875a..5898c74b96fb 100644 > > --- a/Documentation/conf.py > > +++ b/Documentation/conf.py > > @@ -106,6 +106,7 @@ if major >= 3: > > "__weak", > > "noinline", > > "__fix_address", > > + "__counted_by", > > > > # include/linux/memblock.h: > > "__init_memblock", > > If Sphinx needs to know about that, then fine. OTOH, for scripts/kernel-doc, I *think* it does -- I can't reproduce the robot warnings myself. > a similar change could have been made to dump_struct(), along with these > others: > > # strip attributes > $members =~ s/\s*$attribute/ /gi; > $members =~ s/\s*__aligned\s*\([^;]*\)/ /gos; > $members =~ s/\s*__packed\s*/ /gos; > $members =~ s/\s*CRYPTO_MINALIGN_ATTR/ /gos; > $members =~ s/\s*____cacheline_aligned_in_smp/ /gos; > $members =~ s/\s*____cacheline_aligned/ /gos; scripts/kernel-doc doesn't actually need this -- it already processes struct members in a way that seems to ignore trailing attributes. -Kees -- Kees Cook