tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tmp.tmp2 head: adcceb5eb7aee38e4a9c15bdf599655f0e1b1324 commit: ab8b6c16e1f4f3a3fa41752685ce49a89c616ca8 [313/364] sched/headers, compat: Simplify dependencies even more config: powerpc-allyesconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=ab8b6c16e1f4f3a3fa41752685ce49a89c616ca8 git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git git fetch --no-tags tip tmp.tmp2 git checkout ab8b6c16e1f4f3a3fa41752685ce49a89c616ca8 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): from arch/powerpc/include/asm/mmu.h:402, from arch/powerpc/include/asm/lppaca.h:46, from arch/powerpc/include/asm/paca.h:17, from arch/powerpc/include/asm/current.h:13, from include/linux/sched.h:18, from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/book3s/64/hash.h:248:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'hash__vmemmap_create_mapping' 248 | extern int __meminit hash__vmemmap_create_mapping(unsigned long start, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/book3s/64/pgtable.h:297, from arch/powerpc/include/asm/book3s/64/mmu-hash.h:20, from arch/powerpc/include/asm/book3s/64/mmu.h:31, from arch/powerpc/include/asm/mmu.h:402, from arch/powerpc/include/asm/lppaca.h:46, from arch/powerpc/include/asm/paca.h:17, from arch/powerpc/include/asm/current.h:13, from include/linux/sched.h:18, from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/book3s/64/radix.h:289:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'radix__vmemmap_create_mapping' 289 | extern int __meminit radix__vmemmap_create_mapping(unsigned long start, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/book3s/64/mmu-hash.h:20, from arch/powerpc/include/asm/book3s/64/mmu.h:31, from arch/powerpc/include/asm/mmu.h:402, from arch/powerpc/include/asm/lppaca.h:46, from arch/powerpc/include/asm/paca.h:17, from arch/powerpc/include/asm/current.h:13, from include/linux/sched.h:18, from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/book3s/64/pgtable.h:1075:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vmemmap_create_mapping' 1075 | static inline int __meminit vmemmap_create_mapping(unsigned long start, | ^~~~~~~~~~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/mmu.h:402, from arch/powerpc/include/asm/lppaca.h:46, from arch/powerpc/include/asm/paca.h:17, from arch/powerpc/include/asm/current.h:13, from include/linux/sched.h:18, from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/book3s/64/mmu.h:210:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'early_init_mmu' 210 | static inline void __init early_init_mmu(void) | ^~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: include/linux/sched.h:459:26: error: field 'irqtrace' has incomplete type 459 | struct irqtrace_events irqtrace; | ^~~~~~~~ include/linux/sched.h:475:20: error: array type has incomplete element type 'struct held_lock' 475 | struct held_lock held_locks[MAX_LOCK_DEPTH]; | ^~~~~~~~~~ In file included from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/compat.h:42:2: error: unknown type name 'old_time32_t' 42 | old_time32_t st_atime; | ^~~~~~~~~~~~ arch/powerpc/include/asm/compat.h:44:2: error: unknown type name 'old_time32_t' 44 | old_time32_t st_mtime; | ^~~~~~~~~~~~ arch/powerpc/include/asm/compat.h:46:2: error: unknown type name 'old_time32_t' 46 | old_time32_t st_ctime; | ^~~~~~~~~~~~ arch/powerpc/include/asm/compat.h: In function 'arch_compat_alloc_user_space': arch/powerpc/include/asm/compat.h:99:25: error: implicit declaration of function 'task_thread' [-Werror=implicit-function-declaration] 99 | struct pt_regs *regs = task_thread(current).regs; | ^~~~~~~~~~~ arch/powerpc/include/asm/compat.h:99:45: error: request for member 'regs' in something not a structure or union 99 | struct pt_regs *regs = task_thread(current).regs; | ^ arch/powerpc/include/asm/compat.h:100:26: error: dereferencing pointer to incomplete type 'struct pt_regs' 100 | unsigned long usp = regs->gpr[1]; | ^~ arch/powerpc/include/asm/compat.h:107:7: error: implicit declaration of function 'is_32bit_task' [-Werror=implicit-function-declaration] 107 | if (!is_32bit_task()) | ^~~~~~~~~~~~~ arch/powerpc/include/asm/compat.h:108:10: error: 'USER_REDZONE_SIZE' undeclared (first use in this function); did you mean 'USER_REGION_ID'? 108 | usp -= USER_REDZONE_SIZE; | ^~~~~~~~~~~~~~~~~ | USER_REGION_ID arch/powerpc/include/asm/compat.h:108:10: note: each undeclared identifier is reported only once for each function it appears in In file included from arch/powerpc/kernel/asm-offsets.c:14: include/linux/compat.h: At top level: include/linux/compat.h:263:23: error: field 'ru_utime' has incomplete type 263 | struct old_timeval32 ru_utime; | ^~~~~~~~ include/linux/compat.h:264:23: error: field 'ru_stime' has incomplete type 264 | struct old_timeval32 ru_stime; | ^~~~~~~~ include/linux/compat.h: In function 'put_compat_sigset': include/linux/compat.h:441:9: error: implicit declaration of function 'copy_to_user' [-Werror=implicit-function-declaration] 441 | return copy_to_user(compat, &v, size) ? -EFAULT : 0; | ^~~~~~~~~~~~ include/linux/compat.h: At top level: >> include/linux/compat.h:560:13: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 560 | struct old_timespec32 __user *timeout, | ^~~~~~~~~~~~~~ include/linux/compat.h:559:13: warning: 'struct io_event' declared inside parameter list will not be visible outside of this definition or declaration 559 | struct io_event __user *events, | ^~~~~~~~ >> include/linux/compat.h:566:13: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 566 | struct __kernel_timespec __user *timeout, | ^~~~~~~~~~~~~~~~~ include/linux/compat.h:565:13: warning: 'struct io_event' declared inside parameter list will not be visible outside of this definition or declaration 565 | struct io_event __user *events, | ^~~~~~~~ include/linux/compat.h:581:17: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 581 | const struct __kernel_timespec __user *timeout, | ^~~~~~~~~~~~~~~~~ >> include/linux/compat.h:620:16: warning: 'struct iovec' declared inside parameter list will not be visible outside of this definition or declaration 620 | const struct iovec __user *vec, | ^~~~~ include/linux/compat.h:623:16: warning: 'struct iovec' declared inside parameter list will not be visible outside of this definition or declaration 623 | const struct iovec __user *vec, | ^~~~~ include/linux/compat.h:647:16: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 647 | struct old_timespec32 __user *tsp, | ^~~~~~~~~~~~~~ include/linux/compat.h:652:16: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 652 | struct __kernel_timespec __user *tsp, | ^~~~~~~~~~~~~~~~~ include/linux/compat.h:656:13: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 656 | struct old_timespec32 __user *tsp, | ^~~~~~~~~~~~~~ >> include/linux/compat.h:654:48: warning: 'struct pollfd' declared inside parameter list will not be visible outside of this definition or declaration 654 | asmlinkage long compat_sys_ppoll_time32(struct pollfd __user *ufds, | ^~~~~~ include/linux/compat.h:661:13: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 661 | struct __kernel_timespec __user *tsp, | ^~~~~~~~~~~~~~~~~ include/linux/compat.h:659:48: warning: 'struct pollfd' declared inside parameter list will not be visible outside of this definition or declaration 659 | asmlinkage long compat_sys_ppoll_time64(struct pollfd __user *ufds, | ^~~~~~ include/linux/compat.h:743:10: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 743 | struct old_timespec32 __user *uts, compat_size_t sigsetsize); | ^~~~~~~~~~~~~~ include/linux/compat.h:746:10: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 746 | struct __kernel_timespec __user *uts, compat_size_t sigsetsize); | ^~~~~~~~~~~~~~~~~ >> include/linux/compat.h:761:10: warning: 'struct timezone' declared inside parameter list will not be visible outside of this definition or declaration 761 | struct timezone __user *tz); | ^~~~~~~~ include/linux/compat.h:763:10: warning: 'struct timezone' declared inside parameter list will not be visible outside of this definition or declaration 763 | struct timezone __user *tz); | ^~~~~~~~ include/linux/compat.h:839:16: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 839 | struct __kernel_timespec __user *timeout); | ^~~~~~~~~~~~~~~~~ include/linux/compat.h:842:16: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 842 | struct old_timespec32 __user *timeout); | ^~~~~~~~~~~~~~ include/linux/compat.h:849:18: warning: 'struct file_handle' declared inside parameter list will not be visible outside of this definition or declaration 849 | struct file_handle __user *handle, | ^~~~~~~~~~~ include/linux/compat.h:858:51: error: unknown type name 'rwf_t' 858 | compat_ulong_t vlen, u32 pos_low, u32 pos_high, rwf_t flags); | ^~~~~ include/linux/compat.h:861:51: error: unknown type name 'rwf_t' 861 | compat_ulong_t vlen, u32 pos_low, u32 pos_high, rwf_t flags); | ^~~~~ include/linux/compat.h:951:36: error: return type is an incomplete type 951 | static inline struct old_timeval32 ns_to_old_timeval32(s64 nsec) | ^~~~~~~~~~~~~~~~~~~ include/linux/compat.h: In function 'ns_to_old_timeval32': include/linux/compat.h:953:30: error: storage size of 'tv' isn't known 953 | struct __kernel_old_timeval tv; | ^~ include/linux/compat.h:954:23: error: storage size of 'ctv' isn't known 954 | struct old_timeval32 ctv; | ^~~ include/linux/compat.h:956:7: error: implicit declaration of function 'ns_to_kernel_old_timeval' [-Werror=implicit-function-declaration] 956 | tv = ns_to_kernel_old_timeval(nsec); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compat.h:960:9: error: 'return' with a value, in function returning void [-Werror=return-type] 960 | return ctv; | ^~~ include/linux/compat.h:951:36: note: declared here 951 | static inline struct old_timeval32 ns_to_old_timeval32(s64 nsec) | ^~~~~~~~~~~~~~~~~~~ include/linux/compat.h:954:23: warning: unused variable 'ctv' [-Wunused-variable] 954 | struct old_timeval32 ctv; | ^~~ include/linux/compat.h:953:30: warning: unused variable 'tv' [-Wunused-variable] 953 | struct __kernel_old_timeval tv; | ^~ In file included from include/linux/thread_info.h:52, from include/asm-generic/preempt.h:5, from ./arch/powerpc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:80, from include/linux/spinlock.h:53, from include/linux/mmzone.h:8, from include/linux/gfp.h:8, from include/linux/mm.h:12, from include/linux/mman.h:5, from arch/powerpc/kernel/asm-offsets.c:21: arch/powerpc/include/asm/thread_info.h: In function 'clear_thread_local_flags': arch/powerpc/include/asm/thread_info.h:156:27: error: implicit declaration of function 'current_thread_info' [-Werror=implicit-function-declaration] 156 | struct thread_info *ti = current_thread_info(); | ^~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/thread_info.h:156:27: warning: initialization of 'struct thread_info *' from 'int' makes pointer from integer without a cast [-Wint-conversion] arch/powerpc/include/asm/thread_info.h: In function 'test_thread_local_flags': arch/powerpc/include/asm/thread_info.h:162:27: warning: initialization of 'struct thread_info *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 162 | struct thread_info *ti = current_thread_info(); | ^~~~~~~~~~~~~~~~~~~ In file included from : include/asm-generic/preempt.h: In function 'preempt_count': include/asm-generic/preempt.h:11:40: error: invalid type argument of '->' (have 'int') 11 | return READ_ONCE(current_thread_info()->preempt_count); | ^~ include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert' 308 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert' 328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type' 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/preempt.h:11:9: note: in expansion of macro 'READ_ONCE' 11 | return READ_ONCE(current_thread_info()->preempt_count); | ^~~~~~~~~ include/asm-generic/preempt.h:11:40: error: invalid type argument of '->' (have 'int') 11 | return READ_ONCE(current_thread_info()->preempt_count); | ^~ include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert' 308 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert' 328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word' -- from arch/powerpc/include/asm/mmu.h:402, from arch/powerpc/include/asm/lppaca.h:46, from arch/powerpc/include/asm/paca.h:17, from arch/powerpc/include/asm/current.h:13, from include/linux/sched.h:18, from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/book3s/64/hash.h:248:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'hash__vmemmap_create_mapping' 248 | extern int __meminit hash__vmemmap_create_mapping(unsigned long start, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/book3s/64/pgtable.h:297, from arch/powerpc/include/asm/book3s/64/mmu-hash.h:20, from arch/powerpc/include/asm/book3s/64/mmu.h:31, from arch/powerpc/include/asm/mmu.h:402, from arch/powerpc/include/asm/lppaca.h:46, from arch/powerpc/include/asm/paca.h:17, from arch/powerpc/include/asm/current.h:13, from include/linux/sched.h:18, from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/book3s/64/radix.h:289:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'radix__vmemmap_create_mapping' 289 | extern int __meminit radix__vmemmap_create_mapping(unsigned long start, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/book3s/64/mmu-hash.h:20, from arch/powerpc/include/asm/book3s/64/mmu.h:31, from arch/powerpc/include/asm/mmu.h:402, from arch/powerpc/include/asm/lppaca.h:46, from arch/powerpc/include/asm/paca.h:17, from arch/powerpc/include/asm/current.h:13, from include/linux/sched.h:18, from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/book3s/64/pgtable.h:1075:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vmemmap_create_mapping' 1075 | static inline int __meminit vmemmap_create_mapping(unsigned long start, | ^~~~~~~~~~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/mmu.h:402, from arch/powerpc/include/asm/lppaca.h:46, from arch/powerpc/include/asm/paca.h:17, from arch/powerpc/include/asm/current.h:13, from include/linux/sched.h:18, from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/book3s/64/mmu.h:210:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'early_init_mmu' 210 | static inline void __init early_init_mmu(void) | ^~~~~~~~~~~~~~ In file included from arch/powerpc/include/asm/compat.h:9, from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: include/linux/sched.h:459:26: error: field 'irqtrace' has incomplete type 459 | struct irqtrace_events irqtrace; | ^~~~~~~~ include/linux/sched.h:475:20: error: array type has incomplete element type 'struct held_lock' 475 | struct held_lock held_locks[MAX_LOCK_DEPTH]; | ^~~~~~~~~~ In file included from include/linux/compat.h:9, from arch/powerpc/kernel/asm-offsets.c:14: arch/powerpc/include/asm/compat.h:42:2: error: unknown type name 'old_time32_t' 42 | old_time32_t st_atime; | ^~~~~~~~~~~~ arch/powerpc/include/asm/compat.h:44:2: error: unknown type name 'old_time32_t' 44 | old_time32_t st_mtime; | ^~~~~~~~~~~~ arch/powerpc/include/asm/compat.h:46:2: error: unknown type name 'old_time32_t' 46 | old_time32_t st_ctime; | ^~~~~~~~~~~~ arch/powerpc/include/asm/compat.h: In function 'arch_compat_alloc_user_space': arch/powerpc/include/asm/compat.h:99:25: error: implicit declaration of function 'task_thread' [-Werror=implicit-function-declaration] 99 | struct pt_regs *regs = task_thread(current).regs; | ^~~~~~~~~~~ arch/powerpc/include/asm/compat.h:99:45: error: request for member 'regs' in something not a structure or union 99 | struct pt_regs *regs = task_thread(current).regs; | ^ arch/powerpc/include/asm/compat.h:100:26: error: dereferencing pointer to incomplete type 'struct pt_regs' 100 | unsigned long usp = regs->gpr[1]; | ^~ arch/powerpc/include/asm/compat.h:107:7: error: implicit declaration of function 'is_32bit_task' [-Werror=implicit-function-declaration] 107 | if (!is_32bit_task()) | ^~~~~~~~~~~~~ arch/powerpc/include/asm/compat.h:108:10: error: 'USER_REDZONE_SIZE' undeclared (first use in this function); did you mean 'USER_REGION_ID'? 108 | usp -= USER_REDZONE_SIZE; | ^~~~~~~~~~~~~~~~~ | USER_REGION_ID arch/powerpc/include/asm/compat.h:108:10: note: each undeclared identifier is reported only once for each function it appears in In file included from arch/powerpc/kernel/asm-offsets.c:14: include/linux/compat.h: At top level: include/linux/compat.h:263:23: error: field 'ru_utime' has incomplete type 263 | struct old_timeval32 ru_utime; | ^~~~~~~~ include/linux/compat.h:264:23: error: field 'ru_stime' has incomplete type 264 | struct old_timeval32 ru_stime; | ^~~~~~~~ include/linux/compat.h: In function 'put_compat_sigset': include/linux/compat.h:441:9: error: implicit declaration of function 'copy_to_user' [-Werror=implicit-function-declaration] 441 | return copy_to_user(compat, &v, size) ? -EFAULT : 0; | ^~~~~~~~~~~~ include/linux/compat.h: At top level: >> include/linux/compat.h:560:13: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 560 | struct old_timespec32 __user *timeout, | ^~~~~~~~~~~~~~ include/linux/compat.h:559:13: warning: 'struct io_event' declared inside parameter list will not be visible outside of this definition or declaration 559 | struct io_event __user *events, | ^~~~~~~~ >> include/linux/compat.h:566:13: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 566 | struct __kernel_timespec __user *timeout, | ^~~~~~~~~~~~~~~~~ include/linux/compat.h:565:13: warning: 'struct io_event' declared inside parameter list will not be visible outside of this definition or declaration 565 | struct io_event __user *events, | ^~~~~~~~ include/linux/compat.h:581:17: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 581 | const struct __kernel_timespec __user *timeout, | ^~~~~~~~~~~~~~~~~ >> include/linux/compat.h:620:16: warning: 'struct iovec' declared inside parameter list will not be visible outside of this definition or declaration 620 | const struct iovec __user *vec, | ^~~~~ include/linux/compat.h:623:16: warning: 'struct iovec' declared inside parameter list will not be visible outside of this definition or declaration 623 | const struct iovec __user *vec, | ^~~~~ include/linux/compat.h:647:16: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 647 | struct old_timespec32 __user *tsp, | ^~~~~~~~~~~~~~ include/linux/compat.h:652:16: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 652 | struct __kernel_timespec __user *tsp, | ^~~~~~~~~~~~~~~~~ include/linux/compat.h:656:13: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 656 | struct old_timespec32 __user *tsp, | ^~~~~~~~~~~~~~ >> include/linux/compat.h:654:48: warning: 'struct pollfd' declared inside parameter list will not be visible outside of this definition or declaration 654 | asmlinkage long compat_sys_ppoll_time32(struct pollfd __user *ufds, | ^~~~~~ include/linux/compat.h:661:13: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 661 | struct __kernel_timespec __user *tsp, | ^~~~~~~~~~~~~~~~~ include/linux/compat.h:659:48: warning: 'struct pollfd' declared inside parameter list will not be visible outside of this definition or declaration 659 | asmlinkage long compat_sys_ppoll_time64(struct pollfd __user *ufds, | ^~~~~~ include/linux/compat.h:743:10: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 743 | struct old_timespec32 __user *uts, compat_size_t sigsetsize); | ^~~~~~~~~~~~~~ include/linux/compat.h:746:10: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 746 | struct __kernel_timespec __user *uts, compat_size_t sigsetsize); | ^~~~~~~~~~~~~~~~~ >> include/linux/compat.h:761:10: warning: 'struct timezone' declared inside parameter list will not be visible outside of this definition or declaration 761 | struct timezone __user *tz); | ^~~~~~~~ include/linux/compat.h:763:10: warning: 'struct timezone' declared inside parameter list will not be visible outside of this definition or declaration 763 | struct timezone __user *tz); | ^~~~~~~~ include/linux/compat.h:839:16: warning: 'struct __kernel_timespec' declared inside parameter list will not be visible outside of this definition or declaration 839 | struct __kernel_timespec __user *timeout); | ^~~~~~~~~~~~~~~~~ include/linux/compat.h:842:16: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration 842 | struct old_timespec32 __user *timeout); | ^~~~~~~~~~~~~~ include/linux/compat.h:849:18: warning: 'struct file_handle' declared inside parameter list will not be visible outside of this definition or declaration 849 | struct file_handle __user *handle, | ^~~~~~~~~~~ include/linux/compat.h:858:51: error: unknown type name 'rwf_t' 858 | compat_ulong_t vlen, u32 pos_low, u32 pos_high, rwf_t flags); | ^~~~~ include/linux/compat.h:861:51: error: unknown type name 'rwf_t' 861 | compat_ulong_t vlen, u32 pos_low, u32 pos_high, rwf_t flags); | ^~~~~ include/linux/compat.h:951:36: error: return type is an incomplete type 951 | static inline struct old_timeval32 ns_to_old_timeval32(s64 nsec) | ^~~~~~~~~~~~~~~~~~~ include/linux/compat.h: In function 'ns_to_old_timeval32': include/linux/compat.h:953:30: error: storage size of 'tv' isn't known 953 | struct __kernel_old_timeval tv; | ^~ include/linux/compat.h:954:23: error: storage size of 'ctv' isn't known 954 | struct old_timeval32 ctv; | ^~~ include/linux/compat.h:956:7: error: implicit declaration of function 'ns_to_kernel_old_timeval' [-Werror=implicit-function-declaration] 956 | tv = ns_to_kernel_old_timeval(nsec); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compat.h:960:9: error: 'return' with a value, in function returning void [-Werror=return-type] 960 | return ctv; | ^~~ include/linux/compat.h:951:36: note: declared here 951 | static inline struct old_timeval32 ns_to_old_timeval32(s64 nsec) | ^~~~~~~~~~~~~~~~~~~ include/linux/compat.h:954:23: warning: unused variable 'ctv' [-Wunused-variable] 954 | struct old_timeval32 ctv; | ^~~ include/linux/compat.h:953:30: warning: unused variable 'tv' [-Wunused-variable] 953 | struct __kernel_old_timeval tv; | ^~ In file included from include/linux/thread_info.h:52, from include/asm-generic/preempt.h:5, from ./arch/powerpc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:80, from include/linux/spinlock.h:53, from include/linux/mmzone.h:8, from include/linux/gfp.h:8, from include/linux/mm.h:12, from include/linux/mman.h:5, from arch/powerpc/kernel/asm-offsets.c:21: arch/powerpc/include/asm/thread_info.h: In function 'clear_thread_local_flags': arch/powerpc/include/asm/thread_info.h:156:27: error: implicit declaration of function 'current_thread_info' [-Werror=implicit-function-declaration] 156 | struct thread_info *ti = current_thread_info(); | ^~~~~~~~~~~~~~~~~~~ arch/powerpc/include/asm/thread_info.h:156:27: warning: initialization of 'struct thread_info *' from 'int' makes pointer from integer without a cast [-Wint-conversion] arch/powerpc/include/asm/thread_info.h: In function 'test_thread_local_flags': arch/powerpc/include/asm/thread_info.h:162:27: warning: initialization of 'struct thread_info *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 162 | struct thread_info *ti = current_thread_info(); | ^~~~~~~~~~~~~~~~~~~ In file included from : include/asm-generic/preempt.h: In function 'preempt_count': include/asm-generic/preempt.h:11:40: error: invalid type argument of '->' (have 'int') 11 | return READ_ONCE(current_thread_info()->preempt_count); | ^~ include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert' 308 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert' 328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type' 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/preempt.h:11:9: note: in expansion of macro 'READ_ONCE' 11 | return READ_ONCE(current_thread_info()->preempt_count); | ^~~~~~~~~ include/asm-generic/preempt.h:11:40: error: invalid type argument of '->' (have 'int') 11 | return READ_ONCE(current_thread_info()->preempt_count); | ^~ include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert' 308 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert' 328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert' 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word' .. vim +560 include/linux/compat.h c679a08983db7c Dominik Brodowski 2018-03-25 538 f6dfb4fd7dd944 Davide Libenzi 2007-03-07 539 /* c679a08983db7c Dominik Brodowski 2018-03-25 540 * These syscall function prototypes are kept in the same order as 3e2052e5dd4062 Dominik Brodowski 2018-03-22 541 * include/uapi/asm-generic/unistd.h. Deprecated or obsolete system calls 3e2052e5dd4062 Dominik Brodowski 2018-03-22 542 * go below. c679a08983db7c Dominik Brodowski 2018-03-25 543 * c679a08983db7c Dominik Brodowski 2018-03-25 544 * Please note that these prototypes here are only provided for information c679a08983db7c Dominik Brodowski 2018-03-25 545 * purposes, for static analysis, and for linking from the syscall table. c679a08983db7c Dominik Brodowski 2018-03-25 546 * These functions should not be called elsewhere from kernel code. 7303e30ec1d8fb Dominik Brodowski 2018-04-05 547 * 7303e30ec1d8fb Dominik Brodowski 2018-04-05 548 * As the syscall calling convention may be different from the default 7303e30ec1d8fb Dominik Brodowski 2018-04-05 549 * for architectures overriding the syscall calling convention, do not 7303e30ec1d8fb Dominik Brodowski 2018-04-05 550 * include the prototypes if CONFIG_ARCH_HAS_SYSCALL_WRAPPER is enabled. f6dfb4fd7dd944 Davide Libenzi 2007-03-07 551 */ 7303e30ec1d8fb Dominik Brodowski 2018-04-05 552 #ifndef CONFIG_ARCH_HAS_SYSCALL_WRAPPER c679a08983db7c Dominik Brodowski 2018-03-25 553 asmlinkage long compat_sys_io_setup(unsigned nr_reqs, u32 __user *ctx32p); c679a08983db7c Dominik Brodowski 2018-03-25 554 asmlinkage long compat_sys_io_submit(compat_aio_context_t ctx_id, int nr, c679a08983db7c Dominik Brodowski 2018-03-25 555 u32 __user *iocb); 7a074e96dee625 Christoph Hellwig 2018-05-02 556 asmlinkage long compat_sys_io_pgetevents(compat_aio_context_t ctx_id, 7a074e96dee625 Christoph Hellwig 2018-05-02 557 compat_long_t min_nr, 7a074e96dee625 Christoph Hellwig 2018-05-02 558 compat_long_t nr, 7a074e96dee625 Christoph Hellwig 2018-05-02 559 struct io_event __user *events, 9afc5eee65ca7d Arnd Bergmann 2018-07-13 @560 struct old_timespec32 __user *timeout, 7a074e96dee625 Christoph Hellwig 2018-05-02 561 const struct __compat_aio_sigset __user *usig); 7a35397f8c06bf Deepa Dinamani 2018-09-19 562 asmlinkage long compat_sys_io_pgetevents_time64(compat_aio_context_t ctx_id, 7a35397f8c06bf Deepa Dinamani 2018-09-19 563 compat_long_t min_nr, 7a35397f8c06bf Deepa Dinamani 2018-09-19 564 compat_long_t nr, 7a35397f8c06bf Deepa Dinamani 2018-09-19 565 struct io_event __user *events, 7a35397f8c06bf Deepa Dinamani 2018-09-19 @566 struct __kernel_timespec __user *timeout, 7a35397f8c06bf Deepa Dinamani 2018-09-19 567 const struct __compat_aio_sigset __user *usig); c679a08983db7c Dominik Brodowski 2018-03-25 568 c679a08983db7c Dominik Brodowski 2018-03-25 569 /* fs/cookies.c */ c679a08983db7c Dominik Brodowski 2018-03-25 570 asmlinkage long compat_sys_lookup_dcookie(u32, u32, char __user *, compat_size_t); c679a08983db7c Dominik Brodowski 2018-03-25 571 c679a08983db7c Dominik Brodowski 2018-03-25 572 /* fs/eventpoll.c */ f6dfb4fd7dd944 Davide Libenzi 2007-03-07 573 asmlinkage long compat_sys_epoll_pwait(int epfd, 35280bd4a3fa84 Al Viro 2013-02-24 574 struct epoll_event __user *events, f6dfb4fd7dd944 Davide Libenzi 2007-03-07 575 int maxevents, int timeout, f6dfb4fd7dd944 Davide Libenzi 2007-03-07 576 const compat_sigset_t __user *sigmask, f6dfb4fd7dd944 Davide Libenzi 2007-03-07 577 compat_size_t sigsetsize); b0a0c2615f6f19 Willem de Bruijn 2020-12-18 578 asmlinkage long compat_sys_epoll_pwait2(int epfd, b0a0c2615f6f19 Willem de Bruijn 2020-12-18 579 struct epoll_event __user *events, b0a0c2615f6f19 Willem de Bruijn 2020-12-18 580 int maxevents, b0a0c2615f6f19 Willem de Bruijn 2020-12-18 581 const struct __kernel_timespec __user *timeout, b0a0c2615f6f19 Willem de Bruijn 2020-12-18 582 const compat_sigset_t __user *sigmask, b0a0c2615f6f19 Willem de Bruijn 2020-12-18 583 compat_size_t sigsetsize); f6dfb4fd7dd944 Davide Libenzi 2007-03-07 584 c679a08983db7c Dominik Brodowski 2018-03-25 585 /* fs/fcntl.c */ c679a08983db7c Dominik Brodowski 2018-03-25 586 asmlinkage long compat_sys_fcntl(unsigned int fd, unsigned int cmd, c679a08983db7c Dominik Brodowski 2018-03-25 587 compat_ulong_t arg); c679a08983db7c Dominik Brodowski 2018-03-25 588 asmlinkage long compat_sys_fcntl64(unsigned int fd, unsigned int cmd, c679a08983db7c Dominik Brodowski 2018-03-25 589 compat_ulong_t arg); 97416ce82e20a9 Stephen Rothwell 2007-05-09 590 c679a08983db7c Dominik Brodowski 2018-03-25 591 /* fs/ioctl.c */ c679a08983db7c Dominik Brodowski 2018-03-25 592 asmlinkage long compat_sys_ioctl(unsigned int fd, unsigned int cmd, c679a08983db7c Dominik Brodowski 2018-03-25 593 compat_ulong_t arg); 140ff8b0459cac Stephen Rothwell 2007-05-14 594 c679a08983db7c Dominik Brodowski 2018-03-25 595 /* fs/open.c */ be84cb43833ee4 Chris Metcalf 2011-05-09 596 asmlinkage long compat_sys_statfs(const char __user *pathname, be84cb43833ee4 Chris Metcalf 2011-05-09 597 struct compat_statfs __user *buf); be84cb43833ee4 Chris Metcalf 2011-05-09 598 asmlinkage long compat_sys_statfs64(const char __user *pathname, be84cb43833ee4 Chris Metcalf 2011-05-09 599 compat_size_t sz, be84cb43833ee4 Chris Metcalf 2011-05-09 600 struct compat_statfs64 __user *buf); c679a08983db7c Dominik Brodowski 2018-03-25 601 asmlinkage long compat_sys_fstatfs(unsigned int fd, c679a08983db7c Dominik Brodowski 2018-03-25 602 struct compat_statfs __user *buf); be84cb43833ee4 Chris Metcalf 2011-05-09 603 asmlinkage long compat_sys_fstatfs64(unsigned int fd, compat_size_t sz, be84cb43833ee4 Chris Metcalf 2011-05-09 604 struct compat_statfs64 __user *buf); c679a08983db7c Dominik Brodowski 2018-03-25 605 asmlinkage long compat_sys_truncate(const char __user *, compat_off_t); c679a08983db7c Dominik Brodowski 2018-03-25 606 asmlinkage long compat_sys_ftruncate(unsigned int, compat_ulong_t); c679a08983db7c Dominik Brodowski 2018-03-25 607 /* No generic prototype for truncate64, ftruncate64, fallocate */ c679a08983db7c Dominik Brodowski 2018-03-25 608 asmlinkage long compat_sys_openat(int dfd, const char __user *filename, c679a08983db7c Dominik Brodowski 2018-03-25 609 int flags, umode_t mode); c679a08983db7c Dominik Brodowski 2018-03-25 610 c679a08983db7c Dominik Brodowski 2018-03-25 611 /* fs/readdir.c */ be84cb43833ee4 Chris Metcalf 2011-05-09 612 asmlinkage long compat_sys_getdents(unsigned int fd, be84cb43833ee4 Chris Metcalf 2011-05-09 613 struct compat_linux_dirent __user *dirent, be84cb43833ee4 Chris Metcalf 2011-05-09 614 unsigned int count); c679a08983db7c Dominik Brodowski 2018-03-25 615 c679a08983db7c Dominik Brodowski 2018-03-25 616 /* fs/read_write.c */ c679a08983db7c Dominik Brodowski 2018-03-25 617 asmlinkage long compat_sys_lseek(unsigned int, compat_off_t, unsigned int); c679a08983db7c Dominik Brodowski 2018-03-25 618 /* No generic prototype for pread64 and pwrite64 */ c679a08983db7c Dominik Brodowski 2018-03-25 619 asmlinkage ssize_t compat_sys_preadv(compat_ulong_t fd, 3523a9d4547898 Christoph Hellwig 2020-09-25 @620 const struct iovec __user *vec, c679a08983db7c Dominik Brodowski 2018-03-25 621 compat_ulong_t vlen, u32 pos_low, u32 pos_high); c679a08983db7c Dominik Brodowski 2018-03-25 622 asmlinkage ssize_t compat_sys_pwritev(compat_ulong_t fd, 3523a9d4547898 Christoph Hellwig 2020-09-25 623 const struct iovec __user *vec, c679a08983db7c Dominik Brodowski 2018-03-25 624 compat_ulong_t vlen, u32 pos_low, u32 pos_high); c679a08983db7c Dominik Brodowski 2018-03-25 625 #ifdef __ARCH_WANT_COMPAT_SYS_PREADV64 c679a08983db7c Dominik Brodowski 2018-03-25 626 asmlinkage long compat_sys_preadv64(unsigned long fd, 3523a9d4547898 Christoph Hellwig 2020-09-25 627 const struct iovec __user *vec, c679a08983db7c Dominik Brodowski 2018-03-25 628 unsigned long vlen, loff_t pos); c679a08983db7c Dominik Brodowski 2018-03-25 629 #endif c679a08983db7c Dominik Brodowski 2018-03-25 630 c679a08983db7c Dominik Brodowski 2018-03-25 631 #ifdef __ARCH_WANT_COMPAT_SYS_PWRITEV64 c679a08983db7c Dominik Brodowski 2018-03-25 632 asmlinkage long compat_sys_pwritev64(unsigned long fd, 3523a9d4547898 Christoph Hellwig 2020-09-25 633 const struct iovec __user *vec, c679a08983db7c Dominik Brodowski 2018-03-25 634 unsigned long vlen, loff_t pos); c679a08983db7c Dominik Brodowski 2018-03-25 635 #endif c679a08983db7c Dominik Brodowski 2018-03-25 636 c679a08983db7c Dominik Brodowski 2018-03-25 637 /* fs/sendfile.c */ c679a08983db7c Dominik Brodowski 2018-03-25 638 asmlinkage long compat_sys_sendfile(int out_fd, int in_fd, c679a08983db7c Dominik Brodowski 2018-03-25 639 compat_off_t __user *offset, compat_size_t count); c679a08983db7c Dominik Brodowski 2018-03-25 640 asmlinkage long compat_sys_sendfile64(int out_fd, int in_fd, c679a08983db7c Dominik Brodowski 2018-03-25 641 compat_loff_t __user *offset, compat_size_t count); c679a08983db7c Dominik Brodowski 2018-03-25 642 c679a08983db7c Dominik Brodowski 2018-03-25 643 /* fs/select.c */ 8dabe7245bbc13 Arnd Bergmann 2019-01-07 644 asmlinkage long compat_sys_pselect6_time32(int n, compat_ulong_t __user *inp, be84cb43833ee4 Chris Metcalf 2011-05-09 645 compat_ulong_t __user *outp, be84cb43833ee4 Chris Metcalf 2011-05-09 646 compat_ulong_t __user *exp, 9afc5eee65ca7d Arnd Bergmann 2018-07-13 @647 struct old_timespec32 __user *tsp, be84cb43833ee4 Chris Metcalf 2011-05-09 648 void __user *sig); e024707bccae15 Deepa Dinamani 2018-09-19 649 asmlinkage long compat_sys_pselect6_time64(int n, compat_ulong_t __user *inp, e024707bccae15 Deepa Dinamani 2018-09-19 650 compat_ulong_t __user *outp, e024707bccae15 Deepa Dinamani 2018-09-19 651 compat_ulong_t __user *exp, e024707bccae15 Deepa Dinamani 2018-09-19 652 struct __kernel_timespec __user *tsp, e024707bccae15 Deepa Dinamani 2018-09-19 653 void __user *sig); 8dabe7245bbc13 Arnd Bergmann 2019-01-07 @654 asmlinkage long compat_sys_ppoll_time32(struct pollfd __user *ufds, be84cb43833ee4 Chris Metcalf 2011-05-09 655 unsigned int nfds, 9afc5eee65ca7d Arnd Bergmann 2018-07-13 656 struct old_timespec32 __user *tsp, be84cb43833ee4 Chris Metcalf 2011-05-09 657 const compat_sigset_t __user *sigmask, be84cb43833ee4 Chris Metcalf 2011-05-09 658 compat_size_t sigsetsize); 8bd27a3004e80d Deepa Dinamani 2018-09-19 @659 asmlinkage long compat_sys_ppoll_time64(struct pollfd __user *ufds, 8bd27a3004e80d Deepa Dinamani 2018-09-19 660 unsigned int nfds, 8bd27a3004e80d Deepa Dinamani 2018-09-19 661 struct __kernel_timespec __user *tsp, 8bd27a3004e80d Deepa Dinamani 2018-09-19 662 const compat_sigset_t __user *sigmask, 8bd27a3004e80d Deepa Dinamani 2018-09-19 663 compat_size_t sigsetsize); c679a08983db7c Dominik Brodowski 2018-03-25 664 :::::: The code at line 560 was first introduced by commit :::::: 9afc5eee65ca7d717a99d6fe8f4adfe32a40940a y2038: globally rename compat_time to old_time32 :::::: TO: Arnd Bergmann :::::: CC: Arnd Bergmann --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org