:::::: 
:::::: Manual check reason: "low confidence static check warning: 
arch/ia64/kernel/sys_ia64.c:188:25: sparse: sparse: typename in expression"
:::::: 

BCC: [email protected]
CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Sergei Trofimovich <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Linux Memory Management List <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   e47eb90a0a9ae20b82635b9b99a8d0979b757ad8
commit: 8b3fbb74a31e9abe49854c0e7815bc2337076cb4 [4630/4736] ia64: fix 
clock_getres(CLOCK_MONOTONIC) to report ITC frequency
:::::: branch date: 5 days ago
:::::: commit date: 5 days ago
config: ia64-randconfig-s043-20220905 
(https://download.01.org/0day-ci/archive/20220906/[email protected]/config)
compiler: ia64-linux-gcc (GCC) 12.1.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=8b3fbb74a31e9abe49854c0e7815bc2337076cb4
        git remote add linux-next 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout 8b3fbb74a31e9abe49854c0e7815bc2337076cb4
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=ia64 
SHELL=/bin/bash arch/ia64/kernel/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

sparse warnings: (new ones prefixed by >>)
>> arch/ia64/kernel/sys_ia64.c:188:25: sparse: sparse: typename in expression
   arch/ia64/kernel/sys_ia64.c:188:29: sparse: sparse: Expected ; at end of 
statement
   arch/ia64/kernel/sys_ia64.c:188:29: sparse: sparse: got tick_ns
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: Expected ; at the end of 
type declaration
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: got )
>> arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: Trying to use reserved 
>> word 'void' as identifier
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: Expected ; at end of 
declaration
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: got __vpp_verify
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: Expected ; at the end of 
type declaration
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: got }
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: Expected ) in nested 
declarator
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: got __attribute__
>> arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: Trying to use reserved 
>> word 'typeof' as identifier
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: Expected ; at the end of 
type declaration
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: got }
>> arch/ia64/kernel/sys_ia64.c:190:25: sparse: sparse: Trying to use reserved 
>> word 'return' as identifier
   arch/ia64/kernel/sys_ia64.c:190:32: sparse: sparse: Expected ; at end of 
declaration
   arch/ia64/kernel/sys_ia64.c:190:32: sparse: sparse: got put_timespec64
   arch/ia64/kernel/sys_ia64.c:191:9: sparse: sparse: Expected ; at the end of 
type declaration
   arch/ia64/kernel/sys_ia64.c:191:9: sparse: sparse: got }
   arch/ia64/kernel/sys_ia64.c:194:1: sparse: sparse: Expected ; at the end of 
type declaration
   arch/ia64/kernel/sys_ia64.c:194:1: sparse: sparse: got }
   arch/ia64/kernel/sys_ia64.c:188:25: sparse: sparse: undefined identifier 
's64'
   arch/ia64/kernel/sys_ia64.c:188:39: sparse: sparse: undefined identifier 
'__vpp_verify'
   arch/ia64/kernel/sys_ia64.c:189:69: sparse: sparse: undefined identifier 
'tick_ns'
>> arch/ia64/kernel/sys_ia64.c:189:68: sparse: sparse: invalid initializer

vim +188 arch/ia64/kernel/sys_ia64.c

8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  169  
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  170  asmlinkage long
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  171  ia64_clock_getres(const 
clockid_t which_clock, struct __kernel_timespec __user *tp)
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  172  {
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  173       /*
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  174        * ia64's 
clock_gettime() syscall is implemented as a vdso call
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  175        * 
fsys_clock_gettime(). Currently it handles only
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  176        * CLOCK_REALTIME and 
CLOCK_MONOTONIC. Both are based on
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  177        * 'ar.itc' counter 
which gets incremented at a constant
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  178        * frequency. It's 
usually 400MHz, ~2.5x times slower than CPU
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  179        * clock frequency. 
Which is almost a 1ns hrtimer, but not quite.
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  180        *
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  181        * Let's special-case 
these timers to report correct precision
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  182        * based on ITC 
frequency and not HZ frequency for supported
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  183        * clocks.
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  184        */
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  185       switch (which_clock) {
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  186               case 
CLOCK_REALTIME:
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20  187               case 
CLOCK_MONOTONIC:
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20 @188                       s64 
tick_ns = DIV_ROUND_UP(NSEC_PER_SEC, local_cpu_data->itc_freq);
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20 @189                       struct 
timespec64 rtn_tp = ns_to_timespec64(tick_ns);
8b3fbb74a31e9a Sergei Trofimovich 2022-08-20 @190                       return 
put_timespec64(&rtn_tp, tp);

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to