Re: [PATCH 3/4] LoongArch: Add stacktrace support

From: kernel test robot
Date: Sat Aug 13 2022 - 18:30:21 EST


Hi Qing,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.19]
[cannot apply to next-20220812]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Qing-Zhang/LoongArch-Add-unwinder-support/20220801-204020
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 3d7cb6b04c3f3115719235cc6866b10326de34cd
config: loongarch-randconfig-s041-20220814 (https://download.01.org/0day-ci/archive/20220814/202208140621.UKarxp6n-lkp@xxxxxxxxx/config)
compiler: loongarch64-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://github.com/intel-lab-lkp/linux/commit/102a43b57dafc9c0058a458a62d4133eb8020cbc
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Qing-Zhang/LoongArch-Add-unwinder-support/20220801-204020
git checkout 102a43b57dafc9c0058a458a62d4133eb8020cbc
# 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=loongarch SHELL=/bin/bash kernel/time/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

sparse warnings: (new ones prefixed by >>)
>> kernel/time/tick-sched.c:1151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/tick-sched.c:1151:9: sparse: expected void *ptr
kernel/time/tick-sched.c:1151:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/tick-sched.c:1151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/tick-sched.c:1151:9: sparse: expected void *ptr
kernel/time/tick-sched.c:1151:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/tick-sched.c:1151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/tick-sched.c:1151:9: sparse: expected void *ptr
kernel/time/tick-sched.c:1151:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/tick-sched.c:1151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/tick-sched.c:1151:9: sparse: expected void *ptr
kernel/time/tick-sched.c:1151:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/tick-sched.c:1151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/tick-sched.c:1151:9: sparse: expected void *ptr
kernel/time/tick-sched.c:1151:9: sparse: got int [noderef] __percpu *
>> kernel/time/tick-sched.c:1151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/tick-sched.c:1151:9: sparse: expected void *ptr
kernel/time/tick-sched.c:1151:9: sparse: got int [noderef] __percpu *
>> kernel/time/tick-sched.c:1151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/tick-sched.c:1151:9: sparse: expected void *ptr
kernel/time/tick-sched.c:1151:9: sparse: got int [noderef] __percpu *
>> kernel/time/tick-sched.c:1151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/tick-sched.c:1151:9: sparse: expected void *ptr
kernel/time/tick-sched.c:1151:9: sparse: got int [noderef] __percpu *

vim +1151 kernel/time/tick-sched.c

554c8aa8ecade2 Rafael J. Wysocki 2018-04-03 1141
0e7767687fdabf Rafael J. Wysocki 2018-04-05 1142 /**
0e7767687fdabf Rafael J. Wysocki 2018-04-05 1143 * tick_nohz_idle_enter - prepare for entering idle on the current CPU
2bbb6817c0ac1b Frederic Weisbecker 2011-10-08 1144 *
0e7767687fdabf Rafael J. Wysocki 2018-04-05 1145 * Called when we start the idle loop.
280f06774afedf Frederic Weisbecker 2011-10-07 1146 */
1268fbc746ea1c Frederic Weisbecker 2011-11-17 1147 void tick_nohz_idle_enter(void)
280f06774afedf Frederic Weisbecker 2011-10-07 1148 {
280f06774afedf Frederic Weisbecker 2011-10-07 1149 struct tick_sched *ts;
280f06774afedf Frederic Weisbecker 2011-10-07 1150
ebf3adbad012b8 Frederic Weisbecker 2017-11-06 @1151 lockdep_assert_irqs_enabled();
0db49b72bce263 Linus Torvalds 2012-01-06 1152
1268fbc746ea1c Frederic Weisbecker 2011-11-17 1153 local_irq_disable();
1268fbc746ea1c Frederic Weisbecker 2011-11-17 1154
22127e93c587af Christoph Lameter 2014-08-17 1155 ts = this_cpu_ptr(&tick_cpu_sched);
23a8d888107ce4 Rafael J. Wysocki 2018-04-05 1156
23a8d888107ce4 Rafael J. Wysocki 2018-04-05 1157 WARN_ON_ONCE(ts->timer_expires_base);
23a8d888107ce4 Rafael J. Wysocki 2018-04-05 1158
280f06774afedf Frederic Weisbecker 2011-10-07 1159 ts->inidle = 1;
0e7767687fdabf Rafael J. Wysocki 2018-04-05 1160 tick_nohz_start_idle(ts);
1268fbc746ea1c Frederic Weisbecker 2011-11-17 1161
1268fbc746ea1c Frederic Weisbecker 2011-11-17 1162 local_irq_enable();
280f06774afedf Frederic Weisbecker 2011-10-07 1163 }
280f06774afedf Frederic Weisbecker 2011-10-07 1164

--
0-DAY CI Kernel Test Service
https://01.org/lkp