[PATCH] scripts: headers_install: fix a false positive

Wen Yang posted 1 patch 8 months, 4 weeks ago
There is a newer version of this series
scripts/headers_install.sh | 1 +
1 file changed, 1 insertion(+)
[PATCH] scripts: headers_install: fix a false positive
Posted by Wen Yang 8 months, 4 weeks 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] scripts: headers_install: fix a false positive
Posted by Nicolas Schier 8 months, 4 weeks ago
On Wed, May 14, 2025 at 12:00:56AM +0800, Wen Yang 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://.*::
>  	s:/\*[^*][^*]*:/*:
>  	s:/\*\*\**\([^/]\):/*\1:
>  	t comment
> -- 
> 2.25.1

thanks.  The patch looks good to me, but I cannot find any false
positives.  Have you found any concrete?

Kind regards,
Nicolas
Re: [PATCH] scripts: headers_install: fix a false positive
Posted by Wen Yang 8 months, 3 weeks ago

On 5/15/25 19:32, Nicolas Schier wrote:
> On Wed, May 14, 2025 at 12:00:56AM +0800, Wen Yang 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://.*::
>>   	s:/\*[^*][^*]*:/*:
>>   	s:/\*\*\**\([^/]\):/*\1:
>>   	t comment
>> -- 
>> 2.25.1
> 
> thanks.  The patch looks good to me, but I cannot find any false
> positives.  Have you found any concrete?
> 

Thanks. We have enhanced dmabuf on our SoC platform and modified the 
include/uapi/linux/dma-buf.h file, and then found this issue.

--
Best wishes,
Wen
Re: [PATCH] scripts: headers_install: fix a false positive
Posted by Masahiro Yamada 7 months, 1 week ago
On Sat, May 17, 2025 at 12:45 AM Wen Yang <wen.yang@linux.dev> wrote:
>
>
>
> On 5/15/25 19:32, Nicolas Schier wrote:
> > On Wed, May 14, 2025 at 12:00:56AM +0800, Wen Yang 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://.*::
> >>      s:/\*[^*][^*]*:/*:
> >>      s:/\*\*\**\([^/]\):/*\1:
> >>      t comment
> >> --
> >> 2.25.1
> >
> > thanks.  The patch looks good to me, but I cannot find any false
> > positives.  Have you found any concrete?
> >
>
> Thanks. We have enhanced dmabuf on our SoC platform and modified the
> include/uapi/linux/dma-buf.h file, and then found this issue.

The SPDX License Identifier in UAPI headers use
/* ... */, and never C++ style comments.

In my understanding, the idea behind this is
UAPI headers follow more strict C.


-- 
Best Regards
Masahiro Yamada