kernel/sched/sched.h:1619:25: sparse: sparse: incompatible types in comparison expression (different address spaces):

From: kernel test robot
Date: Sun Nov 12 2023 - 08:30:03 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1b907d0507354b74a4f2c286380cd6059af79248
commit: 4104a562e0ca62e971089db9d3c47794a0d7d4eb sched/core: Annotate curr pointer in rq with __rcu
date: 3 years, 9 months ago
config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20231112/202311122138.PP9yi2N4-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231112/202311122138.PP9yi2N4-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311122138.PP9yi2N4-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
kernel/sched/core.c:510:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:510:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:510:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:1444:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:1444:33: sparse: expected struct task_struct *p
kernel/sched/core.c:1444:33: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:1444:68: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:1444:68: sparse: expected struct task_struct *tsk
kernel/sched/core.c:1444:68: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:3589:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:3589:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:3589:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:4010:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *prev @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:4010:14: sparse: expected struct task_struct *prev
kernel/sched/core.c:4010:14: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:4430:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:4430:17: sparse: struct task_struct *
kernel/sched/core.c:4430:17: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/core.c:4629:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:4629:22: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/core.c:4629:22: sparse: struct task_struct *
kernel/sched/core.c:7926:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:7926:25: sparse: expected struct task_struct *p
kernel/sched/core.c:7926:25: sparse: got struct task_struct [noderef] <asn:4> *curr
>> kernel/sched/core.c:1427:33: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:1428:19: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:1431:40: sparse: sparse: dereference of noderef expression
kernel/sched/core.c: note: in included file:
>> kernel/sched/sched.h:1619:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1619:25: sparse: struct task_struct [noderef] <asn:4> *
>> kernel/sched/sched.h:1619:25: sparse: struct task_struct *
kernel/sched/sched.h:1764:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1764:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1764:9: sparse: struct task_struct *
kernel/sched/sched.h:1764:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1764:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1764:9: sparse: struct task_struct *
>> kernel/sched/sched.h:1619:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1619:25: sparse: struct task_struct [noderef] <asn:4> *
>> kernel/sched/sched.h:1619:25: sparse: struct task_struct *
kernel/sched/sched.h:1764:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1764:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1764:9: sparse: struct task_struct *
kernel/sched/sched.h:1770:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1770:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1770:9: sparse: struct task_struct *
>> kernel/sched/sched.h:1619:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1619:25: sparse: struct task_struct [noderef] <asn:4> *
>> kernel/sched/sched.h:1619:25: sparse: struct task_struct *
kernel/sched/sched.h:1764:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1764:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1764:9: sparse: struct task_struct *
kernel/sched/sched.h:1770:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1770:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1770:9: sparse: struct task_struct *
>> kernel/sched/sched.h:1619:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1619:25: sparse: struct task_struct [noderef] <asn:4> *
>> kernel/sched/sched.h:1619:25: sparse: struct task_struct *
kernel/sched/sched.h:1764:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1764:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1764:9: sparse: struct task_struct *
kernel/sched/sched.h:1770:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1770:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1770:9: sparse: struct task_struct *
>> kernel/sched/sched.h:1619:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1619:25: sparse: struct task_struct [noderef] <asn:4> *
>> kernel/sched/sched.h:1619:25: sparse: struct task_struct *
--
>> kernel/sched/rt.c:910:70: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:910:70: sparse: struct task_struct [noderef] <asn:4> *
>> kernel/sched/rt.c:910:70: sparse: struct task_struct *
kernel/sched/rt.c:996:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/rt.c:996:38: sparse: expected struct task_struct *curr
kernel/sched/rt.c:996:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/rt.c:1422:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/rt.c:1422:31: sparse: expected struct task_struct *p
kernel/sched/rt.c:1422:31: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/rt.c:2275:46: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:2275:46: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/rt.c:2275:46: sparse: struct task_struct *
kernel/sched/rt.c:2298:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:2298:22: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/rt.c:2298:22: sparse: struct task_struct *
kernel/sched/rt.c: note: in included file:
>> kernel/sched/sched.h:1619:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1619:25: sparse: struct task_struct [noderef] <asn:4> *
>> kernel/sched/sched.h:1619:25: sparse: struct task_struct *
--
kernel/sched/deadline.c:1719:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct sched_dl_entity *b @@ got struct sched_dl_entity [noderef] <asn:4> * @@
kernel/sched/deadline.c:1719:42: sparse: expected struct sched_dl_entity *b
kernel/sched/deadline.c:1719:42: sparse: got struct sched_dl_entity [noderef] <asn:4> *
kernel/sched/deadline.c:1052:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/deadline.c:1052:23: sparse: expected struct task_struct *p
kernel/sched/deadline.c:1052:23: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/deadline.c:1181:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/deadline.c:1181:38: sparse: expected struct task_struct *curr
kernel/sched/deadline.c:1181:38: sparse: got struct task_struct [noderef] <asn:4> *curr
>> kernel/sched/deadline.c:2383:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/deadline.c:2383:22: sparse: struct task_struct [noderef] <asn:4> *
>> kernel/sched/deadline.c:2383:22: sparse: struct task_struct *
kernel/sched/deadline.c:2402:46: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/deadline.c:2402:46: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/deadline.c:2402:46: sparse: struct task_struct *
kernel/sched/deadline.c: note: in included file:
>> kernel/sched/sched.h:1619:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1619:25: sparse: struct task_struct [noderef] <asn:4> *
>> kernel/sched/sched.h:1619:25: sparse: struct task_struct *

vim +1619 kernel/sched/sched.h

029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1616
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1617 static inline int task_current(struct rq *rq, struct task_struct *p)
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1618 {
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 @1619 return rq->curr == p;
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1620 }
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1621

:::::: The code at line 1619 was first introduced by commit
:::::: 029632fbb7b7c9d85063cc9eb470de6c54873df3 sched: Make separate sched*.c translation units

:::::: TO: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki