kernel/livepatch/../sched/sched.h:1657:25: sparse: struct task_struct __rcu COPYING CREDITS Documentation Kbuild Kconfig LICENSES MAINTAINERS Makefile README arch block certs crypto drivers fs include init ipc kernel lib mm net samples scripts security sound tools usr virt

From: kernel test robot
Date: Tue Aug 04 2020 - 16:25:07 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 7 weeks ago
config: x86_64-randconfig-s021-20200805 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-117-g8c7aee71-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64

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/livepatch/transition.c:372:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/livepatch/transition.c:372:44: sparse: expected struct spinlock [usertype] *lock
kernel/livepatch/transition.c:372:44: sparse: got struct spinlock [noderef] __rcu *
kernel/livepatch/transition.c:374:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/livepatch/transition.c:374:46: sparse: expected struct spinlock [usertype] *lock
kernel/livepatch/transition.c:374:46: sparse: got struct spinlock [noderef] __rcu *
kernel/livepatch/transition.c: note: in included file:
kernel/livepatch/../sched/sched.h:1657:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> kernel/livepatch/../sched/sched.h:1657:25: sparse: struct task_struct [noderef] __rcu *
kernel/livepatch/../sched/sched.h:1657:25: sparse: struct task_struct *

vim +1657 kernel/livepatch/../sched/sched.h

029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1654
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1655 static inline int task_current(struct rq *rq, struct task_struct *p)
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1656 {
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 @1657 return rq->curr == p;
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1658 }
029632fbb7b7c9 kernel/sched.h Peter Zijlstra 2011-10-25 1659

:::::: The code at line 1657 was first introduced by commit
:::::: 029632fbb7b7c9d85063cc9eb470de6c54873df3 sched: Make separate sched*.c translation units

:::::: TO: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxx>

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

Attachment: .config.gz
Description: application/gzip