Bug#1064035: [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 +, 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 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
Bug#1064035: [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 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
Bug#1064035: [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 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 >From ccddb9f4915f0dbf28fb72b6ff4c04977978ed3d Mon Sep 17 00:00:00 2001 From: Salvatore Bonaccorso 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 Link: https://lore.kernel.org/regressions/zehkjjpgoyv_b...@eldamar.lan/T/#u Link: https://bugs.debian.org/1064035 Signed-off-by: Salvatore Bonaccorso --- 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
Bug#1064035: [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 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
Bug#1064035: [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 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
Bug#1064035: [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 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
Bug#1064035: [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
Bug#1064035: [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