lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Mon, 14 Jun 2021 09:45:02 +0800
From:   kernel test robot <lkp@...el.com>
To:     Ingo Molnar <mingo@...nel.org>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        x86@...nel.org
Subject: [tip:tmp.tmp2 313/364] include/linux/compat.h:953:30: error: storage
 size of 'tv' isn't known

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@...el.com>

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@...db.de>
:::::: CC: Arnd Bergmann <arnd@...db.de>

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

Download attachment ".config.gz" of type "application/gzip" (73414 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