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 <l...@intel.com>
> > Closes: 
> > https://lore.kernel.org/oe-kbuild-all/202312150614.kox8xukr-...@intel.com/
> > Cc: Jonathan Corbet <cor...@lwn.net>
> > Cc: "Gustavo A. R. Silva" <gustavo...@kernel.org>
> > Cc: linux-doc@vger.kernel.org
> > Cc: linux-harden...@vger.kernel.org
> > Signed-off-by: Kees Cook <keesc...@chromium.org>
> > ---
> >  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

Reply via email to