Re: [PATCH] script: get_abi.pl: escape "<" and ">" characters

From: Mauro Carvalho Chehab
Date: Wed Mar 24 2021 - 14:18:18 EST


Em Wed, 24 Mar 2021 11:12:37 -0600
Jonathan Corbet <corbet@xxxxxxx> escreveu:

> Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> writes:
>
> > After merging the akpm-current tree, today's linux-next build (htmldocs)
> > produced this warning:
> >
> > Documentation/ABI/testing/sysfs-kernel-mm-cma:2: WARNING: Inline interpreted text or phrase reference start-string without end-string.
> >
> > Introduced by commit 439d477342a3 ("mm: cma: support sysfs")
> >
> > As pointed by Jonathan, the problem is this text in
> > sysfs-kernel-mm-cma:
> >
> > Each CMA heap subdirectory (that is, each
> > /sys/kernel/mm/cma/<cma-heap-name> directory) contains the
> > following items:
> >
> > Is not parsed well, becase the major/minor signs need to be
> > escaped, when converted into cross-references.
>
> Sorry, I kind of dropped the ball on this, and everything else really; a
> bit of a challenging time here.
>
> This makes the warning go away, but I have to wonder if it's the right
> fix

There's indeed an issue on another part of the script. I'm testing
a second version using a better and more generic regex set.

> - wouldn't it be better to avoid trying to create a cross-reference
> entirely in cases where it clearly won't work? Or am I missing
> something here?

The cross-reference logic on this script is somewhat smart: it
will only create cross-references if the symbol exists. If not,
it keeps the symbol as-is.

The problem was actually on another part of the logic: there is
a symbol "/sys/kernel/mm/cma". The script is currently thinking
that the "<" character at:
/sys/kernel/mm/cma/<cma-heap-name>

is a bondary. So, it ended converting the first part
("/sys/kernel/mm/cma/") into a cross reference.

This patch fixed it by dropping the reference for the non-existent
symbol "/sys/kernel/mm/cma/" (the reference should be, instead,
to /sys/kernel/mm/cma/<cma-heap-name>/foo), but there's still
a hidden bug, which causes that a reference for
/sys/kernel/mm/cma/<cma-heap-name>/alloc_pages_success to be
broken.

I have already a new patch. I'm checking right now if everything
is ok after the regex change. I should be sending a version 2
probably in a few.

Thanks,
Mauro