[tip:tmp.tmp2 313/364] include/linux/compat.h:560:13: warning: 'struct old_timespec32' declared inside parameter list will not be visible outside of this definition or declaration

From: kernel test robot
Date: Sun Jun 13 2021 - 20:51:32 EST


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 <linux/compat.h> 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 <lkp@xxxxxxxxx>

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 <command-line>:
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 <command-line>:
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 <arnd@xxxxxxxx>
:::::: CC: Arnd Bergmann <arnd@xxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip