2023-12-15 00:14:06

by Kees Cook

[permalink] [raw]
Subject: [PATCH] docs: conf.py: Ignore __counted_by attribute

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 <[email protected]>
Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
Cc: Jonathan Corbet <[email protected]>
Cc: "Gustavo A. R. Silva" <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Kees Cook <[email protected]>
---
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",
--
2.34.1



2023-12-15 00:25:18

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] docs: conf.py: Ignore __counted_by attribute



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 <[email protected]>
> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
> Cc: Jonathan Corbet <[email protected]>
> Cc: "Gustavo A. R. Silva" <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Kees Cook <[email protected]>
> ---
> 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,
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;


--
#Randy
https://people.kernel.org/tglx/notes-about-netiquette
https://subspace.kernel.org/etiquette.html

2023-12-15 01:03:49

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] docs: conf.py: Ignore __counted_by attribute

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 <[email protected]>
> > Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
> > Cc: Jonathan Corbet <[email protected]>
> > Cc: "Gustavo A. R. Silva" <[email protected]>
> > Cc: [email protected]
> > Cc: [email protected]
> > Signed-off-by: Kees Cook <[email protected]>
> > ---
> > 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

2023-12-15 16:31:47

by Jonathan Corbet

[permalink] [raw]
Subject: Re: [PATCH] docs: conf.py: Ignore __counted_by attribute

Kees Cook <[email protected]> writes:

> 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 <[email protected]>
> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
> Cc: Jonathan Corbet <[email protected]>
> Cc: "Gustavo A. R. Silva" <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Kees Cook <[email protected]>
> ---
> 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",

Applied, thanks.

jon