Re: [PATCH 02/27] x86/syscalls: fix -Wmissing-prototypes warnings from COND_SYSCALL()

2021-02-12 Thread Masahiro Yamada
On Sat, Feb 13, 2021 at 12:12 AM Mickaël Salaün  wrote:
>
> Could you please push this patch to Linus? Thanks.
>
> On 04/02/2021 15:16, Mickaël Salaün wrote:
> >
> > On 28/01/2021 01:50, Masahiro Yamada wrote:
> >> Building kernel/sys_ni.c with W=1 omits tons of -Wmissing-prototypes
> >> warnings.
> >>
> >> $ make W=1 kernel/sys_ni.o
> >>   [ snip ]
> >>   CC  kernel/sys_ni.o
> >> In file included from kernel/sys_ni.c:10:
> >> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
> >> prototype for '__x64_sys_io_setup' [-Wmissing-prototypes]
> >>83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
> >>   |  ^~
> >> ./arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of 
> >> macro '__COND_SYSCALL'
> >>   100 |  __COND_SYSCALL(x64, sys_##name)
> >>   |  ^~
> >> ./arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of 
> >> macro '__X64_COND_SYSCALL'
> >>   256 |  __X64_COND_SYSCALL(name) \
> >>   |  ^~
> >> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
> >>39 | COND_SYSCALL(io_setup);
> >>   | ^~~~
> >> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
> >> prototype for '__ia32_sys_io_setup' [-Wmissing-prototypes]
> >>83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
> >>   |  ^~
> >> ./arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of 
> >> macro '__COND_SYSCALL'
> >>   120 |  __COND_SYSCALL(ia32, sys_##name)
> >>   |  ^~
> >> ./arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of 
> >> macro '__IA32_COND_SYSCALL'
> >>   257 |  __IA32_COND_SYSCALL(name)
> >>   |  ^~~
> >> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
> >>39 | COND_SYSCALL(io_setup);
> >>   | ^~~~
> >>   ...
> >>
> >> __SYS_STUB0() and __SYS_STUBx() defined a few lines above have forward
> >> declarations. Let's do likewise for __COND_SYSCALL() to fix the
> >> warnings.
> >>
> >> Signed-off-by: Masahiro Yamada 
> >
> > Tested-by: Mickaël Salaün 
> >
> > Thanks to this patch we avoid multiple emails from Intel's bot when
> > adding new syscalls. :)


Thanks for the reminder.
I will fix the typo "omits" -> "emits"
and send v2 just in case.



> >
> >
> >> ---
> >>
> >>  arch/x86/include/asm/syscall_wrapper.h | 1 +
> >>  1 file changed, 1 insertion(+)
> >>
> >> diff --git a/arch/x86/include/asm/syscall_wrapper.h 
> >> b/arch/x86/include/asm/syscall_wrapper.h
> >> index a84333adeef2..80c08c7d5e72 100644
> >> --- a/arch/x86/include/asm/syscall_wrapper.h
> >> +++ b/arch/x86/include/asm/syscall_wrapper.h
> >> @@ -80,6 +80,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs 
> >> *regs);
> >>  }
> >>
> >>  #define __COND_SYSCALL(abi, name)   \
> >> +__weak long __##abi##_##name(const struct pt_regs *__unused);   \
> >>  __weak long __##abi##_##name(const struct pt_regs *__unused)\
> >>  {   \
> >>  return sys_ni_syscall();\
> >>



-- 
Best Regards
Masahiro Yamada


Re: [PATCH 02/27] x86/syscalls: fix -Wmissing-prototypes warnings from COND_SYSCALL()

2021-02-12 Thread Mickaël Salaün
Could you please push this patch to Linus? Thanks.

On 04/02/2021 15:16, Mickaël Salaün wrote:
> 
> On 28/01/2021 01:50, Masahiro Yamada wrote:
>> Building kernel/sys_ni.c with W=1 omits tons of -Wmissing-prototypes
>> warnings.
>>
>> $ make W=1 kernel/sys_ni.o
>>   [ snip ]
>>   CC  kernel/sys_ni.o
>> In file included from kernel/sys_ni.c:10:
>> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
>> prototype for '__x64_sys_io_setup' [-Wmissing-prototypes]
>>83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
>>   |  ^~
>> ./arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro 
>> '__COND_SYSCALL'
>>   100 |  __COND_SYSCALL(x64, sys_##name)
>>   |  ^~
>> ./arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro 
>> '__X64_COND_SYSCALL'
>>   256 |  __X64_COND_SYSCALL(name) \
>>   |  ^~
>> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
>>39 | COND_SYSCALL(io_setup);
>>   | ^~~~
>> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
>> prototype for '__ia32_sys_io_setup' [-Wmissing-prototypes]
>>83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
>>   |  ^~
>> ./arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro 
>> '__COND_SYSCALL'
>>   120 |  __COND_SYSCALL(ia32, sys_##name)
>>   |  ^~
>> ./arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro 
>> '__IA32_COND_SYSCALL'
>>   257 |  __IA32_COND_SYSCALL(name)
>>   |  ^~~
>> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
>>39 | COND_SYSCALL(io_setup);
>>   | ^~~~
>>   ...
>>
>> __SYS_STUB0() and __SYS_STUBx() defined a few lines above have forward
>> declarations. Let's do likewise for __COND_SYSCALL() to fix the
>> warnings.
>>
>> Signed-off-by: Masahiro Yamada 
> 
> Tested-by: Mickaël Salaün 
> 
> Thanks to this patch we avoid multiple emails from Intel's bot when
> adding new syscalls. :)
> 
> 
>> ---
>>
>>  arch/x86/include/asm/syscall_wrapper.h | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/x86/include/asm/syscall_wrapper.h 
>> b/arch/x86/include/asm/syscall_wrapper.h
>> index a84333adeef2..80c08c7d5e72 100644
>> --- a/arch/x86/include/asm/syscall_wrapper.h
>> +++ b/arch/x86/include/asm/syscall_wrapper.h
>> @@ -80,6 +80,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs 
>> *regs);
>>  }
>>  
>>  #define __COND_SYSCALL(abi, name)   \
>> +__weak long __##abi##_##name(const struct pt_regs *__unused);   \
>>  __weak long __##abi##_##name(const struct pt_regs *__unused)\
>>  {   \
>>  return sys_ni_syscall();\
>>


Re: [PATCH 02/27] x86/syscalls: fix -Wmissing-prototypes warnings from COND_SYSCALL()

2021-02-04 Thread Mickaël Salaün


On 28/01/2021 01:50, Masahiro Yamada wrote:
> Building kernel/sys_ni.c with W=1 omits tons of -Wmissing-prototypes
> warnings.
> 
> $ make W=1 kernel/sys_ni.o
>   [ snip ]
>   CC  kernel/sys_ni.o
> In file included from kernel/sys_ni.c:10:
> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
> prototype for '__x64_sys_io_setup' [-Wmissing-prototypes]
>83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
>   |  ^~
> ./arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro 
> '__COND_SYSCALL'
>   100 |  __COND_SYSCALL(x64, sys_##name)
>   |  ^~
> ./arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro 
> '__X64_COND_SYSCALL'
>   256 |  __X64_COND_SYSCALL(name) \
>   |  ^~
> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
>39 | COND_SYSCALL(io_setup);
>   | ^~~~
> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
> prototype for '__ia32_sys_io_setup' [-Wmissing-prototypes]
>83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
>   |  ^~
> ./arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro 
> '__COND_SYSCALL'
>   120 |  __COND_SYSCALL(ia32, sys_##name)
>   |  ^~
> ./arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro 
> '__IA32_COND_SYSCALL'
>   257 |  __IA32_COND_SYSCALL(name)
>   |  ^~~
> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
>39 | COND_SYSCALL(io_setup);
>   | ^~~~
>   ...
> 
> __SYS_STUB0() and __SYS_STUBx() defined a few lines above have forward
> declarations. Let's do likewise for __COND_SYSCALL() to fix the
> warnings.
> 
> Signed-off-by: Masahiro Yamada 

Tested-by: Mickaël Salaün 

Thanks to this patch we avoid multiple emails from Intel's bot when
adding new syscalls. :)


> ---
> 
>  arch/x86/include/asm/syscall_wrapper.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/x86/include/asm/syscall_wrapper.h 
> b/arch/x86/include/asm/syscall_wrapper.h
> index a84333adeef2..80c08c7d5e72 100644
> --- a/arch/x86/include/asm/syscall_wrapper.h
> +++ b/arch/x86/include/asm/syscall_wrapper.h
> @@ -80,6 +80,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs 
> *regs);
>   }
>  
>  #define __COND_SYSCALL(abi, name)\
> + __weak long __##abi##_##name(const struct pt_regs *__unused);   \
>   __weak long __##abi##_##name(const struct pt_regs *__unused)\
>   {   \
>   return sys_ni_syscall();\
> 


Re: [PATCH 02/27] x86/syscalls: fix -Wmissing-prototypes warnings from COND_SYSCALL()

2021-01-28 Thread Sergei Shtylyov

Hello!

On 28.01.2021 3:50, Masahiro Yamada wrote:


Building kernel/sys_ni.c with W=1 omits tons of -Wmissing-prototypes


   Emits?


warnings.

$ make W=1 kernel/sys_ni.o
   [ snip ]
   CC  kernel/sys_ni.o
In file included from kernel/sys_ni.c:10:
./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype 
for '__x64_sys_io_setup' [-Wmissing-prototypes]
83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
   |  ^~
./arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro 
'__COND_SYSCALL'
   100 |  __COND_SYSCALL(x64, sys_##name)
   |  ^~
./arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro 
'__X64_COND_SYSCALL'
   256 |  __X64_COND_SYSCALL(name) \
   |  ^~
kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
39 | COND_SYSCALL(io_setup);
   | ^~~~
./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype 
for '__ia32_sys_io_setup' [-Wmissing-prototypes]
83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
   |  ^~
./arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro 
'__COND_SYSCALL'
   120 |  __COND_SYSCALL(ia32, sys_##name)
   |  ^~
./arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro 
'__IA32_COND_SYSCALL'
   257 |  __IA32_COND_SYSCALL(name)
   |  ^~~
kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
39 | COND_SYSCALL(io_setup);
   | ^~~~
   ...

__SYS_STUB0() and __SYS_STUBx() defined a few lines above have forward
declarations. Let's do likewise for __COND_SYSCALL() to fix the
warnings.

Signed-off-by: Masahiro Yamada 
---

  arch/x86/include/asm/syscall_wrapper.h | 1 +
  1 file changed, 1 insertion(+)

diff --git a/arch/x86/include/asm/syscall_wrapper.h 
b/arch/x86/include/asm/syscall_wrapper.h
index a84333adeef2..80c08c7d5e72 100644
--- a/arch/x86/include/asm/syscall_wrapper.h
+++ b/arch/x86/include/asm/syscall_wrapper.h
@@ -80,6 +80,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
}
  
  #define __COND_SYSCALL(abi, name)	\

+   __weak long __##abi##_##name(const struct pt_regs *__unused);   \
__weak long __##abi##_##name(const struct pt_regs *__unused)\


   Aren't these two lines identical?

[...]

MBR, Sergei


Re: [PATCH 02/27] x86/syscalls: fix -Wmissing-prototypes warnings from COND_SYSCALL()

2021-01-28 Thread Sergei Shtylyov

On 28.01.2021 10:59, Sergei Shtylyov wrote:

[...]

Building kernel/sys_ni.c with W=1 omits tons of -Wmissing-prototypes


    Emits?


warnings.

$ make W=1 kernel/sys_ni.o
   [ snip ]
   CC  kernel/sys_ni.o
In file included from kernel/sys_ni.c:10:
./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
prototype for '__x64_sys_io_setup' [-Wmissing-prototypes]

    83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
   |  ^~
./arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro 
'__COND_SYSCALL'

   100 |  __COND_SYSCALL(x64, sys_##name)
   |  ^~
./arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro 
'__X64_COND_SYSCALL'

   256 |  __X64_COND_SYSCALL(name) \
   |  ^~
kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
    39 | COND_SYSCALL(io_setup);
   | ^~~~
./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
prototype for '__ia32_sys_io_setup' [-Wmissing-prototypes]

    83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
   |  ^~
./arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro 
'__COND_SYSCALL'

   120 |  __COND_SYSCALL(ia32, sys_##name)
   |  ^~
./arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro 
'__IA32_COND_SYSCALL'

   257 |  __IA32_COND_SYSCALL(name)
   |  ^~~
kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
    39 | COND_SYSCALL(io_setup);
   | ^~~~
   ...

__SYS_STUB0() and __SYS_STUBx() defined a few lines above have forward
declarations. Let's do likewise for __COND_SYSCALL() to fix the
warnings.

Signed-off-by: Masahiro Yamada 
---

  arch/x86/include/asm/syscall_wrapper.h | 1 +
  1 file changed, 1 insertion(+)

diff --git a/arch/x86/include/asm/syscall_wrapper.h 
b/arch/x86/include/asm/syscall_wrapper.h

index a84333adeef2..80c08c7d5e72 100644
--- a/arch/x86/include/asm/syscall_wrapper.h
+++ b/arch/x86/include/asm/syscall_wrapper.h
@@ -80,6 +80,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs 
*regs);

  }
  #define __COND_SYSCALL(abi, name)    \
+    __weak long __##abi##_##name(const struct pt_regs *__unused);    \
  __weak long __##abi##_##name(const struct pt_regs *__unused)    \


    Aren't these two lines identical?


Ah, got it! :-)

[...]

MBR, Sergei


Re: [PATCH 02/27] x86/syscalls: fix -Wmissing-prototypes warnings from COND_SYSCALL()

2021-01-27 Thread Masahiro Yamada
On Thu, Jan 28, 2021 at 9:52 AM Masahiro Yamada  wrote:
>
> Building kernel/sys_ni.c with W=1 omits tons of -Wmissing-prototypes


This is a typo.  "omits" -> "emits"



> warnings.
>
> $ make W=1 kernel/sys_ni.o
>   [ snip ]
>   CC  kernel/sys_ni.o
> In file included from kernel/sys_ni.c:10:
> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
> prototype for '__x64_sys_io_setup' [-Wmissing-prototypes]
>83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
>   |  ^~
> ./arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro 
> '__COND_SYSCALL'
>   100 |  __COND_SYSCALL(x64, sys_##name)
>   |  ^~
> ./arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro 
> '__X64_COND_SYSCALL'
>   256 |  __X64_COND_SYSCALL(name) \
>   |  ^~
> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
>39 | COND_SYSCALL(io_setup);
>   | ^~~~
> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous 
> prototype for '__ia32_sys_io_setup' [-Wmissing-prototypes]
>83 |  __weak long __##abi##_##name(const struct pt_regs *__unused) \
>   |  ^~
> ./arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro 
> '__COND_SYSCALL'
>   120 |  __COND_SYSCALL(ia32, sys_##name)
>   |  ^~
> ./arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro 
> '__IA32_COND_SYSCALL'
>   257 |  __IA32_COND_SYSCALL(name)
>   |  ^~~
> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL'
>39 | COND_SYSCALL(io_setup);
>   | ^~~~
>   ...
>
> __SYS_STUB0() and __SYS_STUBx() defined a few lines above have forward
> declarations. Let's do likewise for __COND_SYSCALL() to fix the
> warnings.
>
> Signed-off-by: Masahiro Yamada 
> ---
>
>  arch/x86/include/asm/syscall_wrapper.h | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/x86/include/asm/syscall_wrapper.h 
> b/arch/x86/include/asm/syscall_wrapper.h
> index a84333adeef2..80c08c7d5e72 100644
> --- a/arch/x86/include/asm/syscall_wrapper.h
> +++ b/arch/x86/include/asm/syscall_wrapper.h
> @@ -80,6 +80,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs 
> *regs);
> }
>
>  #define __COND_SYSCALL(abi, name)  \
> +   __weak long __##abi##_##name(const struct pt_regs *__unused);   \
> __weak long __##abi##_##name(const struct pt_regs *__unused)\
> {   \
> return sys_ni_syscall();\
> --
> 2.27.0
>


-- 
Best Regards
Masahiro Yamada