[mingo-tip:sched/headers 127/2579] kernel/sched/fair.c:918:32: sparse: sparse: cast removes address space '__rcu' of expression

From: kernel test robot
Date: Sun Apr 24 2022 - 17:38:26 EST


tree: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git sched/headers
head: 49e1ec6c70a6eb4b7de9250a455b8b63eb42afbe
commit: c3b487719a9654b07ba650abe5bf9964e5474b69 [127/2579] headers/deps: Move task_struct::se to per_task()
config: i386-randconfig-s001 (https://download.01.org/0day-ci/archive/20220425/202204250519.sArtxmdn-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git/commit/?id=c3b487719a9654b07ba650abe5bf9964e5474b69
git remote add mingo-tip git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git
git fetch --no-tags mingo-tip sched/headers
git checkout c3b487719a9654b07ba650abe5bf9964e5474b69
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash kernel/sched/ mm/ net/ipv4/

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


sparse warnings: (new ones prefixed by >>)
>> kernel/sched/fair.c:918:32: sparse: sparse: cast removes address space '__rcu' of expression
kernel/sched/fair.c:5053:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:5053:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:5053:22: sparse: struct task_struct *
kernel/sched/fair.c:5579: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:5579:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:5579:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:7137: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:7137:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7137:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:7435: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:7435:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7435:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:4693:31: sparse: sparse: marked inline, but without a definition
kernel/sched/fair.c: note: in included file:
kernel/sched/sched.h:2022:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2022:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2022:25: sparse: struct task_struct *
kernel/sched/sched.h:2180:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2180:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2180:9: sparse: struct task_struct *
kernel/sched/sched.h:2022:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2022:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2022:25: sparse: struct task_struct *
kernel/sched/sched.h:2022:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2022:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2022:25: sparse: struct task_struct *

vim +/__rcu +918 kernel/sched/fair.c

915
916 static void update_curr_fair(struct rq *rq)
917 {
> 918 update_curr(cfs_rq_of(&per_task(rq->curr, se)));
919 }
920

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