Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 23 Apr 2019 05:46:19 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces) |
| |
On Tue, Apr 23, 2019 at 06:33:33PM +0800, kbuild test robot wrote: > 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@intel.com> > > > > 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 @@
Line 2408 of kernel/rcu/tree.c for commit 9a1a31194644 ("rcu: Enable elimination of Tree-RCU softirq processing") is this:
.store = &rcu_data.rcu_cpu_kthread_task,
So I am having some difficulty understanding this sparse diagnostic.
Help?
Thanx, Paul
> >> 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 >
| ![\](/images/icornerr.gif) |