kernel/sched/fair.c:939:34: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Wed Oct 18 2023 - 12:25:15 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 06dc10eae55b5ceabfef287a7e5f16ceea204aa0
commit: 904cbab71dda1689d41a240541179f21ff433c40 sched: Make const-safe
date: 10 months ago
config: x86_64-alldefconfig (https://download.01.org/0day-ci/archive/20231019/202310190027.YzS5EYN2-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/20231019/202310190027.YzS5EYN2-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/202310190027.YzS5EYN2-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> kernel/sched/fair.c:939:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity const *se @@ got struct sched_entity [noderef] __rcu * @@
kernel/sched/fair.c:939:34: sparse: expected struct sched_entity const *se
kernel/sched/fair.c:939:34: sparse: got struct sched_entity [noderef] __rcu *
kernel/sched/fair.c:7698:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:7698:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7698:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:7996:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:7996:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7996:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:6039:35: sparse: sparse: marked inline, but without a definition
kernel/sched/fair.c: note: in included file:
kernel/sched/sched.h:2232:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2232:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2232:9: sparse: struct task_struct *
kernel/sched/sched.h:2074:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2074:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2074:25: sparse: struct task_struct *
kernel/sched/sched.h:2074:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2074:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2074:25: sparse: struct task_struct *
--
kernel/sched/build_policy.c: note: in included file:
kernel/sched/rt.c:961:70: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/rt.c:961:70: sparse: struct task_struct [noderef] __rcu *
kernel/sched/rt.c:961:70: sparse: struct task_struct *
kernel/sched/rt.c:1047:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/rt.c:1047:38: sparse: expected struct task_struct *curr
kernel/sched/rt.c:1047:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/rt.c:1592:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/rt.c:1592:31: sparse: expected struct task_struct *p
kernel/sched/rt.c:1592:31: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/build_policy.c: note: in included file:
>> kernel/sched/deadline.c:1954:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct sched_dl_entity const *b @@ got struct sched_dl_entity [noderef] __rcu * @@
kernel/sched/deadline.c:1954:42: sparse: expected struct sched_dl_entity const *b
kernel/sched/deadline.c:1954:42: sparse: got struct sched_dl_entity [noderef] __rcu *
kernel/sched/deadline.c:1182:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/deadline.c:1182:23: sparse: expected struct task_struct *p
kernel/sched/deadline.c:1182:23: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/deadline.c:1309:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/deadline.c:1309:38: sparse: expected struct task_struct *curr
kernel/sched/deadline.c:1309:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/deadline.c:2645:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/deadline.c:2645:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/deadline.c:2645:22: sparse: struct task_struct *
kernel/sched/build_policy.c: note: in included file:
kernel/sched/sched.h:2074:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2074:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2074:25: sparse: struct task_struct *
kernel/sched/sched.h:2074:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2074:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2074:25: sparse: struct task_struct *
kernel/sched/sched.h:2074:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2074:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2074:25: sparse: struct task_struct *
kernel/sched/sched.h:2074:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2074:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2074:25: sparse: struct task_struct *
kernel/sched/sched.h:2074:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2074:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2074:25: sparse: struct task_struct *

vim +939 kernel/sched/fair.c

bf0f6f24a1ece8 kernel/sched_fair.c Ingo Molnar 2007-07-09 936
6e998916dfe327 kernel/sched/fair.c Stanislaw Gruszka 2014-11-12 937 static void update_curr_fair(struct rq *rq)
6e998916dfe327 kernel/sched/fair.c Stanislaw Gruszka 2014-11-12 938 {
6e998916dfe327 kernel/sched/fair.c Stanislaw Gruszka 2014-11-12 @939 update_curr(cfs_rq_of(&rq->curr->se));
6e998916dfe327 kernel/sched/fair.c Stanislaw Gruszka 2014-11-12 940 }
6e998916dfe327 kernel/sched/fair.c Stanislaw Gruszka 2014-11-12 941

:::::: The code at line 939 was first introduced by commit
:::::: 6e998916dfe327e785e7c2447959b2c1a3ea4930 sched/cputime: Fix clock_nanosleep()/clock_gettime() inconsistency

:::::: TO: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxxxxx>

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