lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 30 Sep 2020 17:13:27 +0200
From:   Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
To:     Mike Rapoport <rppt@...nel.org>
Cc:     Linux Doc Mailing List <linux-doc@...r.kernel.org>,
        Jonathan Corbet <corbet@....net>,
        Andrew Morton <akpm@...ux-foundation.org>,
        linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH v4 19/52] memblock: get rid of a :c:type leftover

Em Wed, 30 Sep 2020 17:23:23 +0300
Mike Rapoport <rppt@...nel.org> escreveu:

> Hello Mauro,
> 
> On Wed, Sep 30, 2020 at 03:24:42PM +0200, Mauro Carvalho Chehab wrote:
> > chanseset b3a7bb1851c8 ("docs: get rid of :c:type explicit declarations for structs")
> > removed several :c:type: markups, except by one.
> > 
> > Now, Sphinx 3.x complains about it:
> > 
> > 	.../Documentation/core-api/boot-time-mm:26: ../mm/memblock.c:51: WARNING: Unparseable C cross-reference: 'struct\nmemblock_type'
> > 	Invalid C declaration: Expected identifier in nested name, got keyword: struct [error at 6]
> > 	  struct
> > 	memblock_type
> > 	  ------^  
> 
> Maybe this warning is caused by '\n' between struct and memblock_type?
> There are two more occurences of :c:type: around and they do not seem to
> cause warnings.

Yeah, maybe. Yet, according with:

	https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html#c-roles

c:type: should only be used together with ".. c:type", and this
doesn't work anymore for declaring structs, as the only valid
ways of using it after Sphinx 3.0 are:

	.. c:type:: typedef-like declaration
	.. c:type:: name

So, the old syntax generated by kernel doc:

	.. c:type:: struct foo

Doesn't work anymore. Kernel-doc now uses, instead:

	.. c:struct:: foo

(if version >= 3.0)

So, the right tag would be: :c:struct`foo`, if Sphinx > 3
or c:type:`foo` for older versions.

Better to rely on having the automarkup solving this for
us.

-

> 
> > As, on Sphinx 3.x, the right markup is c:struct:`foo`.
> > 
> > So, let's remove it, relying on automarkup.py to convert it.
> > 
> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
> > ---
> >  mm/memblock.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/mm/memblock.c b/mm/memblock.c
> > index 165f40a8a254..326c6b3fec1d 100644
> > --- a/mm/memblock.c
> > +++ b/mm/memblock.c
> > @@ -50,8 +50,8 @@
> >   *
> >   * Each region is represented by :c:type:`struct memblock_region` that  
> 
> Can you please also convert this one?
> 
> >   * defines the region extents, its attributes and NUMA node id on NUMA
> > - * systems. Every memory type is described by the :c:type:`struct
> > - * memblock_type` which contains an array of memory regions along with
> > + * systems. Every memory type is described by the struct memblock_type
> > + * which contains an array of memory regions along with
> >   * the allocator metadata. The "memory" and "reserved" types are nicely
> >   * wrapped with :c:type:`struct memblock`. This structure is statically  
> 
> And this?

Good point.

I'll change those too for the next version.


> 
> >   * initialized at build time. The region arrays are initially sized to
> > -- 
> > 2.26.2
> >   
> 



Thanks,
Mauro

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