linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
@ 2024-03-01 12:31 Salvatore Bonaccorso
  2024-03-04 13:27 ` Greg Kroah-Hartman
  2024-03-04 13:39 ` Jonathan Corbet
  0 siblings, 2 replies; 8+ messages in thread
From: Salvatore Bonaccorso @ 2024-03-01 12:31 UTC (permalink / raw)
  To: regressions, stable
  Cc: Greg Kroah-Hartman, Ben Hutchings, Kees Cook, Jonathan Corbet,
	linux-doc, linux-kernel, Aditya Srivastava, 1064035

Hi,

Ben Hutchings reported in https://bugs.debian.org/1064035 a problem
with the kernel-doc builds once 3080ea5553cc ("stddef: Introduce
DECLARE_FLEX_ARRAY() helper") got applied in 5.10.210 (as
prerequisite of another fix in 5.10.y):

> The backport of commit 3080ea5553cc "stddef: Introduce
> DECLARE_FLEX_ARRAY() helper" modified scripts/kernel-doc and
> introduced a syntax error:
> 
> Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
> Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
> Execution of ./scripts/kernel-doc aborted due to compilation errors.
> 
> This doesn't stop the documentation build process, but causes the
> documentation that should be extracted by kernel-doc to be missing
> from linux-doc-5.10.
> 
> We should be able to fix this by eithering backport commit
> e86bdb24375a "scripts: kernel-doc: reduce repeated regex expressions
> into variables" or replacing /$args/ with /([^,)]+)/.
> 
> Ben.

What would be prefered here from stable maintainers point of view?
AFAICS e86bdb24375a ("scripts: kernel-doc: reduce repeated regex
expressions into variables") won't apply cleanly and needs some
refactoring. The alternative pointed out by Ben would be to replace
the /$args/ with  /([^,)]+)/.

# 5.10.y specific regression
#regzbot introduced: 443b16ee3d9ce0a3ece0e3526a5af883e5b16eaf
#regzbot link: https://bugs.debian.org/1064035

