From: kernel test robot <lkp@intel.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
Ingo Molnar <mingo@kernel.org>
Subject: kernel/sched/core.c:881:49: sparse: sparse: incorrect type in argument 2 (different address spaces)
Date: Tue, 17 Feb 2026 10:31:46 +0800 [thread overview]
Message-ID: <202602171024.7LU9yYC8-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9702969978695d9a699a1f34771580cdbb153b33
commit: e38e5299747b23015b00b0109891815db44a2f30 sched/hrtick: Fix hrtick() vs. scheduling context
date: 2 months ago
config: i386-randconfig-063-20260215 (https://download.01.org/0day-ci/archive/20260217/202602171024.7LU9yYC8-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260217/202602171024.7LU9yYC8-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602171024.7LU9yYC8-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
kernel/sched/core.c:330:56: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:330:56: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:330:56: sparse: struct task_struct *
kernel/sched/core.c:805:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *task @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:805:33: sparse: expected struct task_struct *task
kernel/sched/core.c:805:33: sparse: got struct task_struct [noderef] __rcu *curr
>> kernel/sched/core.c:881:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *donor @@
kernel/sched/core.c:881:49: sparse: expected struct task_struct *p
kernel/sched/core.c:881:49: sparse: got struct task_struct [noderef] __rcu *donor
kernel/sched/core.c:1101:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:1101:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:1101:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:2175:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *donor @@ got struct task_struct [noderef] __rcu *donor @@
kernel/sched/core.c:2175:39: sparse: expected struct task_struct *donor
kernel/sched/core.c:2175:39: sparse: got struct task_struct [noderef] __rcu *donor
kernel/sched/core.c:2186:65: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:2186:65: sparse: expected struct task_struct *tsk
kernel/sched/core.c:2186:65: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:3583:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/core.c:3583:17: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/core.c:3583:17: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/core.c:3788:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:3788:36: sparse: expected struct task_struct const *p
kernel/sched/core.c:3788:36: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:8065:43: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *push_task @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:8065:43: sparse: expected struct task_struct *push_task
kernel/sched/core.c:8065:43: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:5512:15: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *donor @@ got struct task_struct [noderef] __rcu *donor @@
kernel/sched/core.c:5512:15: sparse: expected struct task_struct *donor
kernel/sched/core.c:5512:15: sparse: got struct task_struct [noderef] __rcu *donor
kernel/sched/core.c:6180:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:6180:32: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:6180:32: sparse: struct task_struct *
kernel/sched/core.c:6211:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:6211:23: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:6211:23: sparse: struct task_struct *
kernel/sched/core.c:6219:46: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:6219:46: sparse: struct task_struct *
kernel/sched/core.c:6219:46: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:6276:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/core.c:6276:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/core.c:6276:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/core.c:6730:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *prev @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:6730:14: sparse: expected struct task_struct *prev
kernel/sched/core.c:6730:14: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:6797:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *prev @@ got struct task_struct [noderef] __rcu *donor @@
kernel/sched/core.c:6797:37: sparse: expected struct task_struct *prev
kernel/sched/core.c:6797:37: sparse: got struct task_struct [noderef] __rcu *donor
kernel/sched/core.c:7303:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:7303:17: sparse: struct task_struct *
kernel/sched/core.c:7303:17: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:10207:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/core.c:10207:25: sparse: expected struct task_struct *p
kernel/sched/core.c:10207:25: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:404:9: sparse: sparse: context imbalance in 'sched_core_lock' - different lock contexts for basic block
kernel/sched/core.c:414:17: sparse: sparse: context imbalance in 'sched_core_unlock' - unexpected unlock
kernel/sched/core.c:632:6: sparse: sparse: context imbalance in 'raw_spin_rq_lock_nested' - wrong count at exit
kernel/sched/core.c:657:6: sparse: sparse: context imbalance in 'raw_spin_rq_trylock' - wrong count at exit
kernel/sched/core.c:681:6: sparse: sparse: context imbalance in 'raw_spin_rq_unlock' - unexpected unlock
kernel/sched/core.c: note: in included file:
kernel/sched/sched.h:1808:9: sparse: sparse: context imbalance in '__task_rq_lock' - wrong count at exit
kernel/sched/sched.h:1808:9: sparse: sparse: context imbalance in 'task_rq_lock' - wrong count at exit
kernel/sched/core.c: note: in included file:
kernel/sched/pelt.h:102:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/pelt.h:102:13: sparse: expected struct task_struct const *p
kernel/sched/pelt.h:102:13: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/core.c:881:11: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:2256:35: sparse: sparse: context imbalance in 'wait_task_inactive' - different lock contexts for basic block
kernel/sched/core.c: note: in included file:
kernel/sched/sched.h:2302:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2302:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2302:26: sparse: struct task_struct *
kernel/sched/sched.h:2291:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2291:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2291:25: sparse: struct task_struct *
kernel/sched/core.c:2170:38: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:2170:38: sparse: struct task_struct [noderef] __rcu *
kernel/sched/core.c:2170:38: sparse: struct task_struct const *
kernel/sched/sched.h:2302:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2302:26: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2302:26: sparse: struct task_struct *
kernel/sched/sched.h:2635:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2635:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2635:9: sparse: struct task_struct *
kernel/sched/sched.h:2635:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2635:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2635:9: sparse: struct task_struct *
kernel/sched/sched.h:2635:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2635:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2635:9: sparse: struct task_struct *
kernel/sched/sched.h:2635:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2635:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2635:9: sparse: struct task_struct *
kernel/sched/sched.h:2635:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2635:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2635:9: sparse: struct task_struct *
kernel/sched/sched.h:2635:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2635:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2635:9: sparse: struct task_struct *
kernel/sched/sched.h:2635:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2635:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2635:9: sparse: struct task_struct *
kernel/sched/sched.h:2635:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2635:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2635:9: sparse: struct task_struct *
kernel/sched/sched.h:2302:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2302:26: sparse: struct task_struct [noderef] __rcu *
vim +881 kernel/sched/core.c
867
868 /*
869 * High-resolution timer tick.
870 * Runs from hardirq context with interrupts disabled.
871 */
872 static enum hrtimer_restart hrtick(struct hrtimer *timer)
873 {
874 struct rq *rq = container_of(timer, struct rq, hrtick_timer);
875 struct rq_flags rf;
876
877 WARN_ON_ONCE(cpu_of(rq) != smp_processor_id());
878
879 rq_lock(rq, &rf);
880 update_rq_clock(rq);
> 881 rq->donor->sched_class->task_tick(rq, rq->donor, 1);
882 rq_unlock(rq, &rf);
883
884 return HRTIMER_NORESTART;
885 }
886
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2026-02-17 2:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-17 2:31 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-06-01 16:46 kernel/sched/core.c:881:49: sparse: sparse: incorrect type in argument 2 (different address spaces) kernel test robot
2026-01-13 10:27 kernel test robot
2025-12-11 5:39 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202602171024.7LU9yYC8-lkp@intel.com \
--to=lkp@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.