Hi Kees, Thank you for sharing your devel branch. On Wed, 21 Sep 2022 23:28:17 -0700, Kees Cook wrote: > While there were varying degrees of kern-doc for various str*()-family > functions, many needed updating and clarification, or to just be > entirely written. Update (and relocate) existing kern-doc and add missing > functions, sadly shaking my head at how many times I have written "Do > not use this function". Include the results in the core kernel API doc. > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > --- > Follow up to https://lore.kernel.org/lkml/20220902223507.2537469-1-keescook@xxxxxxxxxxxx > Note that this is on top of my recent fortify-string.h series: > https://lore.kernel.org/lkml/20220920192202.190793-1-keescook@xxxxxxxxxxxx/ [...] > diff --git a/scripts/kernel-doc b/scripts/kernel-doc > index 8bb89deb9a91..adbc4d307770 100755 > --- a/scripts/kernel-doc > +++ b/scripts/kernel-doc > @@ -1448,6 +1448,8 @@ sub create_parameterlist($$$$) { > foreach my $arg (split($splitter, $args)) { > # strip comments > $arg =~ s/\/\*.*\*\///; > + # ignore argument attributes > + $arg =~ s/\sPOS0?\s/ /; > # strip leading/trailing spaces > $arg =~ s/^\s*//; > $arg =~ s/\s*$//; > @@ -1657,6 +1659,7 @@ sub dump_function($$) { > $prototype =~ s/^__inline +//; > $prototype =~ s/^__always_inline +//; > $prototype =~ s/^noinline +//; > + $prototype =~ s/^__FORTIFY_INLINE +//; > $prototype =~ s/__init +//; > $prototype =~ s/__init_or_module +//; > $prototype =~ s/__deprecated +//; > @@ -1667,6 +1670,7 @@ sub dump_function($$) { > $prototype =~ s/__sched +//; > $prototype =~ s/__printf\s*\(\s*\d*\s*,\s*\d*\s*\) +//; > $prototype =~ s/__(?:re)?alloc_size\s*\(\s*\d+\s*(?:,\s*\d+\s*)?\) +//; > + $prototype =~ s/__diagnose_as\s*\(\s*\S+\s*(?:,\s*\d+\s*)*\) +//; > my $define = $prototype =~ s/^#\s*define\s+//; #ak added > $prototype =~ s/__attribute_const__ +//; > $prototype =~ s/__attribute__\s*\(\( This hunk in the corresponding commit 87cb97a66ae9 of your devel branch looks a little different: @@ -1666,7 +1669,8 @@ sub dump_function($$) { $prototype =~ s/__weak +//; $prototype =~ s/__sched +//; $prototype =~ s/__printf\s*\(\s*\d*\s*,\s*\d*\s*\) +//; - $prototype =~ s/__alloc_size\s*\(\s*\d+\s*(?:,\s*\d+\s*)?\) +//; + $prototype =~ s/__(?:re)?alloc_size\s*\(\s*\d+\s*(?:,\s*\d+\s*)?\) +//; + $prototype =~ s/__diagnose_as\s*\(\s*\S+\s*(?:,\s*\d+\s*)*\) +//; my $define = $prototype =~ s/^#\s*define\s+//; #ak added $prototype =~ s/__attribute_const__ +//; $prototype =~ s/__attribute__\s*\(\( This was what prevented me from applying the patch. Anyway, "make htmldocs" works just fine now. FWIW, Tested-by: Akira Yokosawa <akiyks@xxxxxxxxx> Thanks, Akira