| 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: scripts: kernel-doc: Fix syntax error due to undeclared args variable |
| |
| From: Salvatore Bonaccorso <carnil@debian.org> |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| scripts/kernel-doc | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- 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 |