2024-03-01 12:31:25

by Salvatore Bonaccorso

[permalink] [raw]
Subject: [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.

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


2024-03-04 13:28:54

by Greg Kroah-Hartman

[permalink] [raw]
Subject: 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.

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

2024-03-04 13:40:01

by Jonathan Corbet

[permalink] [raw]
Subject: 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.

Salvatore Bonaccorso <[email protected]> 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

2024-03-04 20:00:59

by Salvatore Bonaccorso

[permalink] [raw]
Subject: 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.

Hi Jonathan,

On Mon, Mar 04, 2024 at 06:39:26AM -0700, Jonathan Corbet wrote:
> Salvatore Bonaccorso <[email protected]> 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

2024-03-04 20:05:27

by Jonathan Corbet

[permalink] [raw]
Subject: 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.

Salvatore Bonaccorso <[email protected]> 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

2024-03-04 21:42:30

by Salvatore Bonaccorso

[permalink] [raw]
Subject: 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.

Hi,

On Mon, Mar 04, 2024 at 01:05:09PM -0700, Jonathan Corbet wrote:
> Salvatore Bonaccorso <[email protected]> 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


Attachments:
(No filename) (645.00 B)
0001-scripts-kernel-doc-Fix-syntax-error-due-to-undeclare.patch (2.09 kB)
Download all attachments

2024-03-05 07:47:12

by Greg Kroah-Hartman

[permalink] [raw]
Subject: 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.

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 <[email protected]> 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

2024-03-27 14:52:10

by Greg Kroah-Hartman

[permalink] [raw]
Subject: 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.

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 <[email protected]> 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