Regards,
Salvatore

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
  2024-03-01 12:31 [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236 Salvatore Bonaccorso
@ 2024-03-04 13:27 ` Greg Kroah-Hartman
  2024-03-04 13:39 ` Jonathan Corbet
  1 sibling, 0 replies; 8+ messages in thread
From: Greg Kroah-Hartman @ 2024-03-04 13:27 UTC (permalink / raw)
  To: Salvatore Bonaccorso
  Cc: regressions, stable, Ben Hutchings, Kees Cook, Jonathan Corbet,
	linux-doc, linux-kernel, Aditya Srivastava, 1064035

On Fri, Mar 01, 2024 at 01:31:10PM +0100, Salvatore Bonaccorso wrote:
> Hi,
> 
> Ben Hutchings reported in https://bugs.debian.org/1064035 a problem
> with the kernel-doc builds once 3080ea5553cc ("stddef: Introduce
> DECLARE_FLEX_ARRAY() helper") got applied in 5.10.210 (as
> prerequisite of another fix in 5.10.y):
> 
> > The backport of commit 3080ea5553cc "stddef: Introduce
> > DECLARE_FLEX_ARRAY() helper" modified scripts/kernel-doc and
> > introduced a syntax error:
> > 
> > Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
> > Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
> > Execution of ./scripts/kernel-doc aborted due to compilation errors.
> > 
> > This doesn't stop the documentation build process, but causes the
> > documentation that should be extracted by kernel-doc to be missing
> > from linux-doc-5.10.
> > 
> > We should be able to fix this by eithering backport commit
> > e86bdb24375a "scripts: kernel-doc: reduce repeated regex expressions
> > into variables" or replacing /$args/ with /([^,)]+)/.
> > 
> > Ben.
> 
> What would be prefered here from stable maintainers point of view?
> AFAICS e86bdb24375a ("scripts: kernel-doc: reduce repeated regex
> expressions into variables") won't apply cleanly and needs some
> refactoring. The alternative pointed out by Ben would be to replace
> the /$args/ with  /([^,)]+)/.

I'll take a patch that does either, your call :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
  2024-03-01 12:31 [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236 Salvatore Bonaccorso
  2024-03-04 13:27 ` Greg Kroah-Hartman
@ 2024-03-04 13:39 ` Jonathan Corbet
  2024-03-04 20:00   ` Salvatore Bonaccorso
  1 sibling, 1 reply; 8+ messages in thread
From: Jonathan Corbet @ 2024-03-04 13:39 UTC (permalink / raw)
  To: Salvatore Bonaccorso, regressions, stable
  Cc: Greg Kroah-Hartman, Ben Hutchings, Kees Cook, linux-doc,
	linux-kernel, Aditya Srivastava, 1064035

Salvatore Bonaccorso <carnil@debian.org> writes:

> Hi,
>
> Ben Hutchings reported in https://bugs.debian.org/1064035 a problem
> with the kernel-doc builds once 3080ea5553cc ("stddef: Introduce
> DECLARE_FLEX_ARRAY() helper") got applied in 5.10.210 (as
> prerequisite of another fix in 5.10.y):
>
>> The backport of commit 3080ea5553cc "stddef: Introduce
>> DECLARE_FLEX_ARRAY() helper" modified scripts/kernel-doc and
>> introduced a syntax error:
>> 
>> Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
>> Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
>> Execution of ./scripts/kernel-doc aborted due to compilation errors.
>> 
>> This doesn't stop the documentation build process, but causes the
>> documentation that should be extracted by kernel-doc to be missing
>> from linux-doc-5.10.
>> 
>> We should be able to fix this by eithering backport commit
>> e86bdb24375a "scripts: kernel-doc: reduce repeated regex expressions
>> into variables" or replacing /$args/ with /([^,)]+)/.
>> 
>> Ben.
>
> What would be prefered here from stable maintainers point of view?
> AFAICS e86bdb24375a ("scripts: kernel-doc: reduce repeated regex
> expressions into variables") won't apply cleanly and needs some
> refactoring. The alternative pointed out by Ben would be to replace
> the /$args/ with  /([^,)]+)/.

Hmm...this is the first I see of any of this...

The latter fix seems like the more straightforward of the two.  The only
concern might be if there are other kernel-doc backports that might run
afoul of the same problem, hopefully not.

But this makes me wonder if there are other stable kernels that are
affected as well.  I guess that, despite all of the testing being done
on stable updates, nobody is testing the docs build?

Thanks,

jon

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
  2024-03-04 13:39 ` Jonathan Corbet
@ 2024-03-04 20:00   ` Salvatore Bonaccorso
  2024-03-04 20:05     ` Jonathan Corbet
  0 siblings, 1 reply; 8+ messages in thread
From: Salvatore Bonaccorso @ 2024-03-04 20:00 UTC (permalink / raw)
  To: Jonathan Corbet
  Cc: regressions, stable, Greg Kroah-Hartman, Ben Hutchings, Kees Cook,
	linux-doc, linux-kernel, Aditya Srivastava, 1064035

Hi Jonathan,

On Mon, Mar 04, 2024 at 06:39:26AM -0700, Jonathan Corbet wrote:
> Salvatore Bonaccorso <carnil@debian.org> writes:
> 
> > Hi,
> >
> > Ben Hutchings reported in https://bugs.debian.org/1064035 a problem
> > with the kernel-doc builds once 3080ea5553cc ("stddef: Introduce
> > DECLARE_FLEX_ARRAY() helper") got applied in 5.10.210 (as
> > prerequisite of another fix in 5.10.y):
> >
> >> The backport of commit 3080ea5553cc "stddef: Introduce
> >> DECLARE_FLEX_ARRAY() helper" modified scripts/kernel-doc and
> >> introduced a syntax error:
> >> 
> >> Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
> >> Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
> >> Execution of ./scripts/kernel-doc aborted due to compilation errors.
> >> 
> >> This doesn't stop the documentation build process, but causes the
> >> documentation that should be extracted by kernel-doc to be missing
> >> from linux-doc-5.10.
> >> 
> >> We should be able to fix this by eithering backport commit
> >> e86bdb24375a "scripts: kernel-doc: reduce repeated regex expressions
> >> into variables" or replacing /$args/ with /([^,)]+)/.
> >> 
> >> Ben.
> >
> > What would be prefered here from stable maintainers point of view?
> > AFAICS e86bdb24375a ("scripts: kernel-doc: reduce repeated regex
> > expressions into variables") won't apply cleanly and needs some
> > refactoring. The alternative pointed out by Ben would be to replace
> > the /$args/ with  /([^,)]+)/.
> 
> Hmm...this is the first I see of any of this...
> 
> The latter fix seems like the more straightforward of the two.  The only
> concern might be if there are other kernel-doc backports that might run
> afoul of the same problem, hopefully not.

Ok. In the sprit of the stable series rules we might try the later and
if it's not feasible pick the first variant?

> But this makes me wonder if there are other stable kernels that are
> affected as well.  I guess that, despite all of the testing being done
> on stable updates, nobody is testing the docs build?

Only 5.10.y is affected AFAICT, and the reaso nis that the cherry-pick
of ("stddef: Introduce DECLARE_FLEX_ARRAY() helper") in 5.10.y (as
requisite of the smb fixes) requires as well e86bdb24375a ("scripts:
kernel-doc: reduce repeated regex expressions into variables").

3080ea5553cc ("stddef: Introduce DECLARE_FLEX_ARRAY() helper") is in 
5.10.210, 5.15.54 and 5.16-rc1.

e86bdb24375a ("scripts: kernel-doc: reduce repeated regex expressions
into variables") is in 5.14-rc1.

So it's covered for the later series, but causes problems in the
5.10.y.

Regards,
Salvatore

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
  2024-03-04 20:00   ` Salvatore Bonaccorso
@ 2024-03-04 20:05     ` Jonathan Corbet
  2024-03-04 21:41       ` Salvatore Bonaccorso
  0 siblings, 1 reply; 8+ messages in thread
From: Jonathan Corbet @ 2024-03-04 20:05 UTC (permalink / raw)
  To: Salvatore Bonaccorso
  Cc: regressions, stable, Greg Kroah-Hartman, Ben Hutchings, Kees Cook,
	linux-doc, linux-kernel, Aditya Srivastava, 1064035

Salvatore Bonaccorso <carnil@debian.org> writes:

> Ok. In the sprit of the stable series rules we might try the later and
> if it's not feasible pick the first variant?

Well, "the spirit of the stable series" is one of Greg's titles, and he
said either was good...:)

jon

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
  2024-03-04 20:05     ` Jonathan Corbet
@ 2024-03-04 21:41       ` Salvatore Bonaccorso
  2024-03-05  7:46         ` Greg Kroah-Hartman
  0 siblings, 1 reply; 8+ messages in thread
From: Salvatore Bonaccorso @ 2024-03-04 21:41 UTC (permalink / raw)
  To: Jonathan Corbet
  Cc: regressions, stable, Greg Kroah-Hartman, Ben Hutchings, Kees Cook,
	linux-doc, linux-kernel, Aditya Srivastava, 1064035

[-- Attachment #1: Type: text/plain, Size: 626 bytes --]

Hi,

On Mon, Mar 04, 2024 at 01:05:09PM -0700, Jonathan Corbet wrote:
> Salvatore Bonaccorso <carnil@debian.org> writes:
> 
> > Ok. In the sprit of the stable series rules we might try the later and
> > if it's not feasible pick the first variant?
> 
> Well, "the spirit of the stable series" is one of Greg's titles, and he
> said either was good...:)

here we go. Please let me know if you need anything changed in the
commit message to describe the situation better.

Greg, in the Fixes tag I added the 5.10.y commit as the issue is
specific to the 5.10.y series. Is this the correct form to note this?

Regards,
Salvatore

[-- Attachment #2: 0001-scripts-kernel-doc-Fix-syntax-error-due-to-undeclare.patch --]
[-- Type: text/x-diff, Size: 2095 bytes --]

From ccddb9f4915f0dbf28fb72b6ff4c04977978ed3d Mon Sep 17 00:00:00 2001
From: Salvatore Bonaccorso <carnil@debian.org>
Date: Mon, 4 Mar 2024 22:24:12 +0100
Subject: [PATCH] scripts: kernel-doc: Fix syntax error due to undeclared args
 variable

The backport of commit 3080ea5553cc ("stddef: Introduce
DECLARE_FLEX_ARRAY() helper") to 5.10.y (as a prerequisite of another
fix) modified scripts/kernel-doc and introduced a syntax error:

Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
Execution of ./scripts/kernel-doc aborted due to compilation errors.

Note: The issue could be fixed in the 5.10.y series as well by
backporting e86bdb24375a ("scripts: kernel-doc: reduce repeated regex
expressions into variables") but just replacing the undeclared args back
to ([^,)]+) was the most straightforward approach. The issue is specific
to the backport to the 5.10.y series. Thus there is as well no upstream
commit for this change.

Fixes: 443b16ee3d9c ("stddef: Introduce DECLARE_FLEX_ARRAY() helper") # 5.10.y
Reported-by: Ben Hutchings <ben@decadent.org.uk>
Link: https://lore.kernel.org/regressions/ZeHKjjPGoyv_b2Tg@eldamar.lan/T/#u
Link: https://bugs.debian.org/1064035
Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
---
 scripts/kernel-doc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 7a04d4c05326..8e3257f1ea2c 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1233,7 +1233,7 @@ sub dump_struct($$) {
 	# replace DECLARE_KFIFO_PTR
 	$members =~ s/DECLARE_KFIFO_PTR\s*\(([^,)]+),\s*([^,)]+)\)/$2 \*$1/gos;
 	# replace DECLARE_FLEX_ARRAY
-	$members =~ s/(?:__)?DECLARE_FLEX_ARRAY\s*\($args,\s*$args\)/$1 $2\[\]/gos;
+	$members =~ s/(?:__)?DECLARE_FLEX_ARRAY\s*\(([^,)]+),\s*([^,)]+)\)/$1 $2\[\]/gos;
 	my $declaration = $members;
 
 	# Split nested struct/union elements as newer ones
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
  2024-03-04 21:41       ` Salvatore Bonaccorso
@ 2024-03-05  7:46         ` Greg Kroah-Hartman
  2024-03-27 13:44           ` Greg Kroah-Hartman
  0 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2024-03-05  7:46 UTC (permalink / raw)
  To: Salvatore Bonaccorso
  Cc: Jonathan Corbet, regressions, stable, Ben Hutchings, Kees Cook,
	linux-doc, linux-kernel, Aditya Srivastava, 1064035

On Mon, Mar 04, 2024 at 10:41:50PM +0100, Salvatore Bonaccorso wrote:
> Hi,
> 
> On Mon, Mar 04, 2024 at 01:05:09PM -0700, Jonathan Corbet wrote:
> > Salvatore Bonaccorso <carnil@debian.org> writes:
> > 
> > > Ok. In the sprit of the stable series rules we might try the later and
> > > if it's not feasible pick the first variant?
> > 
> > Well, "the spirit of the stable series" is one of Greg's titles, and he
> > said either was good...:)
> 
> here we go. Please let me know if you need anything changed in the
> commit message to describe the situation better.
> 
> Greg, in the Fixes tag I added the 5.10.y commit as the issue is
> specific to the 5.10.y series. Is this the correct form to note this?

Looks good, I'll queue this up after the next round of releases goes
out, thanks for the patch!

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236.
  2024-03-05  7:46         ` Greg Kroah-Hartman
@ 2024-03-27 13:44           ` Greg Kroah-Hartman
  0 siblings, 0 replies; 8+ messages in thread
From: Greg Kroah-Hartman @ 2024-03-27 13:44 UTC (permalink / raw)
  To: Salvatore Bonaccorso
  Cc: Jonathan Corbet, regressions, stable, Ben Hutchings, Kees Cook,
	linux-doc, linux-kernel, Aditya Srivastava, 1064035

On Tue, Mar 05, 2024 at 07:46:59AM +0000, Greg Kroah-Hartman wrote:
> On Mon, Mar 04, 2024 at 10:41:50PM +0100, Salvatore Bonaccorso wrote:
> > Hi,
> > 
> > On Mon, Mar 04, 2024 at 01:05:09PM -0700, Jonathan Corbet wrote:
> > > Salvatore Bonaccorso <carnil@debian.org> writes:
> > > 
> > > > Ok. In the sprit of the stable series rules we might try the later and
> > > > if it's not feasible pick the first variant?
> > > 
> > > Well, "the spirit of the stable series" is one of Greg's titles, and he
> > > said either was good...:)
> > 
> > here we go. Please let me know if you need anything changed in the
> > commit message to describe the situation better.
> > 
> > Greg, in the Fixes tag I added the 5.10.y commit as the issue is
> > specific to the 5.10.y series. Is this the correct form to note this?
> 
> Looks good, I'll queue this up after the next round of releases goes
> out, thanks for the patch!

Now finally queued up, sorry for the delay.

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-03-27 13:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-01 12:31 [regression 5.10.y] linux-doc builds: Global symbol "$args" requires explicit package name (did you forget to declare "my $args"?) at ./scripts/kernel-doc line 1236 Salvatore Bonaccorso
2024-03-04 13:27 ` Greg Kroah-Hartman
2024-03-04 13:39 ` Jonathan Corbet
2024-03-04 20:00   ` Salvatore Bonaccorso
2024-03-04 20:05     ` Jonathan Corbet
2024-03-04 21:41       ` Salvatore Bonaccorso
2024-03-05  7:46         ` Greg Kroah-Hartman
2024-03-27 13:44           ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).