[PATCH RESEND] scripts: headers_install: fix a false positive

Wen Yang posted 1 patch 3 months, 1 week ago
scripts/headers_install.sh | 1 +
1 file changed, 1 insertion(+)
[PATCH RESEND] scripts: headers_install: fix a false positive
Posted by Wen Yang 3 months, 1 week ago
The current implementation only handles C89 style comments (/*... */) in
the code, and there are false positives for C99 style comments (//...).

This patch fixes this issue.

Signed-off-by: Wen Yang <wen.yang@linux.dev>
---
 scripts/headers_install.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/headers_install.sh b/scripts/headers_install.sh
index 6bbccb43f7e7..41722bcc8668 100755
--- a/scripts/headers_install.sh
+++ b/scripts/headers_install.sh
@@ -44,6 +44,7 @@ scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ $TMPFILE > $OUTFILE
 # Remove /* ... */ style comments, and find CONFIG_ references in code
 configs=$(sed -e '
 :comment
+	s://.*::
 	s:/\*[^*][^*]*:/*:
 	s:/\*\*\**\([^/]\):/*\1:
 	t comment
-- 
2.25.1
Re: [PATCH RESEND] scripts: headers_install: fix a false positive
Posted by Masahiro Yamada 3 months, 1 week ago
On Mon, Jun 30, 2025 at 12:52 AM Wen Yang <wen.yang@linux.dev> wrote:
>
> The current implementation only handles C89 style comments (/*... */) in
> the code, and there are false positives for C99 style comments (//...).
>
> This patch fixes this issue.
>
> Signed-off-by: Wen Yang <wen.yang@linux.dev>
> ---
>  scripts/headers_install.sh | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/scripts/headers_install.sh b/scripts/headers_install.sh
> index 6bbccb43f7e7..41722bcc8668 100755
> --- a/scripts/headers_install.sh
> +++ b/scripts/headers_install.sh
> @@ -44,6 +44,7 @@ scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ $TMPFILE > $OUTFILE
>  # Remove /* ... */ style comments, and find CONFIG_ references in code
>  configs=$(sed -e '
>  :comment
> +       s://.*::


This is wrong.


For example, apply the following patch.
CONFIG_FOO is outside the comment line,
but it does not detect it.




diff --git a/include/uapi/linux/kernel.h b/include/uapi/linux/kernel.h
index fadf2db71fe8..b6d50805718e 100644
--- a/include/uapi/linux/kernel.h
+++ b/include/uapi/linux/kernel.h
@@ -5,4 +5,7 @@
 #include <linux/sysinfo.h>
 #include <linux/const.h>

+/*    //  */
+#define FOO CONFIG_FOO
+
 #endif /* _UAPI_LINUX_KERNEL_H */






>         s:/\*[^*][^*]*:/*:
>         s:/\*\*\**\([^/]\):/*\1:
>         t comment
> --
> 2.25.1
>


-- 
Best Regards
Masahiro Yamada