CC: [email protected]
CC: [email protected]
TO: "Paul E. McKenney" <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git 
dev.2021.04.06a
head:   2d5149067a2aca5be4d24fc0f8368e48b47d222d
commit: 420d9384a0b98b51e74684d55d7853dfc113d660 [65/73] rcu: Reject 
RCU_LOCKDEP_WARN() false positives
:::::: branch date: 2 hours ago
:::::: commit date: 26 hours ago
config: x86_64-randconfig-s022-20210407 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-279-g6d5d9b42-dirty
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=420d9384a0b98b51e74684d55d7853dfc113d660
        git remote add rcu 
https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
        git fetch --no-tags rcu dev.2021.04.06a
        git checkout 420d9384a0b98b51e74684d55d7853dfc113d660
        # 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 <[email protected]>


sparse warnings: (new ones prefixed by >>)
   kernel/signal.c:2280:33: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:2280:33: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:2377:41: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:2377:41: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:2377:41: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:2462:41: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:2462:41: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:2462:41: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:2474:33: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:2474:33: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:2474:33: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:2512:52: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct task_struct *tsk @@     got 
struct task_struct [noderef] __rcu *parent @@
   kernel/signal.c:2512:52: sparse:     expected struct task_struct *tsk
   kernel/signal.c:2512:52: sparse:     got struct task_struct [noderef] __rcu 
*parent
   kernel/signal.c:2514:49: sparse: sparse: cast removes address space '__rcu' 
of expression
   kernel/signal.c:2549:49: sparse: sparse: incorrect type in initializer 
(different address spaces) @@     expected struct sighand_struct *sighand @@    
 got struct sighand_struct [noderef] __rcu *sighand @@
   kernel/signal.c:2549:49: sparse:     expected struct sighand_struct *sighand
   kernel/signal.c:2549:49: sparse:     got struct sighand_struct [noderef] 
__rcu *sighand
   kernel/signal.c:2878:27: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:2878:27: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:2878:27: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:2898:29: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:2898:29: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:2898:29: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:2965:27: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:2965:27: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:2965:27: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:2967:29: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:2967:29: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:2967:29: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3118:31: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3118:31: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:3118:31: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3121:33: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3121:33: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:3121:33: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3504:27: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3504:27: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:3504:27: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3516:37: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3516:37: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:3516:37: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3521:35: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3521:35: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:3521:35: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3526:29: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3526:29: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:3526:29: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3980:31: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3980:31: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:3980:31: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:3992:33: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:3992:33: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:3992:33: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:4010:11: sparse: sparse: incorrect type in assignment 
(different address spaces) @@     expected struct k_sigaction *k @@     got 
struct k_sigaction [noderef] __rcu * @@
   kernel/signal.c:4010:11: sparse:     expected struct k_sigaction *k
   kernel/signal.c:4010:11: sparse:     got struct k_sigaction [noderef] __rcu *
   kernel/signal.c:4012:25: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:4012:25: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:4012:25: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:4058:27: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   kernel/signal.c:4058:27: sparse:     expected struct spinlock [usertype] 
*lock
   kernel/signal.c:4058:27: sparse:     got struct spinlock [noderef] __rcu *
   kernel/signal.c:69:34: sparse: sparse: dereference of noderef expression
   kernel/signal.c:529:35: sparse: sparse: dereference of noderef expression
   kernel/signal.c:557:52: sparse: sparse: dereference of noderef expression
   kernel/signal.c:884:9: sparse: sparse: dereference of noderef expression
   kernel/signal.c:1031:13: sparse: sparse: dereference of noderef expression
   kernel/signal.c:1079:9: sparse: sparse: dereference of noderef expression
   kernel/signal.c: note: in included file:
   include/linux/signalfd.h:21:13: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   include/linux/signalfd.h:21:13: sparse:     expected struct wait_queue_head 
*wq_head
   include/linux/signalfd.h:21:13: sparse:     got struct wait_queue_head 
[noderef] __rcu *
   include/linux/signalfd.h:22:17: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   include/linux/signalfd.h:22:17: sparse:     expected struct wait_queue_head 
