All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Tejun Heo <tj@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [tj-sched-ext:scx-sub-caps-v5 43/61] kernel/sched/ext/sub.c:335:30: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Sun, 12 Jul 2026 04:52:24 +0800	[thread overview]
Message-ID: <202607120412.0mohEapw-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git scx-sub-caps-v5
head:   c51c3642e76ea3b627413ecb76f893f1289cf4ae
commit: 08a65d9166c3c4df920a654a332fd5a1f8d6006c [43/61] sched_ext: Maintain per-cpu effective cap copies for single-read checks
config: arm64-randconfig-r132-20260711 (https://download.01.org/0day-ci/archive/20260712/202607120412.0mohEapw-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 10.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260712/202607120412.0mohEapw-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/202607120412.0mohEapw-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   kernel/sched/ext/ext.c:2603:33: sparse:     expected struct scx_sched *sch
   kernel/sched/ext/ext.c:2603:33: sparse:     got struct scx_sched [noderef] __rcu *[addressable] [toplevel] scx_root
   kernel/sched/ext/ext.c:2755:33: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct scx_sched *sch @@     got struct scx_sched [noderef] __rcu *[addressable] [toplevel] scx_root @@
   kernel/sched/ext/ext.c:2755:33: sparse:     expected struct scx_sched *sch
   kernel/sched/ext/ext.c:2755:33: sparse:     got struct scx_sched [noderef] __rcu *[addressable] [toplevel] scx_root
   kernel/sched/ext/ext.c:2902:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *prev @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/ext/ext.c:2902:38: sparse:     expected struct task_struct *prev
   kernel/sched/ext/ext.c:2902:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/ext/ext.c:3133:33: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct scx_sched *sch @@     got struct scx_sched [noderef] __rcu *[addressable] [toplevel] scx_root @@
   kernel/sched/ext/ext.c:3133:33: sparse:     expected struct scx_sched *sch
   kernel/sched/ext/ext.c:3133:33: sparse:     got struct scx_sched [noderef] __rcu *[addressable] [toplevel] scx_root
   kernel/sched/ext/ext.c:3545:62: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct scx_sched *sch @@     got struct scx_sched [noderef] __rcu *scx_sched @@
   kernel/sched/ext/ext.c:3545:62: sparse:     expected struct scx_sched *sch
   kernel/sched/ext/ext.c:3545:62: sparse:     got struct scx_sched [noderef] __rcu *scx_sched
   kernel/sched/ext/ext.c:6169:57: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct task_struct const *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/ext/ext.c:6169:57: sparse:     expected struct task_struct const *p
   kernel/sched/ext/ext.c:6169:57: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/ext/ext.c:6170:51: sparse: sparse: incorrect type in argument 5 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/ext/ext.c:6170:51: sparse:     expected struct task_struct *p
   kernel/sched/ext/ext.c:6170:51: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/ext/ext.c:7663:32: 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/ext/ext.c:7663:32: sparse:     expected struct task_struct const *p
   kernel/sched/ext/ext.c:7663:32: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/ext/ext.c:9019:18: sparse: sparse: symbol 'scx_bpf_reenqueue_local___v2' was not declared. Should it be static?
   kernel/sched/ext/ext.c:9464:33: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/ext/ext.c:9464:33: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/ext/ext.c:9464:33: sparse:    struct task_struct const *
   kernel/sched/build_policy.c: note: in included file:
   kernel/sched/build_policy.c: note: in included file:
   kernel/sched/ext/idle.c:751:33: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct scx_sched *sch @@     got struct scx_sched [noderef] __rcu *[addressable] [assigned] [toplevel] scx_root @@
   kernel/sched/ext/idle.c:771:49: 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/build_policy.c: note: in included file:
>> kernel/sched/ext/sub.c:335:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct scx_sched *sch @@     got struct scx_sched [noderef] __rcu *[addressable] [assigned] [toplevel] scx_root @@
   kernel/sched/ext/sub.c:624:40: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct scx_sched *parent @@     got struct scx_sched [noderef] __rcu *scx_sched @@
   kernel/sched/ext/sub.c:971:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct scx_sched *sch @@     got struct scx_sched [noderef] __rcu *scx_sched @@
   kernel/sched/build_policy.c: note: in included file:
   kernel/sched/syscalls.c:1418:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *donor @@
   kernel/sched/build_policy.c: note: in included file:
   kernel/sched/rt.c:1313:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/rt.c:1313:23: sparse:    struct task_struct *
   kernel/sched/rt.c:1313:23: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/build_policy.c: note: in included file:
   kernel/sched/sched.h:2453:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2453:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2464:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2464:26: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2464:26: sparse:    struct task_struct *
   kernel/sched/sched.h:2453:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2464:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2464:26: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2464:26: sparse:    struct task_struct *
   kernel/sched/sched.h:1425:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1425:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1425:25: sparse:    struct task_struct *
   kernel/sched/build_policy.c: note: in included file:
   kernel/sched/deadline.c:2339:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/deadline.c:2339:15: sparse:    struct task_struct *
   kernel/sched/deadline.c:2339:15: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/build_policy.c: note: in included file:
   kernel/sched/sched.h:2453:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2453:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2464:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2464:26: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2464:26: sparse:    struct task_struct *
   kernel/sched/sched.h:2464:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2464:26: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2464:26: sparse:    struct task_struct *
   kernel/sched/sched.h:2453:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2453:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2453:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2453:25: sparse:    struct task_struct *
   kernel/sched/sched.h:1425:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:1425:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:1425:25: sparse:    struct task_struct *
   kernel/sched/build_policy.c: note: in included file:
   kernel/sched/syscalls.c:1343:11: sparse: sparse: dereference of noderef expression
   kernel/sched/build_policy.c: note: in included file:
   kernel/sched/rt.c:1676:15: sparse: sparse: dereference of noderef expression

vim +335 kernel/sched/ext/sub.c

   310	
   311	/**
   312	 * queue_sync_ecaps - Queue ecaps update for a (sch, cid) pair
   313	 * @sch: sched to update
   314	 * @cid: cid to update
   315	 *
   316	 * Queue an ecaps update for @sch's @cid and kick the cpu so that it syncs in
   317	 * balance_one().
   318	 */
   319	static void queue_sync_ecaps(struct scx_sched *sch, s32 cid)
   320	{
   321		s32 cpu = __scx_cid_to_cpu(cid);
   322		struct scx_sched_pcpu *pcpu = per_cpu_ptr(sch->pcpu, cpu);
   323	
   324		/*
   325		 * Pairs with smp_mb() in scx_process_sync_ecaps(). Either the check
   326		 * below sees the node off the list and queues it, or the in-flight sync
   327		 * sees the caps[] update made before this call.
   328		 */
   329		smp_mb();
   330	
   331		/* @cid's pshard->lock excludes concurrent queueing attempts */
   332		if (llist_on_list(&pcpu->ecaps_to_sync_node))
   333			return;
   334		if (llist_add(&pcpu->ecaps_to_sync_node, &cpu_rq(cpu)->scx.ecaps_to_sync))
 > 335			scx_kick_cpu(scx_root, cpu, 0);
   336	}
   337	

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

                 reply	other threads:[~2026-07-11 20:52 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202607120412.0mohEapw-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=tj@kernel.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.