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