*wq_head
   include/linux/signalfd.h:22:17: sparse:     got struct wait_queue_head 
[noderef] __rcu *
   kernel/signal.c: note: in included file (through 
include/linux/sched/cputime.h):
   include/linux/sched/signal.h:708:37: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected struct spinlock 
[usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:708:37: sparse:     expected struct spinlock 
[usertype] *lock
   include/linux/sched/signal.h:708:37: sparse:     got struct spinlock 
[noderef] __rcu *
   kernel/signal.c:1295:9: sparse: sparse: context imbalance in 
'do_send_sig_info' - different lock contexts for basic block
   kernel/signal.c: note: in included file (through include/linux/rbtree.h, 
include/linux/mm_types.h, include/linux/mmzone.h, ...):
   include/linux/rcupdate.h:709:9: sparse: sparse: context imbalance in 
'__lock_task_sighand' - different lock contexts for basic block
   kernel/signal.c: note: in included file (through 
include/linux/sched/cputime.h):
   include/linux/sched/signal.h:708:37: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected struct spinlock 
[usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:708:37: sparse:     expected struct spinlock 
[usertype] *lock
   include/linux/sched/signal.h:708:37: sparse:     got struct spinlock 
[noderef] __rcu *
   kernel/signal.c:1647:35: sparse: sparse: dereference of noderef expression
   kernel/signal.c: note: in included file:
   include/linux/signalfd.h:21:13: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   include/linux/signalfd.h:21:13: sparse:     expected struct wait_queue_head 
*wq_head
   include/linux/signalfd.h:21:13: sparse:     got struct wait_queue_head 
[noderef] __rcu *
   include/linux/signalfd.h:22:17: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   include/linux/signalfd.h:22:17: sparse:     expected struct wait_queue_head 
*wq_head
   include/linux/signalfd.h:22:17: sparse:     got struct wait_queue_head 
[noderef] __rcu *
   kernel/signal.c: note: in included file (through 
include/linux/sched/cputime.h):
   include/linux/sched/signal.h:708:37: sparse: sparse: incorrect type in 
argument 1 (different address spaces) @@     expected struct spinlock 
[usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   include/linux/sched/signal.h:708:37: sparse:     expected struct spinlock 
[usertype] *lock
   include/linux/sched/signal.h:708:37: sparse:     got struct spinlock 
[noderef] __rcu *
   kernel/signal.c: note: in included file (through include/linux/rcupdate.h, 
include/linux/rbtree.h, include/linux/mm_types.h, ...):
>> include/linux/rcutiny.h:105:44: sparse: sparse: context imbalance in 
>> 'send_sigqueue' - wrong count at exit
   kernel/signal.c:1951:40: sparse: sparse: dereference of noderef expression
   kernel/signal.c:1951:40: sparse: sparse: dereference of noderef expression
   kernel/signal.c:1951:40: sparse: sparse: dereference of noderef expression
   kernel/signal.c:1951:40: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2094:13: sparse: sparse: dereference of noderef expression
   kernel/signal.c: note: in included file (through 
include/uapi/asm-generic/bpf_perf_event.h, 
arch/x86/include/generated/uapi/asm/bpf_perf_event.h, ...):
   include/linux/ptrace.h:99:40: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct task_struct *p1 @@     got 
struct task_struct [noderef] __rcu *real_parent @@
   include/linux/ptrace.h:99:40: sparse:     expected struct task_struct *p1
   include/linux/ptrace.h:99:40: sparse:     got struct task_struct [noderef] 
__rcu *real_parent
   include/linux/ptrace.h:99:60: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected struct task_struct *p2 @@     got 
struct task_struct [noderef] __rcu *parent @@
   include/linux/ptrace.h:99:60: sparse:     expected struct task_struct *p2
   include/linux/ptrace.h:99:60: sparse:     got struct task_struct [noderef] 
__rcu *parent
   kernel/signal.c:2305:13: sparse: sparse: context imbalance in 
'do_signal_stop' - different lock contexts for basic block
   kernel/signal.c:2514:49: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2514:49: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2514:49: sparse: sparse: dereference of noderef expression
   kernel/signal.c:2514:49: sparse: sparse: dereference of noderef expression
   include/linux/ptrace.h:99:40: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct task_struct *p1 @@     got 
struct task_struct [noderef] __rcu *real_parent @@
   include/linux/ptrace.h:99:40: sparse:     expected struct task_struct *p1
   include/linux/ptrace.h:99:40: sparse:     got struct task_struct [noderef] 
__rcu *real_parent
   include/linux/ptrace.h:99:60: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected struct task_struct *p2 @@     got 
struct task_struct [noderef] __rcu *parent @@
   include/linux/ptrace.h:99:60: sparse:     expected struct task_struct *p2
   include/linux/ptrace.h:99:60: sparse:     got struct task_struct [noderef] 
__rcu *parent
   kernel/signal.c:2630:69: sparse: sparse: context imbalance in 'get_signal' - 
unexpected unlock
   kernel/signal.c:3981:33: sparse: sparse: dereference of noderef expression
--
   kernel/events/core.c:583:26: sparse: sparse: function 'perf_pmu_name' with 
external linkage has definition
   kernel/events/core.c:1466:15: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:1466:15: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:1466:15: sparse:    struct perf_event_context *
   kernel/events/core.c:1479:28: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:1479:28: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:1479:28: sparse:    struct perf_event_context *
   kernel/events/core.c:3390:18: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:3390:18: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:3390:18: sparse:    struct perf_event_context *
   kernel/events/core.c:3391:23: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:3391:23: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:3391:23: sparse:    struct perf_event_context *
   kernel/events/core.c:3439:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:3439:25: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:3439:25: sparse:    struct perf_event_context *
   kernel/events/core.c:3440:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:3440:25: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:3440:25: sparse:    struct perf_event_context *
   kernel/events/core.c:4582:25: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:4582:25: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:4582:25: sparse:    struct perf_event_context *
   kernel/events/core.c:5844:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:5844:9: sparse:    struct perf_buffer [noderef] __rcu *
   kernel/events/core.c:5844:9: sparse:    struct perf_buffer *
   kernel/events/core.c:5320:24: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected restricted __poll_t [usertype] events @@ 
    got int @@
   kernel/events/core.c:5550:22: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:5550:22: sparse:    struct perf_buffer [noderef] __rcu *
   kernel/events/core.c:5550:22: sparse:    struct perf_buffer *
   kernel/events/core.c:5686:14: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:5686:14: sparse:    struct perf_buffer [noderef] __rcu *
   kernel/events/core.c:5686:14: sparse:    struct perf_buffer *
   kernel/events/core.c:5719:14: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:5719:14: sparse:    struct perf_buffer [noderef] __rcu *
   kernel/events/core.c:5719:14: sparse:    struct perf_buffer *
   kernel/events/core.c:5776:14: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:5776:14: sparse:    struct perf_buffer [noderef] __rcu *
   kernel/events/core.c:5776:14: sparse:    struct perf_buffer *
   kernel/events/core.c:5862:14: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:5862:14: sparse:    struct perf_buffer [noderef] __rcu *
   kernel/events/core.c:5862:14: sparse:    struct perf_buffer *
   kernel/events/core.c:5875:14: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:5875:14: sparse:    struct perf_buffer [noderef] __rcu *
   kernel/events/core.c:5875:14: sparse:    struct perf_buffer *
   kernel/events/core.c:6557:6: sparse: sparse: symbol 'perf_pmu_snapshot_aux' 
was not declared. Should it be static?
   kernel/events/core.c:7476:23: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:7476:23: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:7476:23: sparse:    struct perf_event_context *
   kernel/events/core.c:7567:13: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:7567:13: sparse:    struct perf_buffer [noderef] __rcu *
   kernel/events/core.c:7567:13: sparse:    struct perf_buffer *
   kernel/events/core.c:7672:61: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected struct task_struct *p @@     got 
struct task_struct [noderef] __rcu *real_parent @@
   kernel/events/core.c:7672:61: sparse:     expected struct task_struct *p
   kernel/events/core.c:7672:61: sparse:     got struct task_struct [noderef] 
__rcu *real_parent
   kernel/events/core.c:7674:61: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected struct task_struct *p @@     got 
struct task_struct [noderef] __rcu *real_parent @@
   kernel/events/core.c:7674:61: sparse:     expected struct task_struct *p
   kernel/events/core.c:7674:61: sparse:     got struct task_struct [noderef] 
__rcu *real_parent
   kernel/events/core.c:8379:23: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:8379:23: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:8379:23: sparse:    struct perf_event_context *
   kernel/events/core.c:9343:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:9343:9: sparse:    struct swevent_hlist [noderef] __rcu 
*
   kernel/events/core.c:9343:9: sparse:    struct swevent_hlist *
   kernel/events/core.c:9382:17: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:9382:17: sparse:    struct swevent_hlist [noderef] 
__rcu *
   kernel/events/core.c:9382:17: sparse:    struct swevent_hlist *
   kernel/events/core.c:9563:23: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:9563:23: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:9563:23: sparse:    struct perf_event_context *
   kernel/events/core.c:10748:1: sparse: sparse: symbol 
'dev_attr_nr_addr_filters' was not declared. Should it be static?
   kernel/events/core.c:12489:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:12489:9: sparse:    struct perf_event_context [noderef] 
__rcu *
   kernel/events/core.c:12489:9: sparse:    struct perf_event_context *
   kernel/events/core.c:12599:17: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:12599:17: sparse:    struct perf_event_context 
[noderef] __rcu *
   kernel/events/core.c:12599:17: sparse:    struct perf_event_context *
   kernel/events/core.c:13022:17: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:13022:17: sparse:    struct swevent_hlist [noderef] 
__rcu *
   kernel/events/core.c:13022:17: sparse:    struct swevent_hlist *
   kernel/events/core.c:166:9: sparse: sparse: context imbalance in 
'perf_ctx_lock' - wrong count at exit
   kernel/events/core.c:174:17: sparse: sparse: context imbalance in 
'perf_ctx_unlock' - unexpected unlock
   kernel/events/core.c: note: in included file (through 
include/linux/rcupdate.h, include/linux/rculist.h, include/linux/dcache.h, ...):
>> include/linux/rcutiny.h:105:44: sparse: sparse: context imbalance in 
>> 'perf_lock_task_context' - different lock contexts for basic block
   kernel/events/core.c:1513:17: sparse: sparse: context imbalance in 
'perf_pin_task_context' - unexpected unlock
   kernel/events/core.c:2807:9: sparse: sparse: context imbalance in 
'__perf_install_in_context' - wrong count at exit
   kernel/events/core.c:4554:17: sparse: sparse: context imbalance in 
'find_get_context' - unexpected unlock
   kernel/events/core.c: note: in included file:
   kernel/events/internal.h:204:1: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected void const [noderef] __user *from @@ 
    got void const *buf @@
   kernel/events/core.c:9192:17: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:9192:17: sparse:    struct swevent_hlist [noderef] 
__rcu *
   kernel/events/core.c:9192:17: sparse:    struct swevent_hlist *
   kernel/events/core.c:9212:17: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:9212:17: sparse:    struct swevent_hlist [noderef] 
__rcu *
   kernel/events/core.c:9212:17: sparse:    struct swevent_hlist *
   kernel/events/core.c:9332:16: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:9332:16: sparse:    struct swevent_hlist [noderef] 
__rcu *
   kernel/events/core.c:9332:16: sparse:    struct swevent_hlist *
   kernel/events/core.c:9332:16: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:9332:16: sparse:    struct swevent_hlist [noderef] 
__rcu *
   kernel/events/core.c:9332:16: sparse:    struct swevent_hlist *
   kernel/events/core.c:9332:16: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   kernel/events/core.c:9332:16: sparse:    struct swevent_hlist [noderef] 
__rcu *
   kernel/events/core.c:9332:16: sparse:    struct swevent_hlist *

vim +/send_sigqueue +105 include/linux/rcutiny.h

5f192ab027a5d8 Paul E. McKenney 2017-05-03   75  
29ce831000081d Gleb Natapov     2011-05-04   76  /*
29ce831000081d Gleb Natapov     2011-05-04   77   * Take advantage of the fact 
that there is only one CPU, which
29ce831000081d Gleb Natapov     2011-05-04   78   * allows us to ignore 
virtualization-based context switches.
29ce831000081d Gleb Natapov     2011-05-04   79   */
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03   80  static inline void 
rcu_virt_note_context_switch(int cpu) { }
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03   81  static inline void 
rcu_cpu_stall_reset(void) { }
1b27291b1ea4f1 Paul E. McKenney 2018-07-18   82  static inline int 
rcu_jiffies_till_stall_check(void) { return 21 * HZ; }
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03   83  static inline void 
rcu_idle_enter(void) { }
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03   84  static inline void 
rcu_idle_exit(void) { }
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03   85  static inline void 
rcu_irq_enter(void) { }
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03   86  static inline void 
rcu_irq_exit_irqson(void) { }
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03   87  static inline void 
rcu_irq_enter_irqson(void) { }
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03   88  static inline void 
rcu_irq_exit(void) { }
07325d4a90d2d8 Thomas Gleixner  2020-05-21   89  static inline void 
rcu_irq_exit_check_preempt(void) { }
3fcd6a230fa7d0 Paul E. McKenney 2020-09-03   90  #define rcu_is_idle_cpu(cpu) \
3fcd6a230fa7d0 Paul E. McKenney 2020-09-03   91         (is_idle_task(current) 
&& !in_nmi() && !in_irq() && !in_serving_softirq())
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03   92  static inline void 
exit_rcu(void) { }
3e31009898699d Paul E. McKenney 2018-06-21   93  static inline bool 
rcu_preempt_need_deferred_qs(struct task_struct *t)
3e31009898699d Paul E. McKenney 2018-06-21   94  {
3e31009898699d Paul E. McKenney 2018-06-21   95         return false;
3e31009898699d Paul E. McKenney 2018-06-21   96  }
3e31009898699d Paul E. McKenney 2018-06-21   97  static inline void 
rcu_preempt_deferred_qs(struct task_struct *t) { }
825c5bd2fd47d3 Paul E. McKenney 2017-05-26   98  #ifdef CONFIG_SRCU
584dc4ce552677 Teodora Baluta   2013-11-11   99  void 
rcu_scheduler_starting(void);
825c5bd2fd47d3 Paul E. McKenney 2017-05-26  100  #else /* #ifndef CONFIG_SRCU */
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03  101  static inline void 
rcu_scheduler_starting(void) { }
825c5bd2fd47d3 Paul E. McKenney 2017-05-26  102  #endif /* #else #ifndef 
CONFIG_SRCU */
d2b1654f91f9e9 Paul E. McKenney 2017-05-11  103  static inline void 
rcu_end_inkernel_boot(void) { }
59ee0326ccf712 Paul E. McKenney 2019-11-28  104  static inline bool 
rcu_inkernel_boot_has_ended(void) { return true; }
71c40fd0b5ceb3 Paul E. McKenney 2017-05-03 @105  static inline bool 
rcu_is_watching(void) { return true; }
79ba7ff5a9925f Paul E. McKenney 2019-08-04  106  static inline void 
rcu_momentary_dyntick_idle(void) { }
a35d16905efc6a Byungchul Park   2019-08-05  107  static inline void 
kfree_rcu_scheduler_running(void) { }
6be7436d2245d3 Paul E. McKenney 2020-04-10  108  static inline bool 
rcu_gp_might_be_stalled(void) { return false; }
5c173eb8bcb9c1 Paul E. McKenney 2013-09-13  109  

:::::: The code at line 105 was first introduced by commit
:::::: 71c40fd0b5ceb300c6cb8753835d9d94a8bfc56f rcu: Move rcutiny.h to new 
empty/true/false-function style

:::::: TO: Paul E. McKenney <[email protected]>
:::::: CC: Paul E. McKenney <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to