All of lore.kernel.org
 help / color / mirror / Atom feed
* [peterz-queue:sched/urgent 1/1] kernel/sched/core.c:246:9: sparse: sparse: context imbalance in 'sched_core_lock' - different lock contexts for basic block
@ 2021-08-20 16:30 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-08-20 16:30 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 12673 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Peter Zijlstra <peterz@infradead.org>
CC: Josh Don <joshdon@google.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/urgent
head:   3c474b3239f12fe0b00d7e82481f36a1f31e79ab
commit: 3c474b3239f12fe0b00d7e82481f36a1f31e79ab [1/1] sched: Fix Core-wide rq->lock for uninitialized CPUs
:::::: branch date: 6 hours ago
:::::: commit date: 6 hours ago
config: i386-randconfig-s002-20210820 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-348-gf0e6938b-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=3c474b3239f12fe0b00d7e82481f36a1f31e79ab
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue sched/urgent
        git checkout 3c474b3239f12fe0b00d7e82481f36a1f31e79ab
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash

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


sparse warnings: (new ones prefixed by >>)
   kernel/sched/core.c:963: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:963:38: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:963:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:2086:33: 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:2086:33: sparse:     expected struct task_struct *p
   kernel/sched/core.c:2086:33: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:2086:68: 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:2086:68: sparse:     expected struct task_struct *tsk
   kernel/sched/core.c:2086:68: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:3298: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:3298:17: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/core.c:3298:17: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/core.c:3498: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:3498:36: sparse:     expected struct task_struct const *p
   kernel/sched/core.c:3498:36: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:8523: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:8523:43: sparse:     expected struct task_struct *push_task
   kernel/sched/core.c:8523:43: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:4953: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:4953:38: sparse:     expected struct task_struct *curr
   kernel/sched/core.c:4953:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:5633:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:5633:32: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:5633:32: sparse:    struct task_struct *
   kernel/sched/core.c:5660:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:5660:23: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:5660:23: sparse:    struct task_struct *
   kernel/sched/core.c:5668:46: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:5668:46: sparse:    struct task_struct *
   kernel/sched/core.c:5668:46: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:5725: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:5725:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/core.c:5725:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/core.c:5915: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:5915:14: sparse:     expected struct task_struct *prev
   kernel/sched/core.c:5915:14: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:6520:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:6520:17: sparse:    struct task_struct *
   kernel/sched/core.c:6520:17: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:6724:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:6724:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:6724:22: sparse:    struct task_struct *
   kernel/sched/core.c:10459: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:10459:25: sparse:     expected struct task_struct *p
   kernel/sched/core.c:10459:25: sparse:     got struct task_struct [noderef] __rcu *curr
>> kernel/sched/core.c:246:9: sparse: sparse: context imbalance in 'sched_core_lock' - different lock contexts for basic block
   kernel/sched/core.c:256:17: sparse: sparse: context imbalance in 'sched_core_unlock' - unexpected unlock
   kernel/sched/core.c:467:6: sparse: sparse: context imbalance in 'raw_spin_rq_lock_nested' - wrong count at exit
   kernel/sched/core.c:500:23: sparse: sparse: context imbalance in 'raw_spin_rq_trylock' - wrong count at exit
   kernel/sched/core.c:516:6: sparse: sparse: context imbalance in 'raw_spin_rq_unlock' - unexpected unlock
   kernel/sched/core.c: note: in included file:
   kernel/sched/sched.h:1169:30: sparse: sparse: context imbalance in '__task_rq_lock' - wrong count at exit
   kernel/sched/sched.h:1169:30: sparse: sparse: context imbalance in 'task_rq_lock' - wrong count at exit
   kernel/sched/core.c: note: in included file:
   kernel/sched/pelt.h:76: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:76:13: sparse:     expected struct task_struct const *p
   kernel/sched/pelt.h:76:13: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/core.c:2077:33: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c:2078:19: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c:2079:37: sparse: sparse: dereference of noderef expression
   kernel/sched/core.c: note: in included file:
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/core.c:2052:38: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/core.c:2052:38: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/core.c:2052:38: sparse:    struct task_struct const *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2011:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2011:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2169:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2169:9: sparse:    struct task_struct *

vim +/sched_core_lock +246 kernel/sched/core.c

9edeaea1bc4523 Peter Zijlstra 2020-11-17  239  
3c474b3239f12f Peter Zijlstra 2021-08-19  240  static void sched_core_lock(int cpu, unsigned long *flags)
3c474b3239f12f Peter Zijlstra 2021-08-19  241  {
3c474b3239f12f Peter Zijlstra 2021-08-19  242  	const struct cpumask *smt_mask = cpu_smt_mask(cpu);
3c474b3239f12f Peter Zijlstra 2021-08-19  243  	int t, i = 0;
3c474b3239f12f Peter Zijlstra 2021-08-19  244  
3c474b3239f12f Peter Zijlstra 2021-08-19  245  	local_irq_save(*flags);
3c474b3239f12f Peter Zijlstra 2021-08-19 @246  	for_each_cpu(t, smt_mask)
3c474b3239f12f Peter Zijlstra 2021-08-19  247  		raw_spin_lock_nested(&cpu_rq(t)->__lock, i++);
3c474b3239f12f Peter Zijlstra 2021-08-19  248  }
3c474b3239f12f Peter Zijlstra 2021-08-19  249  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40709 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-20 16:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-20 16:30 [peterz-queue:sched/urgent 1/1] kernel/sched/core.c:246:9: sparse: sparse: context imbalance in 'sched_core_lock' - different lock contexts for basic block kernel test robot

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.