lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sat, 24 Sep 2022 16:13:57 +0900
From:   Akira Yokosawa <akiyks@...il.com>
To:     Kees Cook <keescook@...omium.org>
Cc:     Mauro Carvalho Chehab <mchehab@...nel.org>,
        linux-kernel@...r.kernel.org, linux-hardening@...r.kernel.org,
        linux-doc@...r.kernel.org, Jonathan Corbet <corbet@....net>,
        Akira Yokosawa <akiyks@...il.com>
Subject: Re: [PATCH] string: Rewrite and add more kern-doc for the str*()
 functions

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@...omium.org>
> ---
> Follow up to https://lore.kernel.org/lkml/20220902223507.2537469-1-keescook@chromium.org
> Note that this is on top of my recent fortify-string.h series:
> https://lore.kernel.org/lkml/20220920192202.190793-1-keescook@chromium.org/
[...]
> 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@...il.com>

        Thanks, Akira

Powered by blists - more mailing lists