[PATCH] arm64: vdso: fix "no previous prototype" warning

Vincenzo Frascino vincenzo.frascino at arm.com
Fri Jan 21 04:12:26 PST 2022


Hi Marc,

On 1/9/22 11:35 AM, Marc Kleine-Budde wrote:
> If compiling the arm64 kernel with W=1 the following warning is produced:
> 
> | arch/arm64/kernel/vdso/vgettimeofday.c:9:5: error: no previous prototype for ‘__kernel_clock_gettime’ [-Werror=missing-prototypes]
> |     9 | int __kernel_clock_gettime(clockid_t clock,
> |       |     ^~~~~~~~~~~~~~~~~~~~~~
> | arch/arm64/kernel/vdso/vgettimeofday.c:15:5: error: no previous prototype for ‘__kernel_gettimeofday’ [-Werror=missing-prototypes]
> |    15 | int __kernel_gettimeofday(struct __kernel_old_timeval *tv,
> |       |     ^~~~~~~~~~~~~~~~~~~~~
> | arch/arm64/kernel/vdso/vgettimeofday.c:21:5: error: no previous prototype for ‘__kernel_clock_getres’ [-Werror=missing-prototypes]
> |    21 | int __kernel_clock_getres(clockid_t clock_id,
> |       |     ^~~~~~~~~~~~~~~~~~~~~
> 
> This patch adds the missing prototype to fix the warning and make
> compilation with "CONFIG_WERROR=y" possible.
> 

Instead of adding the prototypes, how about we silence the warning for the
specific file? Since adding them does not seem to add any value in this context.

If you agree, could please test the patch I sent in reply to this one and let me
know if it works for your usecase? Thanks.

> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will at kernel.org>
> Cc: Vincenzo Frascino <vincenzo.frascino at arm.com>
> Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
> ---
>  arch/arm64/kernel/vdso/vgettimeofday.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/arch/arm64/kernel/vdso/vgettimeofday.c b/arch/arm64/kernel/vdso/vgettimeofday.c
> index 4236cf34d7d9..cc37674b9d35 100644
> --- a/arch/arm64/kernel/vdso/vgettimeofday.c
> +++ b/arch/arm64/kernel/vdso/vgettimeofday.c
> @@ -6,18 +6,27 @@
>   *
>   */
>  
> +int __kernel_clock_gettime(clockid_t clock,
> +			   struct __kernel_timespec *ts);
> +
>  int __kernel_clock_gettime(clockid_t clock,
>  			   struct __kernel_timespec *ts)
>  {
>  	return __cvdso_clock_gettime(clock, ts);
>  }
>  
> +int __kernel_gettimeofday(struct __kernel_old_timeval *tv,
> +			  struct timezone *tz);
> +
>  int __kernel_gettimeofday(struct __kernel_old_timeval *tv,
>  			  struct timezone *tz)
>  {
>  	return __cvdso_gettimeofday(tv, tz);
>  }
>  
> +int __kernel_clock_getres(clockid_t clock_id,
> +			  struct __kernel_timespec *res);
> +
>  int __kernel_clock_getres(clockid_t clock_id,
>  			  struct __kernel_timespec *res)
>  {
> 

-- 
Regards,
Vincenzo



More information about the linux-arm-kernel mailing list