The __vdso_clock_* functions have no prototype, and the __eabi_unwind_cpp_pr* functions have a prototype in a header that is not included before the definition: arch/arm/vdso/vgettimeofday.c:10:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes] arch/arm/vdso/vgettimeofday.c:16:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes] arch/arm/vdso/vgettimeofday.c:22:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes] arch/arm/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes] arch/arm/vdso/vgettimeofday.c:36:6: error: no previous prototype for '__aeabi_unwind_cpp_pr0' [-Werror=missing-prototypes] arch/arm/vdso/vgettimeofday.c:40:6: error: no previous prototype for '__aeabi_unwind_cpp_pr1' [-Werror=missing-prototypes] arch/arm/vdso/vgettimeofday.c:44:6: error: no previous prototype for '__aeabi_unwind_cpp_pr2' [-Werror=missing-prototypes] Add the prototypes in an appropriate header and ensure that both are included here. Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
36 lines
805 B
C
36 lines
805 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __ASM_VDSO_H
|
|
#define __ASM_VDSO_H
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
struct mm_struct;
|
|
|
|
#ifdef CONFIG_VDSO
|
|
|
|
void arm_install_vdso(struct mm_struct *mm, unsigned long addr);
|
|
|
|
extern unsigned int vdso_total_pages;
|
|
|
|
#else /* CONFIG_VDSO */
|
|
|
|
static inline void arm_install_vdso(struct mm_struct *mm, unsigned long addr)
|
|
{
|
|
}
|
|
|
|
#define vdso_total_pages 0
|
|
|
|
#endif /* CONFIG_VDSO */
|
|
|
|
int __vdso_clock_gettime(clockid_t clock, struct old_timespec32 *ts);
|
|
int __vdso_clock_gettime64(clockid_t clock, struct __kernel_timespec *ts);
|
|
int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz);
|
|
int __vdso_clock_getres(clockid_t clock_id, struct old_timespec32 *res);
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
#endif /* __KERNEL__ */
|
|
|
|
#endif /* __ASM_VDSO_H */
|