[tip:tmp.tmp2 313/364] include/linux/compat.h:953:30: error: storage size of 'tv' isn't known
From: kernel test robot
Date: Sun Jun 13 2021 - 21:56:04 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 errors (new ones prefixed by >>):
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'
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'
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); \
--
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'
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'
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); \
..
vim +953 include/linux/compat.h
c679a08983db7c Dominik Brodowski 2018-03-25 812
c679a08983db7c Dominik Brodowski 2018-03-25 813 /* mm/, CONFIG_MMU only */
c679a08983db7c Dominik Brodowski 2018-03-25 814 asmlinkage long compat_sys_mbind(compat_ulong_t start, compat_ulong_t len,
c679a08983db7c Dominik Brodowski 2018-03-25 815 compat_ulong_t mode,
c679a08983db7c Dominik Brodowski 2018-03-25 816 compat_ulong_t __user *nmask,
c679a08983db7c Dominik Brodowski 2018-03-25 817 compat_ulong_t maxnode, compat_ulong_t flags);
c679a08983db7c Dominik Brodowski 2018-03-25 818 asmlinkage long compat_sys_get_mempolicy(int __user *policy,
c679a08983db7c Dominik Brodowski 2018-03-25 819 compat_ulong_t __user *nmask,
c679a08983db7c Dominik Brodowski 2018-03-25 820 compat_ulong_t maxnode,
c679a08983db7c Dominik Brodowski 2018-03-25 821 compat_ulong_t addr,
c679a08983db7c Dominik Brodowski 2018-03-25 822 compat_ulong_t flags);
c679a08983db7c Dominik Brodowski 2018-03-25 823 asmlinkage long compat_sys_set_mempolicy(int mode, compat_ulong_t __user *nmask,
c679a08983db7c Dominik Brodowski 2018-03-25 824 compat_ulong_t maxnode);
c679a08983db7c Dominik Brodowski 2018-03-25 825 asmlinkage long compat_sys_migrate_pages(compat_pid_t pid,
c679a08983db7c Dominik Brodowski 2018-03-25 826 compat_ulong_t maxnode, const compat_ulong_t __user *old_nodes,
c679a08983db7c Dominik Brodowski 2018-03-25 827 const compat_ulong_t __user *new_nodes);
c679a08983db7c Dominik Brodowski 2018-03-25 828 asmlinkage long compat_sys_move_pages(pid_t pid, compat_ulong_t nr_pages,
c679a08983db7c Dominik Brodowski 2018-03-25 829 __u32 __user *pages,
c679a08983db7c Dominik Brodowski 2018-03-25 830 const int __user *nodes,
c679a08983db7c Dominik Brodowski 2018-03-25 831 int __user *status,
c679a08983db7c Dominik Brodowski 2018-03-25 832 int flags);
c679a08983db7c Dominik Brodowski 2018-03-25 833
c679a08983db7c Dominik Brodowski 2018-03-25 834 asmlinkage long compat_sys_rt_tgsigqueueinfo(compat_pid_t tgid,
c679a08983db7c Dominik Brodowski 2018-03-25 835 compat_pid_t pid, int sig,
c679a08983db7c Dominik Brodowski 2018-03-25 836 struct compat_siginfo __user *uinfo);
e11d4284e2f4de Arnd Bergmann 2018-04-18 837 asmlinkage long compat_sys_recvmmsg_time64(int fd, struct compat_mmsghdr __user *mmsg,
e11d4284e2f4de Arnd Bergmann 2018-04-18 838 unsigned vlen, unsigned int flags,
e11d4284e2f4de Arnd Bergmann 2018-04-18 839 struct __kernel_timespec __user *timeout);
8dabe7245bbc13 Arnd Bergmann 2019-01-07 840 asmlinkage long compat_sys_recvmmsg_time32(int fd, struct compat_mmsghdr __user *mmsg,
c679a08983db7c Dominik Brodowski 2018-03-25 841 unsigned vlen, unsigned int flags,
9afc5eee65ca7d Arnd Bergmann 2018-07-13 842 struct old_timespec32 __user *timeout);
c679a08983db7c Dominik Brodowski 2018-03-25 843 asmlinkage long compat_sys_wait4(compat_pid_t pid,
c679a08983db7c Dominik Brodowski 2018-03-25 844 compat_uint_t __user *stat_addr, int options,
c679a08983db7c Dominik Brodowski 2018-03-25 845 struct compat_rusage __user *ru);
c679a08983db7c Dominik Brodowski 2018-03-25 846 asmlinkage long compat_sys_fanotify_mark(int, unsigned int, __u32, __u32,
c679a08983db7c Dominik Brodowski 2018-03-25 847 int, const char __user *);
c679a08983db7c Dominik Brodowski 2018-03-25 848 asmlinkage long compat_sys_open_by_handle_at(int mountdirfd,
c679a08983db7c Dominik Brodowski 2018-03-25 849 struct file_handle __user *handle,
c679a08983db7c Dominik Brodowski 2018-03-25 850 int flags);
c679a08983db7c Dominik Brodowski 2018-03-25 851 asmlinkage long compat_sys_sendmmsg(int fd, struct compat_mmsghdr __user *mmsg,
c679a08983db7c Dominik Brodowski 2018-03-25 852 unsigned vlen, unsigned int flags);
c679a08983db7c Dominik Brodowski 2018-03-25 853 asmlinkage long compat_sys_execveat(int dfd, const char __user *filename,
c679a08983db7c Dominik Brodowski 2018-03-25 854 const compat_uptr_t __user *argv,
c679a08983db7c Dominik Brodowski 2018-03-25 855 const compat_uptr_t __user *envp, int flags);
c679a08983db7c Dominik Brodowski 2018-03-25 856 asmlinkage ssize_t compat_sys_preadv2(compat_ulong_t fd,
3523a9d4547898 Christoph Hellwig 2020-09-25 857 const struct iovec __user *vec,
c679a08983db7c Dominik Brodowski 2018-03-25 858 compat_ulong_t vlen, u32 pos_low, u32 pos_high, rwf_t flags);
c679a08983db7c Dominik Brodowski 2018-03-25 859 asmlinkage ssize_t compat_sys_pwritev2(compat_ulong_t fd,
3523a9d4547898 Christoph Hellwig 2020-09-25 860 const struct iovec __user *vec,
c679a08983db7c Dominik Brodowski 2018-03-25 @861 compat_ulong_t vlen, u32 pos_low, u32 pos_high, rwf_t flags);
c679a08983db7c Dominik Brodowski 2018-03-25 862 #ifdef __ARCH_WANT_COMPAT_SYS_PREADV64V2
576d0703a81217 Christoph Hellwig 2020-09-25 863 asmlinkage long compat_sys_preadv64v2(unsigned long fd,
3523a9d4547898 Christoph Hellwig 2020-09-25 864 const struct iovec __user *vec,
c679a08983db7c Dominik Brodowski 2018-03-25 865 unsigned long vlen, loff_t pos, rwf_t flags);
c679a08983db7c Dominik Brodowski 2018-03-25 866 #endif
a67ba43d30bf8c Chris Metcalf 2011-12-01 867
c679a08983db7c Dominik Brodowski 2018-03-25 868 #ifdef __ARCH_WANT_COMPAT_SYS_PWRITEV64V2
c679a08983db7c Dominik Brodowski 2018-03-25 869 asmlinkage long compat_sys_pwritev64v2(unsigned long fd,
3523a9d4547898 Christoph Hellwig 2020-09-25 870 const struct iovec __user *vec,
c679a08983db7c Dominik Brodowski 2018-03-25 871 unsigned long vlen, loff_t pos, rwf_t flags);
c679a08983db7c Dominik Brodowski 2018-03-25 872 #endif
c679a08983db7c Dominik Brodowski 2018-03-25 873
c679a08983db7c Dominik Brodowski 2018-03-25 874
c679a08983db7c Dominik Brodowski 2018-03-25 875 /*
c679a08983db7c Dominik Brodowski 2018-03-25 876 * Deprecated system calls which are still defined in
c679a08983db7c Dominik Brodowski 2018-03-25 877 * include/uapi/asm-generic/unistd.h and wanted by >= 1 arch
c679a08983db7c Dominik Brodowski 2018-03-25 878 */
9026843952adac Al Viro 2012-12-14 879
c679a08983db7c Dominik Brodowski 2018-03-25 880 /* __ARCH_WANT_SYSCALL_NO_AT */
c679a08983db7c Dominik Brodowski 2018-03-25 881 asmlinkage long compat_sys_open(const char __user *filename, int flags,
c679a08983db7c Dominik Brodowski 2018-03-25 882 umode_t mode);
c679a08983db7c Dominik Brodowski 2018-03-25 883
c679a08983db7c Dominik Brodowski 2018-03-25 884 /* __ARCH_WANT_SYSCALL_NO_FLAGS */
c679a08983db7c Dominik Brodowski 2018-03-25 885 asmlinkage long compat_sys_signalfd(int ufd,
c679a08983db7c Dominik Brodowski 2018-03-25 886 const compat_sigset_t __user *sigmask,
c679a08983db7c Dominik Brodowski 2018-03-25 887 compat_size_t sigsetsize);
c679a08983db7c Dominik Brodowski 2018-03-25 888
c679a08983db7c Dominik Brodowski 2018-03-25 889 /* __ARCH_WANT_SYSCALL_OFF_T */
c679a08983db7c Dominik Brodowski 2018-03-25 890 asmlinkage long compat_sys_newstat(const char __user *filename,
c679a08983db7c Dominik Brodowski 2018-03-25 891 struct compat_stat __user *statbuf);
c679a08983db7c Dominik Brodowski 2018-03-25 892 asmlinkage long compat_sys_newlstat(const char __user *filename,
c679a08983db7c Dominik Brodowski 2018-03-25 893 struct compat_stat __user *statbuf);
c679a08983db7c Dominik Brodowski 2018-03-25 894
c679a08983db7c Dominik Brodowski 2018-03-25 895 /* __ARCH_WANT_SYSCALL_DEPRECATED */
c679a08983db7c Dominik Brodowski 2018-03-25 896 asmlinkage long compat_sys_select(int n, compat_ulong_t __user *inp,
c679a08983db7c Dominik Brodowski 2018-03-25 897 compat_ulong_t __user *outp, compat_ulong_t __user *exp,
9afc5eee65ca7d Arnd Bergmann 2018-07-13 898 struct old_timeval32 __user *tvp);
c679a08983db7c Dominik Brodowski 2018-03-25 899 asmlinkage long compat_sys_ustat(unsigned dev, struct compat_ustat __user *u32);
c679a08983db7c Dominik Brodowski 2018-03-25 900 asmlinkage long compat_sys_recv(int fd, void __user *buf, compat_size_t len,
c679a08983db7c Dominik Brodowski 2018-03-25 901 unsigned flags);
c679a08983db7c Dominik Brodowski 2018-03-25 902
c679a08983db7c Dominik Brodowski 2018-03-25 903 /* obsolete: fs/readdir.c */
c679a08983db7c Dominik Brodowski 2018-03-25 904 asmlinkage long compat_sys_old_readdir(unsigned int fd,
c679a08983db7c Dominik Brodowski 2018-03-25 905 struct compat_old_linux_dirent __user *,
c679a08983db7c Dominik Brodowski 2018-03-25 906 unsigned int count);
c679a08983db7c Dominik Brodowski 2018-03-25 907
c679a08983db7c Dominik Brodowski 2018-03-25 908 /* obsolete: fs/select.c */
c679a08983db7c Dominik Brodowski 2018-03-25 909 asmlinkage long compat_sys_old_select(struct compat_sel_arg_struct __user *arg);
c679a08983db7c Dominik Brodowski 2018-03-25 910
c679a08983db7c Dominik Brodowski 2018-03-25 911 /* obsolete: ipc */
c679a08983db7c Dominik Brodowski 2018-03-25 912 asmlinkage long compat_sys_ipc(u32, int, int, u32, compat_uptr_t, u32);
c679a08983db7c Dominik Brodowski 2018-03-25 913
c679a08983db7c Dominik Brodowski 2018-03-25 914 /* obsolete: kernel/signal.c */
e9fb8b7e4f6af1 Catalin Marinas 2015-01-06 915 #ifdef __ARCH_WANT_SYS_SIGPENDING
e9fb8b7e4f6af1 Catalin Marinas 2015-01-06 916 asmlinkage long compat_sys_sigpending(compat_old_sigset_t __user *set);
e9fb8b7e4f6af1 Catalin Marinas 2015-01-06 917 #endif
e9fb8b7e4f6af1 Catalin Marinas 2015-01-06 918
e9fb8b7e4f6af1 Catalin Marinas 2015-01-06 919 #ifdef __ARCH_WANT_SYS_SIGPROCMASK
e9fb8b7e4f6af1 Catalin Marinas 2015-01-06 920 asmlinkage long compat_sys_sigprocmask(int how, compat_old_sigset_t __user *nset,
e9fb8b7e4f6af1 Catalin Marinas 2015-01-06 921 compat_old_sigset_t __user *oset);
e9fb8b7e4f6af1 Catalin Marinas 2015-01-06 922 #endif
c679a08983db7c Dominik Brodowski 2018-03-25 923 #ifdef CONFIG_COMPAT_OLD_SIGACTION
c679a08983db7c Dominik Brodowski 2018-03-25 924 asmlinkage long compat_sys_sigaction(int sig,
c679a08983db7c Dominik Brodowski 2018-03-25 925 const struct compat_old_sigaction __user *act,
c679a08983db7c Dominik Brodowski 2018-03-25 926 struct compat_old_sigaction __user *oact);
c679a08983db7c Dominik Brodowski 2018-03-25 927 #endif
e9fb8b7e4f6af1 Catalin Marinas 2015-01-06 928
c679a08983db7c Dominik Brodowski 2018-03-25 929 /* obsolete: net/socket.c */
c679a08983db7c Dominik Brodowski 2018-03-25 930 asmlinkage long compat_sys_socketcall(int call, u32 __user *args);
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 931
7303e30ec1d8fb Dominik Brodowski 2018-04-05 932 #endif /* CONFIG_ARCH_HAS_SYSCALL_WRAPPER */
7303e30ec1d8fb Dominik Brodowski 2018-04-05 933
79170fda313ed5 Kyle Huey 2017-03-20 934
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 935 /*
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 936 * For most but not all architectures, "am I in a compat syscall?" and
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 937 * "am I a compat task?" are the same question. For architectures on which
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 938 * they aren't the same question, arch code can override in_compat_syscall.
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 939 */
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 940
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 941 #ifndef in_compat_syscall
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 942 static inline bool in_compat_syscall(void) { return is_compat_task(); }
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 943 #endif
5180e3e24fd3e8 Andy Lutomirski 2016-03-22 944
cd19c364b313c1 Frederic Weisbecker 2017-01-31 945 /**
9afc5eee65ca7d Arnd Bergmann 2018-07-13 946 * ns_to_old_timeval32 - Compat version of ns_to_timeval
cd19c364b313c1 Frederic Weisbecker 2017-01-31 947 * @nsec: the nanoseconds value to be converted
cd19c364b313c1 Frederic Weisbecker 2017-01-31 948 *
9afc5eee65ca7d Arnd Bergmann 2018-07-13 949 * Returns the old_timeval32 representation of the nsec parameter.
cd19c364b313c1 Frederic Weisbecker 2017-01-31 950 */
9afc5eee65ca7d Arnd Bergmann 2018-07-13 951 static inline struct old_timeval32 ns_to_old_timeval32(s64 nsec)
cd19c364b313c1 Frederic Weisbecker 2017-01-31 952 {
693737b6cc2edc Arnd Bergmann 2017-11-23 @953 struct __kernel_old_timeval tv;
9afc5eee65ca7d Arnd Bergmann 2018-07-13 954 struct old_timeval32 ctv;
cd19c364b313c1 Frederic Weisbecker 2017-01-31 955
693737b6cc2edc Arnd Bergmann 2017-11-23 956 tv = ns_to_kernel_old_timeval(nsec);
cd19c364b313c1 Frederic Weisbecker 2017-01-31 957 ctv.tv_sec = tv.tv_sec;
cd19c364b313c1 Frederic Weisbecker 2017-01-31 958 ctv.tv_usec = tv.tv_usec;
cd19c364b313c1 Frederic Weisbecker 2017-01-31 959
cd19c364b313c1 Frederic Weisbecker 2017-01-31 960 return ctv;
cd19c364b313c1 Frederic Weisbecker 2017-01-31 961 }
cd19c364b313c1 Frederic Weisbecker 2017-01-31 962
:::::: The code at line 953 was first introduced by commit
:::::: 693737b6cc2edc258040b28462a90b63503394d9 y2038: make ns_to_compat_timeval use __kernel_old_timeval
:::::: 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