[rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces)

From: kbuild test robot
Date: Tue Apr 23 2019 - 06:33:38 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2019.04.16a
head: ca8714f549be5a186d086a223184095759eb7094
commit: 9a1a31194644dfc6b8f19755ea44ecf84f37cf40 [38/72] rcu: Enable elimination of Tree-RCU softirq processing
reproduce:
# apt-get install sparse
git checkout 9a1a31194644dfc6b8f19755ea44ecf84f37cf40
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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



sparse warnings: (new ones prefixed by >>)

>> kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct [noderef] <asn:3> **store @@ got struct task_struct [noderef] <asn:3> **store @@
>> kernel/rcu/tree.c:2408:36: sparse: expected struct task_struct [noderef] <asn:3> **store
>> kernel/rcu/tree.c:2408:36: sparse: got struct task_struct *[noderef] <asn:3> *
kernel/rcu/tree.c:3234:13: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected int ( *threadfn )( ... ) @@ got int ( [noreint ( *threadfn )( ... ) @@
kernel/rcu/tree.c:3234:13: sparse: expected int ( *threadfn )( ... )
kernel/rcu/tree.c:3234:13: sparse: got int ( [noreturn] * )( ... )
kernel/rcu/tree.c:1110:13: sparse: sparse: context imbalance in 'rcu_start_this_gp' - different lock contexts for basic block
kernel/rcu/tree.c:1502:9: sparse: sparse: context imbalance in 'rcu_gp_init' - different lock contexts for basic block
kernel/rcu/tree.c:2190:9: sparse: sparse: context imbalance in 'force_qs_rnp' - different lock contexts for basic block
kernel/rcu/tree.c:2243:25: sparse: sparse: context imbalance in 'rcu_force_quiescent_state' - unexpected unlock
kernel/rcu/tree_stall.h:640:9: sparse: sparse: context imbalance in 'rcu_check_gp_start_stall' - different lock contexts for basic block
kernel/rcu/tree_exp.h:193:9: sparse: sparse: context imbalance in '__rcu_report_exp_rnp' - different lock contexts for basic block

vim +2408 kernel/rcu/tree.c

2406
2407 static struct smp_hotplug_thread rcu_cpu_thread_spec = {
> 2408 .store = &rcu_data.rcu_cpu_kthread_task,
2409 .thread_should_run = rcu_cpu_kthread_should_run,
2410 .thread_fn = rcu_cpu_kthread,
2411 .thread_comm = "rcuc/%u",
2412 .setup = rcu_cpu_kthread_setup,
2413 .park = rcu_cpu_kthread_park,
2414 };
2415

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation