Kernel
  Threads by month 
                
            - ----- 2025 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 59 participants
- 20963 discussions
 
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 2117/2117] kernel/sched/fair.c:8988:1: sparse: sparse: symbol 'qos_smt_expell_switch' was not declared. Should it be static?
                        
                        
by kernel test robot 11 Apr '25
                    by kernel test robot 11 Apr '25
11 Apr '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   62b846e657553d00552c1c71b6ecc26017eb1a9a
commit: a62d532da0b51fe39f726c4c08f3debc8b3bc5d7 [2117/2117] sched/fair: Add cmdline nosmtexpell
config: loongarch-randconfig-r121-20250411 (https://download.01.org/0day-ci/archive/20250411/202504111549.QczZh25x-lkp@…)
compiler: loongarch64-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20250411/202504111549.QczZh25x-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504111549.QczZh25x-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
   kernel/sched/fair.c:7727:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:7727:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:7727:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7727:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:7727:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:7727:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7727:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:1284:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct sched_entity const *se @@     got struct sched_entity [noderef] __rcu * @@
   kernel/sched/fair.c:1284:34: sparse:     expected struct sched_entity const *se
   kernel/sched/fair.c:1284:34: sparse:     got struct sched_entity [noderef] __rcu *
   kernel/sched/fair.c:13325: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/fair.c:13325:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:13325:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:5162:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:5162:25: sparse:    struct sparsemask [noderef] __rcu *
   kernel/sched/fair.c:5162:25: sparse:    struct sparsemask *
   kernel/sched/fair.c:5179:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:5179:25: sparse:    struct sparsemask [noderef] __rcu *
   kernel/sched/fair.c:5179:25: sparse:    struct sparsemask *
   kernel/sched/fair.c:13681:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:13681:25: sparse:    struct sparsemask [noderef] __rcu *
   kernel/sched/fair.c:13681:25: sparse:    struct sparsemask *
   kernel/sched/fair.c:6038:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:6038:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:6038:22: sparse:    struct task_struct *
   kernel/sched/fair.c:6780:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:6780:38: sparse:     expected struct task_struct *curr
   kernel/sched/fair.c:6780:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:7531:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7531:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7531:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7531:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7531:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7531:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7531:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7531:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7531:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7531:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7531:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7531:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7634:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7634:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7634:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7634:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7634:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7634:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7634:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7634:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7634:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7634:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7634:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7634:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8139:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:8139:32: sparse:     expected void *ptr
   kernel/sched/fair.c:8139:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8139:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:8139:32: sparse:     expected void *ptr
   kernel/sched/fair.c:8139:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8139:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:8139:32: sparse:     expected void *ptr
   kernel/sched/fair.c:8139:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8139:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:8139:32: sparse:     expected void *ptr
   kernel/sched/fair.c:8139:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8163:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:8163:20: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:8163:20: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:8478:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] tmp @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:8478:9: sparse:     expected struct sched_domain *[assigned] tmp
   kernel/sched/fair.c:8478:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:8590:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:8590:38: sparse:     expected struct task_struct *curr
   kernel/sched/fair.c:8590:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:8910:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8910:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8910:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8910:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8910:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8910:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8910:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8910:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8910:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8910:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8910:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8910:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8936:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:8936:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:8936:22: sparse:    struct task_struct *
   kernel/sched/fair.c:8972:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8972:13: sparse:     expected void *ptr
   kernel/sched/fair.c:8972:13: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8972:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8972:13: sparse:     expected void *ptr
   kernel/sched/fair.c:8972:13: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8972:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8972:13: sparse:     expected void *ptr
   kernel/sched/fair.c:8972:13: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8972:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8972:13: sparse:     expected void *ptr
   kernel/sched/fair.c:8972:13: sparse:     got int [noderef] __percpu *
>> kernel/sched/fair.c:8988:1: sparse: sparse: symbol 'qos_smt_expell_switch' was not declared. Should it be static?
   kernel/sched/fair.c:9122:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *sibling_p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:9122:51: sparse:     expected struct task_struct *sibling_p
   kernel/sched/fair.c:9122:51: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:9127:30: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:9127:30: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:9127:30: sparse:    struct task_struct *
   kernel/sched/fair.c:9205:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:9454:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:10525:40: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct sched_domain *child @@     got struct sched_domain [noderef] __rcu *child @@
   kernel/sched/fair.c:11162:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:11162:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:11162:22: sparse:    struct task_struct *
   kernel/sched/fair.c:12603: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/fair.c:12603:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:12603:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:12187:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12187:36: sparse:     expected void *ptr
   kernel/sched/fair.c:12187:36: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12187:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12187:36: sparse:     expected void *ptr
   kernel/sched/fair.c:12187:36: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12187:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12187:36: sparse:     expected void *ptr
   kernel/sched/fair.c:12187:36: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12187:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12187:36: sparse:     expected void *ptr
   kernel/sched/fair.c:12187:36: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12260:44: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct sched_domain *sd_parent @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:12260:44: sparse:     expected struct sched_domain *sd_parent
   kernel/sched/fair.c:12260:44: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:12264:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12264:32: sparse:     expected void *ptr
   kernel/sched/fair.c:12264:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12264:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12264:32: sparse:     expected void *ptr
   kernel/sched/fair.c:12264:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12264:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12264:32: sparse:     expected void *ptr
   kernel/sched/fair.c:12264:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12264:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12264:32: sparse:     expected void *ptr
   kernel/sched/fair.c:12264:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12699: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/fair.c:12699:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:12699:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c: note: in included file:
   kernel/sched/sched.h:2182:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2182:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2182:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2346:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2346:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2346:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2346:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2346:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2346:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2182:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2182:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2182:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2182:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2182:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2182:25: sparse:    struct task_struct *
vim +/qos_smt_expell_switch +8988 kernel/sched/fair.c
  8986	
  8987	#ifdef CONFIG_QOS_SCHED_SMT_EXPELLER
> 8988	DEFINE_STATIC_KEY_TRUE(qos_smt_expell_switch);
  8989	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        From: Ye Bin <yebin10(a)huawei.com>
mainline inclusion
from mainline-v6.14-rc6
commit 654b33ada4ab5e926cd9c570196fefa7bec7c1df
category: bugfix
bugzilla: 190521
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Fix race between rmmod and /proc/XXX's inode instantiation.
The bug is that pde->proc_ops don't belong to /proc, it belongs to a
module, therefore dereferencing it after /proc entry has been registered
is a bug unless use_pde/unuse_pde() pair has been used.
use_pde/unuse_pde can be avoided (2 atomic ops!) because pde->proc_ops
never changes so information necessary for inode instantiation can be
saved _before_ proc_register() in PDE itself and used later, avoiding
pde->proc_ops->...  dereference.
      rmmod                         lookup
sys_delete_module
                         proc_lookup_de
			   pde_get(de);
			   proc_get_inode(dir->i_sb, de);
  mod->exit()
    proc_remove
      remove_proc_subtree
       proc_entry_rundown(de);
  free_module(mod);
                               if (S_ISREG(inode->i_mode))
	                         if (de->proc_ops->proc_read_iter)
                           --> As module is already freed, will trigger UAF
BUG: unable to handle page fault for address: fffffbfff80a702b
PGD 817fc4067 P4D 817fc4067 PUD 817fc0067 PMD 102ef4067 PTE 0
Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 26 UID: 0 PID: 2667 Comm: ls Tainted: G
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
RIP: 0010:proc_get_inode+0x302/0x6e0
RSP: 0018:ffff88811c837998 EFLAGS: 00010a06
RAX: dffffc0000000000 RBX: ffffffffc0538140 RCX: 0000000000000007
RDX: 1ffffffff80a702b RSI: 0000000000000001 RDI: ffffffffc0538158
RBP: ffff8881299a6000 R08: 0000000067bbe1e5 R09: 1ffff11023906f20
R10: ffffffffb560ca07 R11: ffffffffb2b43a58 R12: ffff888105bb78f0
R13: ffff888100518048 R14: ffff8881299a6004 R15: 0000000000000001
FS:  00007f95b9686840(0000) GS:ffff8883af100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: fffffbfff80a702b CR3: 0000000117dd2000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 proc_lookup_de+0x11f/0x2e0
 __lookup_slow+0x188/0x350
 walk_component+0x2ab/0x4f0
 path_lookupat+0x120/0x660
 filename_lookup+0x1ce/0x560
 vfs_statx+0xac/0x150
 __do_sys_newstat+0x96/0x110
 do_syscall_64+0x5f/0x170
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
[adobriyan(a)gmail.com: don't do 2 atomic ops on the common path]
Link: https://lkml.kernel.org/r/3d25ded0-1739-447e-812b-e34da7990dcf@p183
Fixes: 778f3dd5a13c ("Fix procfs compat_ioctl regression")
Signed-off-by: Ye Bin <yebin10(a)huawei.com>
Signed-off-by: Alexey Dobriyan <adobriyan(a)gmail.com>
Cc: Al Viro <viro(a)zeniv.linux.org.uk>
Cc: David S. Miller <davem(a)davemloft.net>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akipm(a)linux-foundation.org>
Conflicts:
		fs/proc/internal.h
[ef1d61781bc67 not applied]
Signed-off-by: Yongjian Sun <sunyongjian1(a)huawei.com>
---
 fs/proc/generic.c       | 10 +++++++++-
 fs/proc/inode.c         |  6 +++---
 fs/proc/internal.h      | 14 ++++++++++++++
 include/linux/proc_fs.h |  7 +++++--
 4 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/fs/proc/generic.c b/fs/proc/generic.c
index 5898761698c2..7b6d9c77b425 100644
--- a/fs/proc/generic.c
+++ b/fs/proc/generic.c
@@ -563,10 +563,16 @@ struct proc_dir_entry *proc_create_reg(const char *name, umode_t mode,
 	return p;
 }
 
-static inline void pde_set_flags(struct proc_dir_entry *pde)
+static void pde_set_flags(struct proc_dir_entry *pde)
 {
 	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT)
 		pde->flags |= PROC_ENTRY_PERMANENT;
+	if (pde->proc_ops->proc_read_iter)
+		pde->flags |= PROC_ENTRY_proc_read_iter;
+#ifdef CONFIG_COMPAT
+	if (pde->proc_ops->proc_compat_ioctl)
+		pde->flags |= PROC_ENTRY_proc_compat_ioctl;
+#endif
 }
 
 struct proc_dir_entry *proc_create_data(const char *name, umode_t mode,
@@ -630,6 +636,7 @@ struct proc_dir_entry *proc_create_seq_private(const char *name, umode_t mode,
 	p->proc_ops = &proc_seq_ops;
 	p->seq_ops = ops;
 	p->state_size = state_size;
+	pde_set_flags(p);
 	return proc_register(parent, p);
 }
 EXPORT_SYMBOL(proc_create_seq_private);
@@ -660,6 +667,7 @@ struct proc_dir_entry *proc_create_single_data(const char *name, umode_t mode,
 		return NULL;
 	p->proc_ops = &proc_single_ops;
 	p->single_show = show;
+	pde_set_flags(p);
 	return proc_register(parent, p);
 }
 EXPORT_SYMBOL(proc_create_single_data);
diff --git a/fs/proc/inode.c b/fs/proc/inode.c
index bde6b6f69852..ba35ffc426ea 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -684,13 +684,13 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
 
 	if (S_ISREG(inode->i_mode)) {
 		inode->i_op = de->proc_iops;
-		if (de->proc_ops->proc_read_iter)
+		if (pde_has_proc_read_iter(de))
 			inode->i_fop = &proc_iter_file_ops;
 		else
 			inode->i_fop = &proc_reg_file_ops;
 #ifdef CONFIG_COMPAT
-		if (de->proc_ops->proc_compat_ioctl) {
-			if (de->proc_ops->proc_read_iter)
+		if (pde_has_proc_compat_ioctl(de)) {
+			if (pde_has_proc_read_iter(de))
 				inode->i_fop = &proc_iter_file_ops_compat;
 			else
 				inode->i_fop = &proc_reg_file_ops_compat;
diff --git a/fs/proc/internal.h b/fs/proc/internal.h
index 104945bbeb9f..c75d0db70a85 100644
--- a/fs/proc/internal.h
+++ b/fs/proc/internal.h
@@ -79,6 +79,20 @@ static inline bool pde_is_permanent(const struct proc_dir_entry *pde)
 	return pde->flags & PROC_ENTRY_PERMANENT;
 }
 
+static inline bool pde_has_proc_read_iter(const struct proc_dir_entry *pde)
+{
+	return pde->flags & PROC_ENTRY_proc_read_iter;
+}
+
+static inline bool pde_has_proc_compat_ioctl(const struct proc_dir_entry *pde)
+{
+#ifdef CONFIG_COMPAT
+	return pde->flags & PROC_ENTRY_proc_compat_ioctl;
+#else
+	return false;
+#endif
+}
+
 extern struct kmem_cache *proc_dir_entry_cache;
 void pde_free(struct proc_dir_entry *pde);
 
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
index 8c892730a1f1..9f8e0072b30f 100644
--- a/include/linux/proc_fs.h
+++ b/include/linux/proc_fs.h
@@ -20,10 +20,13 @@ enum {
 	 * If in doubt, ignore this flag.
 	 */
 #ifdef MODULE
-	PROC_ENTRY_PERMANENT = 0U,
+	PROC_ENTRY_PERMANENT		= 0U,
 #else
-	PROC_ENTRY_PERMANENT = 1U << 0,
+	PROC_ENTRY_PERMANENT		= 1U << 0,
 #endif
+
+	PROC_ENTRY_proc_read_iter	= 1U << 1,
+	PROC_ENTRY_proc_compat_ioctl	= 1U << 2,
 };
 
 struct proc_ops {
-- 
2.39.2
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            1
                            
                          
                          
                            
    
                          
                        
                    
                    
                        Patch#1 Allocate VM table and save vpeid in it
Patch#2 avoid sending multi-SGIs in IPIV
Patch#3 Set base address of vm table and targe ITS when vpe schedule and deschedule
Patch#4 Register ipiv exception interrupt
Patch#5 Add interface KVM_CAP_ARM_IPIV_MODE
Patch#6 Probe and configure IPIV capacity on HIP12
Patch#7 Use KABI_EXTEND to perform kabi repair for IPIV
Jinqian Yang (2):
  KVM: arm64: avoid sending multi-SGIs in IPIV
  kabi: Use KABI_EXTEND to perform kabi repair for IPIV
Xiang Chen (5):
  kvm: hisi_virt: Allocate VM table and save vpeid in it
  irqchip: gicv3-its: Set base address of vm table and targe ITS when
    vpe schedule and deschedule
  kvm: hisi_virt: Register ipiv exception interrupt
  kvm: arm64: Add interface KVM_CAP_ARM_IPIV_MODE
  kvm: hisi_virt: Probe and configure IPIV capacity on HIP12
 .../admin-guide/kernel-parameters.txt         |  3 +
 arch/arm64/include/asm/kvm_host.h             |  1 +
 arch/arm64/include/asm/sysreg.h               |  3 +
 arch/arm64/kvm/arm.c                          | 16 ++++
 arch/arm64/kvm/hisilicon/hisi_virt.c          | 38 ++++++++
 arch/arm64/kvm/hisilicon/hisi_virt.h          | 11 +++
 arch/arm64/kvm/sys_regs.c                     | 30 ++++--
 arch/arm64/kvm/vgic/vgic-init.c               | 44 ++++++++-
 arch/arm64/kvm/vgic/vgic-mmio-v3.c            |  2 +
 drivers/irqchip/irq-gic-v3-its.c              | 93 ++++++++++++++++++-
 drivers/irqchip/irq-gic-v3.c                  | 33 +++++++
 include/linux/irqchip/arm-gic-v3.h            | 24 +++++
 include/linux/irqchip/arm-gic-v4.h            |  2 +
 include/uapi/linux/kvm.h                      |  2 +
 14 files changed, 288 insertions(+), 14 deletions(-)
-- 
2.33.0
                    
                  
                  
                          
                            
                            3
                            
                          
                          
                            
                            9
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 2117/2117] kernel/sched/fair.c:9005:51: sparse: sparse: incorrect type in argument 1 (different address spaces)
                        
                        
by kernel test robot 11 Apr '25
                    by kernel test robot 11 Apr '25
11 Apr '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   62b846e657553d00552c1c71b6ecc26017eb1a9a
commit: c52c17a85f1fa9cde2bcb15359096634cfd9eb7c [2117/2117] sched: Add tracepoint for qos smt expeller
config: loongarch-randconfig-r121-20250411 (https://download.01.org/0day-ci/archive/20250411/202504111253.jKd4DxgW-lkp@…)
compiler: loongarch64-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20250411/202504111253.jKd4DxgW-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504111253.jKd4DxgW-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
   kernel/sched/fair.c:7685:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:7685:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:7685:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7685:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:7685:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:7685:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7685:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:1283:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct sched_entity const *se @@     got struct sched_entity [noderef] __rcu * @@
   kernel/sched/fair.c:1283:34: sparse:     expected struct sched_entity const *se
   kernel/sched/fair.c:1283:34: sparse:     got struct sched_entity [noderef] __rcu *
   kernel/sched/fair.c:13203: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/fair.c:13203:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:13203:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:5161:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:5161:25: sparse:    struct sparsemask [noderef] __rcu *
   kernel/sched/fair.c:5161:25: sparse:    struct sparsemask *
   kernel/sched/fair.c:5178:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:5178:25: sparse:    struct sparsemask [noderef] __rcu *
   kernel/sched/fair.c:5178:25: sparse:    struct sparsemask *
   kernel/sched/fair.c:13559:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:13559:25: sparse:    struct sparsemask [noderef] __rcu *
   kernel/sched/fair.c:13559:25: sparse:    struct sparsemask *
   kernel/sched/fair.c:6012:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:6012:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:6012:22: sparse:    struct task_struct *
   kernel/sched/fair.c:6754:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:6754:38: sparse:     expected struct task_struct *curr
   kernel/sched/fair.c:6754:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:7489:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7489:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7489:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7489:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7489:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7489:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7489:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7489:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7489:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7489:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7489:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7489:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7592:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7592:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7592:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7592:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7592:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7592:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7592:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7592:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7592:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7592:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7592:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7592:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8097:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:8097:32: sparse:     expected void *ptr
   kernel/sched/fair.c:8097:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8097:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:8097:32: sparse:     expected void *ptr
   kernel/sched/fair.c:8097:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8097:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:8097:32: sparse:     expected void *ptr
   kernel/sched/fair.c:8097:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8097:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:8097:32: sparse:     expected void *ptr
   kernel/sched/fair.c:8097:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:8121:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:8121:20: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:8121:20: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:8436:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] tmp @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:8436:9: sparse:     expected struct sched_domain *[assigned] tmp
   kernel/sched/fair.c:8436:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:8548:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:8548:38: sparse:     expected struct task_struct *curr
   kernel/sched/fair.c:8548:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:8774:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:8774:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:8774:22: sparse:    struct task_struct *
   kernel/sched/fair.c:8839:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8839:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8839:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8839:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8839:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8839:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8839:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8839:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8839:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8839:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8839:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8839:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8896:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8896:13: sparse:     expected void *ptr
   kernel/sched/fair.c:8896:13: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8896:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8896:13: sparse:     expected void *ptr
   kernel/sched/fair.c:8896:13: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8896:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8896:13: sparse:     expected void *ptr
   kernel/sched/fair.c:8896:13: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8896:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8896:13: sparse:     expected void *ptr
   kernel/sched/fair.c:8896:13: sparse:     got int [noderef] __percpu *
>> kernel/sched/fair.c:9005:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *sibling_p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:9005:51: sparse:     expected struct task_struct *sibling_p
   kernel/sched/fair.c:9005:51: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:9010:30: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:9010:30: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:9010:30: sparse:    struct task_struct *
   kernel/sched/fair.c:9084:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:9332:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:10403:40: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct sched_domain *child @@     got struct sched_domain [noderef] __rcu *child @@
   kernel/sched/fair.c:11040:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:11040:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:11040:22: sparse:    struct task_struct *
   kernel/sched/fair.c:12481: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/fair.c:12481:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:12481:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:12065:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12065:36: sparse:     expected void *ptr
   kernel/sched/fair.c:12065:36: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12065:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12065:36: sparse:     expected void *ptr
   kernel/sched/fair.c:12065:36: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12065:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12065:36: sparse:     expected void *ptr
   kernel/sched/fair.c:12065:36: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12065:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12065:36: sparse:     expected void *ptr
   kernel/sched/fair.c:12065:36: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12138:44: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct sched_domain *sd_parent @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:12138:44: sparse:     expected struct sched_domain *sd_parent
   kernel/sched/fair.c:12138:44: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:12142:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12142:32: sparse:     expected void *ptr
   kernel/sched/fair.c:12142:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12142:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12142:32: sparse:     expected void *ptr
   kernel/sched/fair.c:12142:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12142:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12142:32: sparse:     expected void *ptr
   kernel/sched/fair.c:12142:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12142:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:12142:32: sparse:     expected void *ptr
   kernel/sched/fair.c:12142:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:12577: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/fair.c:12577:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:12577:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c: note: in included file:
   kernel/sched/sched.h:2174:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2174:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2174:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2338:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2338:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2338:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2338:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2338:9: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2338:9: sparse:    struct task_struct *
   kernel/sched/sched.h:2174:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2174:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2174:25: sparse:    struct task_struct *
   kernel/sched/sched.h:2174:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/sched.h:2174:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/sched.h:2174:25: sparse:    struct task_struct *
vim +9005 kernel/sched/fair.c
  8984	
  8985	static bool _qos_smt_check_need_resched(int this_cpu, struct rq *rq)
  8986	{
  8987		int cpu;
  8988	
  8989		if (!sched_smt_active())
  8990			return false;
  8991	
  8992		for_each_cpu(cpu, cpu_smt_mask(this_cpu)) {
  8993			if (cpu == this_cpu)
  8994				continue;
  8995	
  8996			/*
  8997			* There are two cases rely on the set need_resched to drive away
  8998			* offline task:
  8999			* a) The qos_smt_status of siblings cpu is online, the task of curr cpu is offline;
  9000			* b) The qos_smt_status of siblings cpu is offline, the task of curr cpu is idle,
  9001			*    and current cpu only has SCHED_IDLE tasks enqueued.
  9002			*/
  9003			if (per_cpu(qos_smt_status, cpu) == QOS_LEVEL_ONLINE &&
  9004			    task_group(current)->qos_level < QOS_LEVEL_ONLINE) {
> 9005				trace_sched_qos_smt_expel(cpu_curr(cpu), per_cpu(qos_smt_status, cpu));
  9006				return true;
  9007			}
  9008	
  9009			if (per_cpu(qos_smt_status, cpu) == QOS_LEVEL_OFFLINE &&
  9010			    rq->curr == rq->idle && sched_idle_cpu(this_cpu)) {
  9011				trace_sched_qos_smt_expel(cpu_curr(cpu), per_cpu(qos_smt_status, cpu));
  9012				return true;
  9013			}
  9014		}
  9015	
  9016		return false;
  9017	}
  9018	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6] BUILD REGRESSION 62b846e657553d00552c1c71b6ecc26017eb1a9a
                        
                        
by kernel test robot 11 Apr '25
                    by kernel test robot 11 Apr '25
11 Apr '25
                    
                        tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 62b846e657553d00552c1c71b6ecc26017eb1a9a  !15611 Minimize xa_node allocation during xarry split
Error/Warning (recently discovered and may have been fixed):
    https://lore.kernel.org/oe-kbuild-all/202503151158.xNxBbX1r-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202503182233.88LCSaAj-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202503200858.XSvAPfQM-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202503201027.i8HE43EJ-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202503220823.mG13Rroz-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202503220924.Uw2cwpZV-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202503231106.ZSS1yt6E-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202503231154.d6j01UpO-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202503280313.olFyEFIT-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202503290855.eVbc4pVd-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202504012026.kzT6d2HZ-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202504101403.RKyoTq9Z-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202504101645.mRh7GNFb-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202504110226.FM6zQ8DE-lkp@intel.com
    https://lore.kernel.org/oe-kbuild-all/202504110741.FCO7H6rm-lkp@intel.com
    https://lore.kernel.org/oe-kbuild/202503271832.WycjTkRa-lkp@intel.com
    aarch64-linux-ld: Unexpected GOT/PLT entries detected!
    aarch64-linux-ld: Unexpected run-time procedure linkages detected!
    arch/arm64/kvm/virtcca_cvm.c:819:5: warning: no previous prototype for function 'virtcca_get_tmi_version' [-Wmissing-prototypes]
    arch/loongarch/mm/cache.c:69:29: warning: variable 'way_size' set but not used [-Wunused-but-set-variable]
    clang: warning: -Wl,-soname=linux-ilp32-vdso.so.1: 'linker' input unused [-Wunused-command-line-argument]
    drivers/coda/coda_pci.c:228: warning: Excess function parameter 'pdev' description in 'virtcca_pci_get_rom_size'
    drivers/coda/coda_pci.c:228: warning: Function parameter or member 'p' not described in 'virtcca_pci_get_rom_size'
    drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:545:5: error: no previous prototype for 'ps3_pci_init' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:899:5: error: no previous prototype for 'ps3_pci_init_complete' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:945:6: error: no previous prototype for 'ps3_pci_init_complete_exit' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/./linux/ps3_cli.c:108:9: error: function 'ps3stor_cli_printf' might be a candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format]
    drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1059:5: error: no previous prototype for 'ps3_dump_context_show' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:159:5: error: no previous prototype for 'ps3_dump_file_write' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:200:5: error: no previous prototype for 'ps3_dump_file_close' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:28:5: error: no previous prototype for 'ps3_dump_local_time' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:50:5: error: no previous prototype for 'ps3_dump_filename_build' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:76:5: error: no previous prototype for 'ps3_dump_file_open' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:131:6: error: no previous prototype for 'ps3_trigger_irq_poll' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:243:5: error: no previous prototype for 'ps3_resp_status_convert' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:403:6: error: no previous prototype for 'ps3_io_recv_ok_stat_inc' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:85:6: error: no previous prototype for 'ps3_cmd_stat_content_clear' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_debug.c:883:5: error: no previous prototype for 'ps3_dump_dir_length' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1581:5: error: no previous prototype for 'ps3_scsi_private_init_pd' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1663:5: error: no previous prototype for 'ps3_scsi_private_init_vd' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1632:5: error: no previous prototype for 'ps3_sas_expander_phys_refresh' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_instance_manager.c:669:60: error: 'snprintf' output may be truncated before the last format character [-Werror=format-truncation=]
    drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:147:6: error: no previous prototype for 'ps3_ioc_resource_prepare_hba' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:36:6: error: no previous prototype for 'ps3_ioc_resource_prepare_switch' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:88:6: error: no previous prototype for 'ps3_ioc_resource_prepare_raid' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:307:5: error: no previous prototype for 'ps3_hard_reset_to_ready' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:785:6: error: no previous prototype for 'ps3_clean_mgr_cmd' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_irq.c:21:27: error: 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' defined but not used [-Werror=unused-const-variable=]
    drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: 'PS3_INTERRUPT_CMD_ENABLE_MSIX' defined but not used [-Werror=unused-const-variable=]
    drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: 'PS3_INTERRUPT_MASK_DISABLE' defined but not used [-Werror=unused-const-variable=]
    drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: 'PS3_INTERRUPT_STATUS_EXIST_IRQ' defined but not used [-Werror=unused-const-variable=]
    drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: 'PS3_INTERRUPT_CLEAR_IRQ' defined but not used [-Werror=unused-const-variable=]
    drivers/scsi/linkdata/ps3stor/ps3_irq.c:27:27: error: 'PS3_SSD_IOPS_MSIX_VECTORS' defined but not used [-Werror=unused-const-variable=]
    drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: 'PS3_HDD_IOPS_MSIX_VECTORS' defined but not used [-Werror=unused-const-variable=]
    drivers/scsi/linkdata/ps3stor/ps3_module_para.c:609:14: error: no previous prototype for 'ps3_cli_ver_query' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:6: error: no previous prototype for 'ps3_qos_pd_waitq_ratio_update' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:15: error: no previous prototype for 'ps3_hba_qos_decision' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:6: error: no previous prototype for 'ps3_hba_qos_waitq_notify' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:6: error: no previous prototype for 'ps3_cmd_waitq_abort' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:211:1: error: no previous prototype for 'ps3_qos_cmd_waitq_get' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:6: error: no previous prototype for 'ps3_hba_qos_waitq_clear_all' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:6: error: no previous prototype for 'ps3_hba_qos_vd_init' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:6: error: no previous prototype for 'ps3_hba_qos_vd_reset' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:3023:6: error: no previous prototype for 'ps3_hba_qos_waitq_poll' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:3279:15: error: no previous prototype for 'ps3_raid_qos_decision' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:3334:6: error: no previous prototype for 'ps3_qos_mgrq_resend' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:15: error: no previous prototype for 'ps3_qos_vd_cmdword_get' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:3478:6: error: no previous prototype for 'ps3_raid_qos_waitq_notify' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:15: error: no previous prototype for 'ps3_qos_exclusive_cmdword_get' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:15: error: no previous prototype for 'ps3_qos_tg_decision' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:3821:15: error: no previous prototype for 'ps3_raid_qos_waitq_abort' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:4022:6: error: no previous prototype for 'ps3_raid_qos_waitq_clear_all' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:4083:6: error: no previous prototype for 'ps3_raid_qos_waitq_poll' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:15: error: no previous prototype for 'ps3_qos_all_pd_rc_get' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:6: error: no previous prototype for 'ps3_pd_quota_waitq_clear_all' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:6: error: no previous prototype for 'ps3_pd_quota_waitq_clean' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1173:5: error: no previous prototype for 'ps3_range_check_and_insert' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1231:5: error: no previous prototype for 'ps3_r1x_hash_range_lock' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1312:6: error: no previous prototype for 'ps3_r1x_hash_range_unlock' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:578:5: error: no previous prototype for 'ps3_r1x_hash_bit_check' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:678:6: error: no previous prototype for 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:730:5: error: no previous prototype for 'ps3_r1x_hash_bit_lock' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:988:6: error: no previous prototype for 'ps3_r1x_hash_bit_unlock' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:154:6: error: no previous prototype for 'rbtDelNodeDo' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_recovery.c:204:6: error: no previous prototype for 'ps3_recovery_irq_queue_destroy' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2700:6: error: no previous prototype for 'ps3_hard_recovery_state_finish' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_recovery.c:363:5: error: no previous prototype for 'ps3_recovery_state_transfer' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_recovery.c:72:30: error: no previous prototype for 'ps3_recovery_context_alloc' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_recovery.c:82:6: error: no previous prototype for 'ps3_recovery_context_free' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_recovery.c:88:6: error: no previous prototype for 'ps3_recovery_context_delete' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:407:5: error: no previous prototype for 'ps3_sas_update_phy_info' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1110:5: error: no previous prototype for 'ps3_wait_for_outstanding_complete' [-Werror=missing-prototypes]
    drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:876:6: error: no previous prototype for 'ps3_set_task_manager_busy' [-Werror=missing-prototypes]
    error: unknown target ABI 'ilp32'
    kismet: WARNING: unmet direct dependencies detected for ACPI_HOTPLUG_IGNORE_OSC when selected by X86
    kismet: WARNING: unmet direct dependencies detected for CRYPTO_DRBG_CTR when selected by CRYPTO_DEV_HISI_TRNG
    kismet: WARNING: unmet direct dependencies detected for HALTPOLL_CPUIDLE when selected by ARM64
    mm/mempolicy.c:3129:26: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
Unverified Error/Warning (likely false positive, kindly check if interested):
    drivers/hid/hid-thrustmaster.c:178 thrustmaster_interrupts() warn: possible memory leak of 'send_buf'
    mm/kasan/kasan_test.c:1186 rcu_uaf_reclaim() error: dereferencing freed memory 'fp' (line 1185)
    mm/oom_kill.c: linux/nmi.h is included more than once.
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
|   |-- arch-arm64-kvm-virtcca_cvm.c:warning:no-previous-prototype-for-function-virtcca_get_tmi_version
|   |-- drivers-coda-coda_pci.c:warning:Excess-function-parameter-pdev-description-in-virtcca_pci_get_rom_size
|   `-- drivers-coda-coda_pci.c:warning:Function-parameter-or-member-p-not-described-in-virtcca_pci_get_rom_size
|-- arm64-allnoconfig
|   |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_DRBG_CTR-when-selected-by-CRYPTO_DEV_HISI_TRNG
|   `-- kismet:WARNING:unmet-direct-dependencies-detected-for-HALTPOLL_CPUIDLE-when-selected-by-ARM64
|-- arm64-randconfig-004-20250410
|   |-- aarch64-linux-ld:Unexpected-GOT-PLT-entries-detected
|   `-- aarch64-linux-ld:Unexpected-run-time-procedure-linkages-detected
|-- arm64-randconfig-r054-20250411
|   |-- clang:warning:Wl-soname-linux-ilp32-vdso.so.:linker-input-unused
|   `-- error:unknown-target-ABI-ilp32
|-- loongarch-allmodconfig
|   |-- arch-loongarch-mm-cache.c:warning:variable-way_size-set-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete_exit
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli.c:error:function-ps3stor_cli_printf-might-be-a-candidate-for-gnu_printf-format-attribute
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-ps3_dump_context_show
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_close
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_open
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_write
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_filename_build
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_local_time
|   |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_resp_status_convert
|   |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_trigger_irq_poll
|   |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_cmd_stat_content_clear
|   |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_io_recv_ok_stat_inc
|   |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-ps3_dump_dir_length
|   |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_pd
|   |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_vd
|   |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-ps3_sas_expander_phys_refresh
|   |-- drivers-scsi-linkdata-ps3stor-ps3_instance_manager.c:error:snprintf-output-may-be-truncated-before-the-last-format-character
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_hba
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_raid
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_switch
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-ps3_hard_reset_to_ready
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-ps3_clean_mgr_cmd
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_HDD_IOPS_MSIX_VECTORS-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CLEAR_IRQ-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_ENABLE_MSIX-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_MASK_DISABLE-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_STATUS_EXIST_IRQ-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_SSD_IOPS_MSIX_VECTORS-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-ps3_cli_ver_query
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_cmd_waitq_abort
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_decision
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_init
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_reset
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_clear_all
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_notify
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_poll
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clean
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clear_all
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_all_pd_rc_get
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_cmd_waitq_get
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_exclusive_cmdword_get
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_mgrq_resend
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_pd_waitq_ratio_update
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_tg_decision
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_vd_cmdword_get
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_decision
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_abort
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_clear_all
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_notify
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_poll
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_conflict_queue_hash_bit_lock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_check
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_lock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_unlock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_lock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_unlock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_range_check_and_insert
|   |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-rbtDelNodeDo
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_hard_recovery_state_finish
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_alloc
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_delete
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_free
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_irq_queue_destroy
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_state_transfer
|   |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-ps3_sas_update_phy_info
|   |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_set_task_manager_busy
|   `-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_wait_for_outstanding_complete
|-- loongarch-allnoconfig
|   `-- arch-loongarch-mm-cache.c:warning:variable-way_size-set-but-not-used
|-- loongarch-allyesconfig
|   |-- arch-loongarch-mm-cache.c:warning:variable-way_size-set-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete_exit
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli.c:error:function-ps3stor_cli_printf-might-be-a-candidate-for-gnu_printf-format-attribute
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-ps3_dump_context_show
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_close
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_open
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_write
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_filename_build
|   |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_local_time
|   |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_resp_status_convert
|   |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_trigger_irq_poll
|   |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_cmd_stat_content_clear
|   |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_io_recv_ok_stat_inc
|   |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-ps3_dump_dir_length
|   |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_pd
|   |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_vd
|   |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-ps3_sas_expander_phys_refresh
|   |-- drivers-scsi-linkdata-ps3stor-ps3_instance_manager.c:error:snprintf-output-may-be-truncated-before-the-last-format-character
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_hba
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_raid
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_switch
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-ps3_hard_reset_to_ready
|   |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-ps3_clean_mgr_cmd
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_HDD_IOPS_MSIX_VECTORS-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CLEAR_IRQ-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_ENABLE_MSIX-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_MASK_DISABLE-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_STATUS_EXIST_IRQ-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_SSD_IOPS_MSIX_VECTORS-defined-but-not-used
|   |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-ps3_cli_ver_query
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_cmd_waitq_abort
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_decision
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_init
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_reset
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_clear_all
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_notify
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_poll
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clean
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clear_all
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_all_pd_rc_get
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_cmd_waitq_get
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_exclusive_cmdword_get
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_mgrq_resend
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_pd_waitq_ratio_update
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_tg_decision
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_vd_cmdword_get
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_decision
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_abort
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_clear_all
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_notify
|   |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_poll
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_conflict_queue_hash_bit_lock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_check
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_lock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_unlock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_lock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_unlock
|   |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_range_check_and_insert
|   |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-rbtDelNodeDo
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_hard_recovery_state_finish
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_alloc
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_delete
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_free
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_irq_queue_destroy
|   |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_state_transfer
|   |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-ps3_sas_update_phy_info
|   |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_set_task_manager_busy
|   `-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_wait_for_outstanding_complete
|-- loongarch-defconfig
|   `-- arch-loongarch-mm-cache.c:warning:variable-way_size-set-but-not-used
|-- loongarch-randconfig-001-20250410
|   `-- arch-loongarch-mm-cache.c:warning:variable-way_size-set-but-not-used
|-- loongarch-randconfig-002-20250410
|   `-- arch-loongarch-mm-cache.c:warning:variable-way_size-set-but-not-used
|-- loongarch-randconfig-r121-20250411
|   |-- arch-loongarch-mm-cache.c:warning:variable-way_size-set-but-not-used
|   |-- kernel-sched-fair.c:sparse:sparse:symbol-sysctl_sched_prio_load_balance_enabled-was-not-declared.-Should-it-be-static
|   |-- mm-memblock.c:sparse:sparse:symbol-memblock_alloc_range_nid_flags-was-not-declared.-Should-it-be-static
|   `-- mm-show_mem.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-ptr-got-int-noderef-__percpu
|-- loongarch-randconfig-r132-20250411
|   |-- arch-loongarch-mm-cache.c:warning:variable-way_size-set-but-not-used
|   |-- drivers-iommu-loongarch_iommu.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-void-confbase
|   |-- include-linux-if_caqm.h:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-short-usertype-caqm_hdr_info-got-restricted-__be16-usertype-h_caqm_info
|   |-- include-linux-if_caqm.h:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-short-usertype-got-restricted-__be16-usertype
|   |-- mm-memblock.c:sparse:sparse:symbol-memblock_alloc_range_nid_flags-was-not-declared.-Should-it-be-static
|   `-- mm-show_mem.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-ptr-got-int-noderef-__percpu
|-- x86_64-allnoconfig
|   |-- kismet:WARNING:unmet-direct-dependencies-detected-for-ACPI_HOTPLUG_IGNORE_OSC-when-selected-by-X86
|   `-- mm-oom_kill.c:linux-nmi.h-is-included-more-than-once.
|-- x86_64-defconfig
|   `-- mm-mempolicy.c:warning:writing-byte-into-a-region-of-size
|-- x86_64-randconfig-161-20250411
|   |-- drivers-hid-hid-thrustmaster.c-thrustmaster_interrupts()-warn:possible-memory-leak-of-send_buf
|   `-- mm-kasan-kasan_test.c-rcu_uaf_reclaim()-error:dereferencing-freed-memory-fp-(line-)
`-- x86_64-randconfig-r113-20250410
    |-- drivers-crypto-montage-tsse-tsse_dev_drv.c:sparse:sparse:symbol-dev_attr_tsse_image_load-was-not-declared.-Should-it-be-static
    |-- drivers-crypto-montage-tsse-tsse_ipc.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-got-unsigned-char-usertype-assigned-device_msg_d
    |-- drivers-crypto-montage-tsse-tsse_ipc_drv.c:sparse:sparse:cast-from-restricted-__le32
    |-- drivers-crypto-montage-tsse-tsse_ipc_drv.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
    |-- drivers-crypto-montage-tsse-tsse_ipc_drv.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-got-unsigned-char-usertype
    |-- drivers-crypto-montage-tsse-tsse_ipc_drv.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-msg-got-void-noderef-__iomem-d2h_msg
    |-- drivers-crypto-montage-tsse-tsse_ipc_drv.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-got-unsigned-char-usertype-addr
    |-- drivers-crypto-montage-tsse-tsse_ipc_hash.c:sparse:sparse:symbol-service_handle_table-was-not-declared.-Should-it-be-static
    `-- drivers-crypto-montage-tsse-tsse_ipc_hash.c:sparse:sparse:symbol-service_info_table-was-not-declared.-Should-it-be-static
elapsed time: 1461m
configs tested: 21
configs skipped: 123
tested configs:
arm64                           allmodconfig    clang-19
arm64                            allnoconfig    gcc-14.2.0
arm64                              defconfig    gcc-14.2.0
arm64                randconfig-001-20250410    clang-21
arm64                randconfig-002-20250410    clang-21
arm64                randconfig-003-20250410    gcc-6.5.0
arm64                randconfig-004-20250410    gcc-8.5.0
loongarch                       allmodconfig    gcc-14.2.0
loongarch                        allnoconfig    gcc-14.2.0
loongarch                          defconfig    gcc-14.2.0
loongarch            randconfig-001-20250410    gcc-12.4.0
loongarch            randconfig-002-20250410    gcc-12.4.0
x86_64                           allnoconfig    clang-20
x86_64                          allyesconfig    clang-20
x86_64     buildonly-randconfig-001-20250410    clang-20
x86_64     buildonly-randconfig-002-20250410    gcc-12
x86_64     buildonly-randconfig-003-20250410    clang-20
x86_64     buildonly-randconfig-004-20250410    clang-20
x86_64     buildonly-randconfig-005-20250410    clang-20
x86_64     buildonly-randconfig-006-20250410    clang-20
x86_64                             defconfig    gcc-11
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        From: Hongye Lin <linhongye(a)h-partners.com>
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IBZQQR
----------------------------------------------------------------------
The core CPU control framework supports runtime SMT control which
is not yet supported on arm64. Besides the general vulnerabilities
concerns we want this runtime control on our arm64 server for:
- better single CPU performance in some cases
- saving overall power consumption
This patchset implements it in the following aspects:
- Provides a default topology_is_primary_thread()
- support retrieve SMT thread number on OF based system
- support retrieve SMT thread number on ACPI based system
- select HOTPLUG_SMT for arm64
 
 Tests has been done on our ACPI based arm64 server and on ACPI/OF
 based QEMU VMs.
Yicong Yang (5):
  Revert "arm64: Kconfig: Enable HOTPLUG_SMT"
  cpu/SMT: Provide a default topology_is_primary_thread()
  arch_topology: Support SMT control for OF based system
  arm64: topology: Support SMT control on ACPI based system
  arm64: Kconfig: Enable HOTPLUG_SMT
 arch/arm64/Kconfig                     |  2 +-
 arch/arm64/configs/openeuler_defconfig |  1 -
 arch/arm64/kernel/topology.c           | 67 +++++++++++++++++++-------
 arch/powerpc/include/asm/topology.h    |  1 +
 arch/x86/include/asm/topology.h        |  3 +-
 drivers/base/arch_topology.c           | 61 +++++++----------------
 include/linux/arch_topology.h          | 14 ------
 include/linux/topology.h               | 24 +++++++++
 8 files changed, 94 insertions(+), 79 deletions(-)
-- 
2.33.0
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            6
                            
                          
                          
                            
    
                          
                        
                    
                    
                        mainline inclusion
from mainline-v6.12-rc3
commit 654b33ada4ab5e926cd9c570196fefa7bec7c1df
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBYOFS
CVE: CVE-2025-21999
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Fix race between rmmod and /proc/XXX's inode instantiation.
The bug is that pde->proc_ops don't belong to /proc, it belongs to a
module, therefore dereferencing it after /proc entry has been registered
is a bug unless use_pde/unuse_pde() pair has been used.
use_pde/unuse_pde can be avoided (2 atomic ops!) because pde->proc_ops
never changes so information necessary for inode instantiation can be
saved _before_ proc_register() in PDE itself and used later, avoiding
pde->proc_ops->...  dereference.
      rmmod                         lookup
sys_delete_module
                         proc_lookup_de
			   pde_get(de);
			   proc_get_inode(dir->i_sb, de);
  mod->exit()
    proc_remove
      remove_proc_subtree
       proc_entry_rundown(de);
  free_module(mod);
                               if (S_ISREG(inode->i_mode))
	                         if (de->proc_ops->proc_read_iter)
                           --> As module is already freed, will trigger UAF
BUG: unable to handle page fault for address: fffffbfff80a702b
PGD 817fc4067 P4D 817fc4067 PUD 817fc0067 PMD 102ef4067 PTE 0
Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 26 UID: 0 PID: 2667 Comm: ls Tainted: G
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
RIP: 0010:proc_get_inode+0x302/0x6e0
RSP: 0018:ffff88811c837998 EFLAGS: 00010a06
RAX: dffffc0000000000 RBX: ffffffffc0538140 RCX: 0000000000000007
RDX: 1ffffffff80a702b RSI: 0000000000000001 RDI: ffffffffc0538158
RBP: ffff8881299a6000 R08: 0000000067bbe1e5 R09: 1ffff11023906f20
R10: ffffffffb560ca07 R11: ffffffffb2b43a58 R12: ffff888105bb78f0
R13: ffff888100518048 R14: ffff8881299a6004 R15: 0000000000000001
FS:  00007f95b9686840(0000) GS:ffff8883af100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: fffffbfff80a702b CR3: 0000000117dd2000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 proc_lookup_de+0x11f/0x2e0
 __lookup_slow+0x188/0x350
 walk_component+0x2ab/0x4f0
 path_lookupat+0x120/0x660
 filename_lookup+0x1ce/0x560
 vfs_statx+0xac/0x150
 __do_sys_newstat+0x96/0x110
 do_syscall_64+0x5f/0x170
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
[adobriyan(a)gmail.com: don't do 2 atomic ops on the common path]
Link: https://lkml.kernel.org/r/3d25ded0-1739-447e-812b-e34da7990dcf@p183
Fixes: 778f3dd5a13c ("Fix procfs compat_ioctl regression")
Signed-off-by: Ye Bin <yebin10(a)huawei.com>
Signed-off-by: Alexey Dobriyan <adobriyan(a)gmail.com>
Cc: Al Viro <viro(a)zeniv.linux.org.uk>
Cc: David S. Miller <davem(a)davemloft.net>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Conflicts:
        fs/proc/inode.c
	fs/proc/generic.c
	fs/proc/internal.h
	include/linux/proc_fs.h
[The pre-patch d919b33dafb3 ("proc: faster open/read/close with "permanent"
files") is not imported.]
Signed-off-by: Yongjian Sun <sunyongjian1(a)huawei.com>
---
 fs/proc/inode.c | 9 +++++++++
 1 file changed, 9 insertions(+)
diff --git a/fs/proc/inode.c b/fs/proc/inode.c
index 31bf3bb8ddae..7d225a2b8b2a 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -462,6 +462,14 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
 			make_empty_dir_inode(inode);
 			return inode;
 		}
+
+		if (!use_pde(de)) {
+			PROC_I(inode)->pde = NULL;
+			pde_put(de);
+			iput(inode);
+			return NULL;
+		}
+
 		if (de->mode) {
 			inode->i_mode = de->mode;
 			inode->i_uid = de->uid;
@@ -486,6 +494,7 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
 				inode->i_fop = de->proc_fops;
 			}
 		}
+		unuse_pde(de);
 	} else
 	       pde_put(de);
 	return inode;
-- 
2.39.2
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            1
                            
                          
                          
                            
    
                          
                        
                    
                    
                        This series includes adding Motorcomm YT6801 Gigabit ethernet driver
and adding yt6801 ethernet driver entry in MAINTAINERS file.
YT6801 integrates a YT8531S phy.
Frank Sae (14):
  yt6801: Add support for a pci table in this module
  yt6801: Implement mdio register
  yt6801: Implement pci_driver shutdown
  yt6801: Implement the fxgmac_init function
  yt6801: Implement the .ndo_open function
  yt6801: Implement the fxgmac_start function
  net:phy:motorcomm: Add PHY_INTERFACE_MODE_INTERNAL to support YT6801
  yt6801: Implement the fxgmac_hw_init function
  yt6801: Implement the poll functions
  yt6801: Implement .ndo_start_xmit function
  yt6801: Implement some net_device_ops function
  yt6801: Implement pci_driver suspend and resume
  yt6801: Add makefile and Kconfig
  yt6801: Update the Makefile, Kconfig and maintainer for yt6801
 MAINTAINERS                                   |    8 +
 arch/arm64/configs/openeuler_defconfig        |    4 +-
 arch/powerpc/configs/openeuler_defconfig      |    4 +-
 arch/riscv/configs/openeuler_defconfig        |    4 +-
 arch/x86/configs/openeuler_defconfig          |    4 +-
 drivers/net/ethernet/Kconfig                  |    1 +
 drivers/net/ethernet/Makefile                 |    1 +
 drivers/net/ethernet/motorcomm/Kconfig        |   27 +
 drivers/net/ethernet/motorcomm/Makefile       |    6 +
 .../net/ethernet/motorcomm/yt6801/Makefile    |    8 +
 .../ethernet/motorcomm/yt6801/yt6801_desc.c   |  565 +++
 .../ethernet/motorcomm/yt6801/yt6801_desc.h   |   35 +
 .../ethernet/motorcomm/yt6801/yt6801_main.c   | 3020 +++++++++++++++++
 .../ethernet/motorcomm/yt6801/yt6801_type.h   |  957 ++++++
 drivers/net/phy/motorcomm.c                   |    6 +
 15 files changed, 4646 insertions(+), 4 deletions(-)
 create mode 100644 drivers/net/ethernet/motorcomm/Kconfig
 create mode 100644 drivers/net/ethernet/motorcomm/Makefile
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/Makefile
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_desc.c
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_desc.h
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_main.c
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_type.h
-- 
2.34.1
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            15
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 2117/2117] kernel/sched/fair.c:151:14: sparse: sparse: symbol 'sysctl_sched_prio_load_balance_enabled' was not declared. Should it be static?
                        
                        
by kernel test robot 11 Apr '25
                    by kernel test robot 11 Apr '25
11 Apr '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   62b846e657553d00552c1c71b6ecc26017eb1a9a
commit: 89bf80a4d6d5ba852b9042480e0be23c2c4a628c [2117/2117] sched: Introduce priority load balance for qos scheduler
config: loongarch-randconfig-r121-20250411 (https://download.01.org/0day-ci/archive/20250411/202504110741.FCO7H6rm-lkp@…)
compiler: loongarch64-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20250411/202504110741.FCO7H6rm-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504110741.FCO7H6rm-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
   kernel/sched/fair.c:143:14: sparse: sparse: symbol 'sysctl_overload_detect_period' was not declared. Should it be static?
   kernel/sched/fair.c:144:14: sparse: sparse: symbol 'sysctl_offline_wait_interval' was not declared. Should it be static?
>> kernel/sched/fair.c:151:14: sparse: sparse: symbol 'sysctl_sched_prio_load_balance_enabled' was not declared. Should it be static?
   kernel/sched/fair.c:7578:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/sched/fair.c:7578:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7578:9: sparse:     got unsigned int [noderef] __percpu *
   kernel/sched/fair.c:7578:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/sched/fair.c:7578:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7578:9: sparse:     got unsigned int [noderef] __percpu *
   kernel/sched/fair.c:7578:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/sched/fair.c:7578:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7578:9: sparse:     got unsigned int [noderef] __percpu *
   kernel/sched/fair.c:7578:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got unsigned int [noderef] __percpu * @@
   kernel/sched/fair.c:7578:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7578:9: sparse:     got unsigned int [noderef] __percpu *
   kernel/sched/fair.c:7578:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:7578:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7578:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:7578:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:7578:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7578:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:7578:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:7578:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7578:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:7578:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:7578:9: sparse:     expected void *ptr
   kernel/sched/fair.c:7578:9: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:1271:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct sched_entity const *se @@     got struct sched_entity [noderef] __rcu * @@
   kernel/sched/fair.c:1271:34: sparse:     expected struct sched_entity const *se
   kernel/sched/fair.c:1271:34: sparse:     got struct sched_entity [noderef] __rcu *
   kernel/sched/fair.c:12846: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/fair.c:12846:9: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:12846:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:5925:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:5925:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:5925:22: sparse:    struct task_struct *
   kernel/sched/fair.c:6667:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:6667:38: sparse:     expected struct task_struct *curr
   kernel/sched/fair.c:6667:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:7396:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7396:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7396:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7396:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7396:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7396:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7396:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7396:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7396:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7396:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7396:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7396:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7499:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7499:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7499:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7499:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7499:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7499:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7499:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7499:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7499:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7499:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7499:16: sparse:     expected void *ptr
   kernel/sched/fair.c:7499:16: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7974:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7974:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7974:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7974:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7974:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7974:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7974:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7974:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7974:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7974:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got struct cpumask *[noderef] __percpu * @@
   kernel/sched/fair.c:7974:32: sparse:     expected void *ptr
   kernel/sched/fair.c:7974:32: sparse:     got struct cpumask *[noderef] __percpu *
   kernel/sched/fair.c:7998:20: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] sd @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:7998:20: sparse:     expected struct sched_domain *[assigned] sd
   kernel/sched/fair.c:7998:20: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:8310:9: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct sched_domain *[assigned] tmp @@     got struct sched_domain [noderef] __rcu *parent @@
   kernel/sched/fair.c:8310:9: sparse:     expected struct sched_domain *[assigned] tmp
   kernel/sched/fair.c:8310:9: sparse:     got struct sched_domain [noderef] __rcu *parent
   kernel/sched/fair.c:8421:38: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *curr @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/fair.c:8421:38: sparse:     expected struct task_struct *curr
   kernel/sched/fair.c:8421:38: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/fair.c:8641:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/fair.c:8641:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/fair.c:8641:22: sparse:    struct task_struct *
   kernel/sched/fair.c:8706:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8706:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8706:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8706:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8706:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8706:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8706:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8706:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8706:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8706:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8706:16: sparse:     expected void *ptr
   kernel/sched/fair.c:8706:16: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8763:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
   kernel/sched/fair.c:8763:13: sparse:     expected void *ptr
   kernel/sched/fair.c:8763:13: sparse:     got int [noderef] __percpu *
   kernel/sched/fair.c:8763:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *ptr @@     got int [noderef] __percpu * @@
vim +/sysctl_sched_prio_load_balance_enabled +151 kernel/sched/fair.c
   149	
   150	#ifdef CONFIG_QOS_SCHED_PRIO_LB
 > 151	unsigned int sysctl_sched_prio_load_balance_enabled;
   152	#endif
   153	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 2117/2117] drivers/iommu/loongarch_iommu.c:1292:22: sparse: sparse: incorrect type in argument 1 (different address spaces)
                        
                        
by kernel test robot 11 Apr '25
                    by kernel test robot 11 Apr '25
11 Apr '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   62b846e657553d00552c1c71b6ecc26017eb1a9a
commit: 72fe4978ee346c10869113410da1b61710dd8d8f [2117/2117] LoongArch: add iommu support
config: loongarch-randconfig-r132-20250411 (https://download.01.org/0day-ci/archive/20250411/202504110226.FM6zQ8DE-lkp@…)
compiler: loongarch64-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20250411/202504110226.FM6zQ8DE-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504110226.FM6zQ8DE-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
   drivers/iommu/loongarch_iommu.c:108:9: sparse: sparse: symbol 'la_iommu_last_bdf' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:112:5: sparse: sparse: symbol 'loongarch_iommu_disable' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:130:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:130:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:130:15: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:132:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:132:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:132:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:135:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:135:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:135:15: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:137:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:137:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:137:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:150:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:150:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:150:15: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:152:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:152:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:152:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:155:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:155:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:155:15: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:157:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:157:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:157:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:160:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:160:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:160:15: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:162:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:162:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:162:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:190:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:190:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:190:15: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:193:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:193:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:193:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:196:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:196:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:196:15: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:199:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:199:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:199:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:206:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:206:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:206:15: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:306:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:306:17: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:306:17: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:310:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:310:17: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:310:17: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:312:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:312:23: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:312:23: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:314:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:314:17: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:314:17: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:322:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:322:23: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:322:23: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:325:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:325:17: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:325:17: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:327:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:327:23: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:327:23: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:329:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:329:17: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:329:17: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:349:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:349:15: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:349:15: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:352:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:352:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:352:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:610:6: sparse: sparse: symbol 'domain_deattach_iommu' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:651:28: sparse: sparse: symbol 'lookup_rlooptable' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:662:24: sparse: sparse: symbol 'find_iommu_by_dev' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:721:21: sparse: sparse: symbol 'la_iommu_probe_device' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:752:19: sparse: sparse: symbol 'get_iommu_info_from_dom' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:794:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:794:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:794:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:795:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:795:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:795:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:796:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/iommu/loongarch_iommu.c:796:9: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:796:9: sparse:     got void *
   drivers/iommu/loongarch_iommu.c:1178:24: sparse: sparse: symbol 'la_iommu_ops' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:1197:24: sparse: sparse: symbol 'loongarch_get_iommu_by_devid' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:1215:6: sparse: sparse: symbol 'check_device_compat' was not declared. Should it be static?
   drivers/iommu/loongarch_iommu.c:1259:25: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *confbase @@     got void [noderef] __iomem * @@
   drivers/iommu/loongarch_iommu.c:1259:25: sparse:     expected void *confbase
   drivers/iommu/loongarch_iommu.c:1259:25: sparse:     got void [noderef] __iomem *
>> drivers/iommu/loongarch_iommu.c:1292:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *confbase @@
   drivers/iommu/loongarch_iommu.c:1292:22: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:1292:22: sparse:     got void *confbase
   drivers/iommu/loongarch_iommu.c:1319:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *confbase @@
   drivers/iommu/loongarch_iommu.c:1319:30: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/iommu/loongarch_iommu.c:1319:30: sparse:     got void *confbase
   drivers/iommu/loongarch_iommu.c:1344:28: sparse: sparse: symbol 'create_rlookup_entry' was not declared. Should it be static?
vim +1292 drivers/iommu/loongarch_iommu.c
  1223	
  1224	static int loongarch_iommu_probe(struct pci_dev *pdev,
  1225					const struct pci_device_id *ent)
  1226	{
  1227		int ret = 1;
  1228		int bitmap_sz = 0;
  1229		int tmp;
  1230		bool compat = false;
  1231		struct loongarch_iommu *iommu = NULL;
  1232		resource_size_t base, size;
  1233	
  1234		iommu = loongarch_get_iommu_by_devid(pdev);
  1235		if (iommu == NULL) {
  1236			pci_info(pdev, "%s can't find iommu\n", __func__);
  1237			return -ENODEV;
  1238		}
  1239	
  1240		compat = check_device_compat(pdev);
  1241		if (!compat) {
  1242			pci_info(pdev,
  1243			"%s The iommu driver is not compatible with this device\n",
  1244			__func__);
  1245			return -ENODEV;
  1246		}
  1247	
  1248		iommu->pdev = pdev;
  1249		base = pci_resource_start(pdev, 0);
  1250		size = pci_resource_len(pdev, 0);
  1251		if (!request_mem_region(base, size, "loongarch_iommu")) {
  1252			pci_err(pdev,
  1253			"%d can't reserve mmio registers base %llx size %llx\n",
  1254			__LINE__, base, size);
  1255			return -ENOMEM;
  1256		}
  1257		iommu->confbase_phy = base;
  1258		iommu->conf_size = size;
  1259		iommu->confbase = ioremap(base, size);
  1260		if (iommu->confbase == NULL) {
  1261			pci_info(pdev, "%s iommu pci dev bar0 is NULL\n", __func__);
  1262			return ret;
  1263		}
  1264	
  1265		pr_info("iommu confbase %llx pgtsize %llx\n",
  1266				(u64)iommu->confbase, size);
  1267		tmp = MAX_DOMAIN_ID / 8;
  1268		bitmap_sz = (MAX_DOMAIN_ID % 8) ? (tmp + 1) : tmp;
  1269		iommu->domain_bitmap = bitmap_zalloc(bitmap_sz, GFP_KERNEL);
  1270		if (iommu->domain_bitmap == NULL) {
  1271			pr_err("LA-IOMMU: domain bitmap alloc err bitmap_sz:%d\n",
  1272									bitmap_sz);
  1273			goto out_err;
  1274		}
  1275	
  1276		tmp = MAX_ATTACHED_DEV_ID / 8;
  1277		bitmap_sz = (MAX_ATTACHED_DEV_ID % 8) ? (tmp + 1) : tmp;
  1278		iommu->devtable_bitmap = bitmap_zalloc(bitmap_sz, GFP_KERNEL);
  1279		if (iommu->devtable_bitmap == NULL) {
  1280			pr_err("LA-IOMMU: devtable bitmap alloc err bitmap_sz:%d\n",
  1281									bitmap_sz);
  1282			goto out_err_1;
  1283		}
  1284	
  1285		ret = iommu_device_sysfs_add(&iommu->iommu_dev, &pdev->dev,
  1286			       NULL, "ivhd-%#x", iommu->devid);
  1287		iommu_device_register(&iommu->iommu_dev, &la_iommu_ops, NULL);
  1288		return 0;
  1289	
  1290	out_err_1:
  1291		iommu->pdev = NULL;
> 1292		iounmap(iommu->confbase);
  1293		iommu->confbase = NULL;
  1294		release_mem_region(iommu->confbase_phy, iommu->conf_size);
  1295		iommu->confbase_phy = 0;
  1296		iommu->conf_size = 0;
  1297		kfree(iommu->domain_bitmap);
  1298		iommu->domain_bitmap = NULL;
  1299	out_err:
  1300		return ret;
  1301	}
  1302	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                     
                        
                     
                        
                    