Kernel
  Threads by month 
                
            - ----- 2025 -----
 - November
 - 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
 
- 28 participants
 - 21058 discussions
 
                        
                            
                                
                            
                            [PATCH OLK-6.6] tracing/kprobe: Make trace_kprobe's module callback called after jump_label update
                        
                        
by Pu Lehui 22 Jan '25
                    by Pu Lehui 22 Jan '25
22 Jan '25
                    
                        From: "Masami Hiramatsu (Google)" <mhiramat(a)kernel.org>
stable inclusion
from stable-v6.6.69
commit d4d67fa7158daedfe0dbb264beb39238477f4023
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBJ86N
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit d685d55dfc86b1a4bdcec77c3c1f8a83f181264e ]
Make sure the trace_kprobe's module notifer callback function is called
after jump_label's callback is called. Since the trace_kprobe's callback
eventually checks jump_label address during registering new kprobe on
the loading module, jump_label must be updated before this registration
happens.
Link: https://lore.kernel.org/all/173387585556.995044.3157941002975446119.stgit@d…
Fixes: 614243181050 ("tracing/kprobes: Support module init function probing")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
 kernel/trace/trace_kprobe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index e3684eab3745..19da97098383 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -702,7 +702,7 @@ static int trace_kprobe_module_callback(struct notifier_block *nb,
 
 static struct notifier_block trace_kprobe_module_nb = {
 	.notifier_call = trace_kprobe_module_callback,
-	.priority = 1	/* Invoked after kprobe module callback */
+	.priority = 2	/* Invoked after kprobe and jump_label module callback */
 };
 
 static int count_symbols(void *data, unsigned long unused)
-- 
2.34.1
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            1
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 1834/1834] drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:261:37: sparse: sparse: incorrect type in assignment (different address spaces)
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   75c81bcddd82381fbd4cef477a5b56eb2fe56697
commit: f0db1bf5852542c46c16d0b305193069e265f769 [1834/1834] Huawei BMA: Adding Huawei BMA driver: host_edma_drv
config: x86_64-randconfig-121-20250122 (https://download.01.org/0day-ci/archive/20250122/202501220955.ixdK6Dao-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220955.ixdK6Dao-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/202501220955.ixdK6Dao-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:450:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:460:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:461:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:67:5: sparse: sparse: symbol 'edma_param_get_statics' was not declared. Should it be static?
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:103:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:114:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:125:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:185:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:192:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:201:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:214:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:251:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:259:14: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:258:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *edma_swap_addr @@     got unsigned char * @@
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:258:37: sparse:     expected void [noderef] __iomem *edma_swap_addr
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:258:37: sparse:     got unsigned char *
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:262:14: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:261:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *veth_swap_addr @@     got unsigned char * @@
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:261:37: sparse:     expected void [noderef] __iomem *veth_swap_addr
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:261:37: sparse:     got unsigned char *
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:282:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:292:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:303:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:316:17: sparse: sparse: Using plain integer as NULL pointer
>> drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:328:5: sparse: sparse: symbol 'pme_pci_enable_msi' was not declared. Should it be static?
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:361:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:375:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:354:5: sparse: sparse: symbol 'pci_device_init' was not declared. Should it be static?
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:399:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:405:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:412:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:383:5: sparse: sparse: symbol 'pci_device_config' was not declared. Should it be static?
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:509:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:513:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:505:12: sparse: sparse: symbol 'bma_pci_init' was not declared. Should it be static?
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:520:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:518:13: sparse: sparse: symbol 'bma_pci_cleanup' was not declared. Should it be static?
--
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:108:16: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:110:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:131:35: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:136:28: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:147:16: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:254:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:413:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:581:6: sparse: sparse: symbol 'host_dma_transfer_without_list' was not declared. Should it be static?
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:629:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:608:6: sparse: sparse: symbol 'host_dma_transfer_withlist' was not declared. Should it be static?
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:653:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:668:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:708:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:716:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:748:25: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:754:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:759:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:765:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:777:27: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:791:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:810:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:852:35: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:859:49: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:869:49: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:876:33: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:960:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:966:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:996:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1046:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1050:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1061:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1087:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1102:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1126:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1138:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1160:25: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1162:44: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1165:22: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1166:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned char * @@
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1166:33: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1166:33: sparse:     got unsigned char *
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned char * @@
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse:     got unsigned char *
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1169:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse:     got void *
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1181:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1186:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1196:33: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1200:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1201:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1203:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1217:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1218:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1219:25: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void * @@
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse:     got void *
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1272:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1282:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1287:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1299:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1356:17: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1372:23: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1371:35: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *edma_send_addr @@     got void * @@
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1371:35: sparse:     expected void [noderef] __iomem *edma_send_addr
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1371:35: sparse:     got void *
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem *edma_send_addr @@
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse:     expected void const *
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse:     got void [noderef] __iomem *edma_send_addr
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const * @@     got void [noderef] __iomem *edma_send_addr @@
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse:     expected void const *
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse:     got void [noderef] __iomem *edma_send_addr
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *p @@     got void [noderef] __iomem *edma_send_addr @@
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse:     expected void *p
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse:     got void [noderef] __iomem *edma_send_addr
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1377:23: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1376:35: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *edma_recv_addr @@     got void * @@
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1376:35: sparse:     expected void [noderef] __iomem *edma_recv_addr
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1376:35: sparse:     got void *
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1380:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1406:16: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1413:9: sparse: sparse: Using plain integer as NULL pointer
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1442:16: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
vim +261 drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c
   177	
   178	static int ioremap_pme_bar1_mem(struct pci_dev *pdev,
   179					struct bma_pci_dev_s *bma_pci_dev)
   180	{
   181		unsigned long bar1_resource_flag = 0;
   182		u32 data = 0;
   183	
   184		bma_pci_dev->kbox_base_len = PCI_PME_USEABLE_SPACE;
   185		BMA_LOG(DLOG_DEBUG, "1710\n");
   186	
   187		bma_pci_dev->bma_base_phy_addr =
   188		    pci_resource_start(pdev, PCI_BAR1);
   189		bar1_resource_flag = pci_resource_flags(pdev, PCI_BAR1);
   190	
   191		if (!(bar1_resource_flag & IORESOURCE_MEM)) {
   192			BMA_LOG(DLOG_ERROR,
   193				"Cannot find proper PCI device base address, aborting\n");
   194			return -ENODEV;
   195		}
   196	
   197		bma_pci_dev->bma_base_len = pci_resource_len(pdev, PCI_BAR1);
   198		bma_pci_dev->edma_swap_len = EDMA_SWAP_DATA_SIZE;
   199		bma_pci_dev->veth_swap_len = VETH_SWAP_DATA_SIZE;
   200	
   201		BMA_LOG(DLOG_DEBUG,
   202			"bar1: bma_base_len = 0x%lx, edma_swap_len = %ld, veth_swap_len = %ld(0x%lx)\n",
   203			bma_pci_dev->bma_base_len, bma_pci_dev->edma_swap_len,
   204			bma_pci_dev->veth_swap_len, bma_pci_dev->veth_swap_len);
   205	
   206		bma_pci_dev->hostrtc_phyaddr = bma_pci_dev->bma_base_phy_addr;
   207		/* edma */
   208		bma_pci_dev->edma_swap_phy_addr =
   209			bma_pci_dev->bma_base_phy_addr + EDMA_SWAP_BASE_OFFSET;
   210		/* veth */
   211		bma_pci_dev->veth_swap_phy_addr =
   212			bma_pci_dev->edma_swap_phy_addr + EDMA_SWAP_DATA_SIZE;
   213	
   214		BMA_LOG(DLOG_DEBUG,
   215			"bar1: hostrtc_phyaddr = 0x%lx, edma_swap_phy_addr = 0x%lx, veth_swap_phy_addr = 0x%lx\n",
   216			bma_pci_dev->hostrtc_phyaddr,
   217			bma_pci_dev->edma_swap_phy_addr,
   218			bma_pci_dev->veth_swap_phy_addr);
   219	
   220		__atu_config_H(pdev, 0,
   221			       GET_HIGH_ADDR(bma_pci_dev->kbox_base_phy_addr),
   222				(bma_pci_dev->kbox_base_phy_addr & 0xffffffff),
   223			0, PCI_BAR0_PME_1710, PCI_PME_USEABLE_SPACE);
   224	
   225		__atu_config_H(pdev, 1,
   226			       GET_HIGH_ADDR(bma_pci_dev->hostrtc_phyaddr),
   227				(bma_pci_dev->hostrtc_phyaddr & 0xffffffff),
   228				0, HOSTRTC_REG_BASE, HOSTRTC_REG_SIZE);
   229	
   230		__atu_config_H(pdev, 2,
   231			       GET_HIGH_ADDR(bma_pci_dev->edma_swap_phy_addr),
   232				(bma_pci_dev->edma_swap_phy_addr & 0xffffffff),
   233				0, EDMA_SWAP_DATA_BASE, EDMA_SWAP_DATA_SIZE);
   234	
   235		__atu_config_H(pdev, 3,
   236			       GET_HIGH_ADDR(bma_pci_dev->veth_swap_phy_addr),
   237				(bma_pci_dev->veth_swap_phy_addr & 0xffffffff),
   238				0, VETH_SWAP_DATA_BASE, VETH_SWAP_DATA_SIZE);
   239	
   240		if (bar1_resource_flag & IORESOURCE_CACHEABLE) {
   241			bma_pci_dev->bma_base_addr =
   242			    ioremap(bma_pci_dev->bma_base_phy_addr,
   243				    bma_pci_dev->bma_base_len);
   244		} else {
   245			bma_pci_dev->bma_base_addr =
   246			    IOREMAP(bma_pci_dev->bma_base_phy_addr,
   247				    bma_pci_dev->bma_base_len);
   248		}
   249	
   250		if (!bma_pci_dev->bma_base_addr) {
   251			BMA_LOG(DLOG_ERROR,
   252				"Cannot map device registers, aborting\n");
   253	
   254			return -ENODEV;
   255		}
   256	
   257		bma_pci_dev->hostrtc_viraddr = bma_pci_dev->bma_base_addr;
   258		bma_pci_dev->edma_swap_addr =
   259		    (unsigned char *)bma_pci_dev->bma_base_addr +
   260		    EDMA_SWAP_BASE_OFFSET;
 > 261		bma_pci_dev->veth_swap_addr =
   262		    (unsigned char *)bma_pci_dev->edma_swap_addr +
   263		    EDMA_SWAP_DATA_SIZE;
   264	
   265		(void)pci_read_config_dword(pdev, 0x78, &data);
   266		data = data & 0xfffffff0;
   267		(void)pci_write_config_dword(pdev, 0x78, data);
   268		(void)pci_read_config_dword(pdev, 0x78, &data);
   269	
   270		return 0;
   271	}
   272	
   273	static int ioremap_bar_mem(struct pci_dev *pdev,
   274				   struct bma_pci_dev_s *bma_pci_dev)
   275	{
   276		int err = 0;
   277		unsigned long bar0_resource_flag = 0;
   278	
   279		bar0_resource_flag = pci_resource_flags(pdev, PCI_BAR0);
   280	
   281		if (!(bar0_resource_flag & IORESOURCE_MEM)) {
   282			BMA_LOG(DLOG_ERROR,
   283				"Cannot find proper PCI device base address, aborting\n");
   284			err = -ENODEV;
   285			return err;
   286		}
   287	
   288		bma_pci_dev->kbox_base_phy_addr = pci_resource_start(pdev, PCI_BAR0);
   289	
   290		bma_pci_dev->kbox_base_len = pci_resource_len(pdev, PCI_BAR0);
   291	
   292		BMA_LOG(DLOG_DEBUG,
   293			"bar0: kbox_base_phy_addr = 0x%lx, base_len = %ld(0x%lx)\n",
   294			bma_pci_dev->kbox_base_phy_addr, bma_pci_dev->kbox_base_len,
   295			bma_pci_dev->kbox_base_len);
   296	
   297		if (PME_DEV_CHECK(pdev->device, pdev->vendor)) {
   298			err = ioremap_pme_bar1_mem(pdev, bma_pci_dev);
   299			if (err != 0)
   300				return err;
   301		}
   302	
   303		BMA_LOG(DLOG_DEBUG, "remap BAR0 KBOX\n");
   304	
   305		if (bar0_resource_flag & IORESOURCE_CACHEABLE) {
   306			bma_pci_dev->kbox_base_addr =
   307			    ioremap(bma_pci_dev->kbox_base_phy_addr,
   308				    bma_pci_dev->kbox_base_len);
   309		} else {
   310			bma_pci_dev->kbox_base_addr =
   311			    IOREMAP(bma_pci_dev->kbox_base_phy_addr,
   312				    bma_pci_dev->kbox_base_len);
   313		}
   314	
   315		if (!bma_pci_dev->kbox_base_addr) {
   316			BMA_LOG(DLOG_ERROR, "Cannot map device registers, aborting\n");
   317	
   318			iounmap(bma_pci_dev->bma_base_addr);
   319			bma_pci_dev->bma_base_addr = NULL;
   320			bma_pci_dev->edma_swap_addr = NULL;
   321			bma_pci_dev->hostrtc_viraddr = NULL;
   322			return -ENOMEM;
   323		}
   324	
   325		return 0;
   326	}
   327	
 > 328	int pme_pci_enable_msi(struct pci_dev *pdev)
   329	{
   330		int err = 0;
   331	
   332		pci_set_master(pdev);
   333	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 1834/1834] drivers/scsi/hpsa.o: warning: objtool: hpsa_find_cfg_addrs+0x123: unreachable instruction
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   75c81bcddd82381fbd4cef477a5b56eb2fe56697
commit: 241ad43fe7e9c24d5ba4cdd1ec22e731cdd22d14 [1834/1834] Compiler: Add clang's PGO support for kernel.
config: x86_64-randconfig-102-20250122 (https://download.01.org/0day-ci/archive/20250122/202501220929.hTMn2Z7o-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220929.hTMn2Z7o-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/202501220929.hTMn2Z7o-lkp@intel.com/
All warnings (new ones prefixed by >>):
   In file included from drivers/scsi/hpsa.c:24:
   In file included from include/linux/pci.h:1666:
   In file included from include/linux/dmapool.h:14:
   In file included from include/linux/scatterlist.h:8:
   In file included from include/linux/mm.h:2235:
   include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     508 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     509 |                            item];
         |                            ~~~~
   include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     515 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     516 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     527 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     528 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     536 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     537 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   5 warnings generated.
>> drivers/scsi/hpsa.o: warning: objtool: hpsa_find_cfg_addrs+0x123: unreachable instruction
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 1834/1834] drivers/net/can/spi/mcp251xfd/mcp251xfd-core.o: warning: objtool: mcp251xfd_chip_softreset+0x2fd: unreachable instruction
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   75c81bcddd82381fbd4cef477a5b56eb2fe56697
commit: 241ad43fe7e9c24d5ba4cdd1ec22e731cdd22d14 [1834/1834] Compiler: Add clang's PGO support for kernel.
config: x86_64-randconfig-101-20250122 (https://download.01.org/0day-ci/archive/20250122/202501220937.KjMFVpWd-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220937.KjMFVpWd-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/202501220937.KjMFVpWd-lkp@intel.com/
All warnings (new ones prefixed by >>):
   In file included from drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c:24:
   In file included from drivers/net/can/spi/mcp251xfd/mcp251xfd.h:14:
   In file included from include/linux/can/core.h:18:
   In file included from include/linux/skbuff.h:17:
   In file included from include/linux/bvec.h:10:
   In file included from include/linux/highmem.h:8:
   In file included from include/linux/cacheflush.h:5:
   In file included from arch/x86/include/asm/cacheflush.h:5:
   In file included from include/linux/mm.h:2235:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   1 warning generated.
>> drivers/net/can/spi/mcp251xfd/mcp251xfd-core.o: warning: objtool: mcp251xfd_chip_softreset+0x2fd: unreachable instruction
>> drivers/net/can/spi/mcp251xfd/mcp251xfd-core.o: warning: objtool: mcp251xfd_chip_wait_for_osc_ready+0x32a: unreachable instruction
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [openeuler:openEuler-1.0-LTS 1410/1410] mm/vmscan.c:3257:28: error: implicit declaration of function 'kernel_swap_enabled'; did you mean 'kernfs_ns_enabled'?
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head:   fdf62dff2537450d438667d817333e17ec71148a
commit: 44983705e56ab22fda801d66e2a6bd0d1be7ca0b [1410/1410] etmem: add original kernel swap enabled options
config: x86_64-randconfig-102-20250121 (https://download.01.org/0day-ci/archive/20250122/202501220839.T9NIZlrQ-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220839.T9NIZlrQ-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/202501220839.T9NIZlrQ-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/ttm/ttm_object.c:60: error: Cannot parse struct or union!
   drivers/gpu/drm/ttm/ttm_object.c:98: warning: Function parameter or member 'mem_glob' not described in 'ttm_object_device'
   drivers/gpu/drm/ttm/ttm_object.c:98: warning: Function parameter or member 'ops' not described in 'ttm_object_device'
   drivers/gpu/drm/ttm/ttm_object.c:98: warning: Function parameter or member 'dmabuf_release' not described in 'ttm_object_device'
   drivers/gpu/drm/ttm/ttm_object.c:98: warning: Function parameter or member 'dma_buf_size' not described in 'ttm_object_device'
   drivers/gpu/drm/ttm/ttm_object.c:129: warning: Function parameter or member 'rcu_head' not described in 'ttm_ref_object'
   drivers/gpu/drm/ttm/ttm_object.c:129: warning: Function parameter or member 'tfile' not described in 'ttm_ref_object'
   drivers/gpu/drm/ttm/ttm_object.c:561: warning: Function parameter or member 'dmabuf' not described in 'get_dma_buf_unless_doomed'
   drivers/gpu/drm/ttm/ttm_object.c:561: warning: Excess function parameter 'dma_buf' description in 'get_dma_buf_unless_doomed'
--
   drivers/pinctrl/core.c:168: warning: Function parameter or member 'pin' not described in 'pin_get_name'
   drivers/pinctrl/core.c:168: warning: Excess function parameter 'name' description in 'pin_get_name'
   drivers/pinctrl/core.c:607: warning: Function parameter or member 'selector' not described in 'pinctrl_generic_get_group'
   drivers/pinctrl/core.c:607: warning: Excess function parameter 'gselector' description in 'pinctrl_generic_get_group'
>> drivers/pinctrl/core.c:1338: error: Cannot parse struct or union!
   drivers/pinctrl/core.c:2226: warning: Function parameter or member 'pctldev' not described in 'devm_pinctrl_register_and_init'
--
   mm/vmscan.c: In function 'kernel_swap_check':
>> mm/vmscan.c:3257:28: error: implicit declaration of function 'kernel_swap_enabled'; did you mean 'kernfs_ns_enabled'? [-Werror=implicit-function-declaration]
    3257 |         if (sc != NULL && !kernel_swap_enabled())
         |                            ^~~~~~~~~~~~~~~~~~~
         |                            kernfs_ns_enabled
   cc1: some warnings being treated as errors
vim +3257 mm/vmscan.c
  3250	
  3251	/*
  3252	 * Check if original kernel swap is enabled
  3253	 * turn off kernel swap,but leave page cache reclaim on
  3254	 */
  3255	static inline void kernel_swap_check(struct scan_control *sc)
  3256	{
> 3257		if (sc != NULL && !kernel_swap_enabled())
  3258			sc->may_swap = 0;
  3259	}
  3260	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [openeuler:openEuler-1.0-LTS] BUILD REGRESSION fdf62dff2537450d438667d817333e17ec71148a
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: fdf62dff2537450d438667d817333e17ec71148a  !14254 [openEuler-1.0-LTS]fix wangxun 1G/10G drivers hardware tx unit hang.
Error/Warning (recently discovered and may have been fixed):
    https://lore.kernel.org/oe-kbuild-all/202501220126.4njU5YRX-lkp@intel.com
    drivers/net/ethernet/netswift/ngbe/ngbe_main.c:5164:6: warning: unused variable 'len' [-Wunused-variable]
    include/linux/uaccess.h:115:17: warning: 'gpu32' may be used uninitialized [-Wmaybe-uninitialized]
    kernel/.tmp_kthread.o: warning: objtool: kthread_destroy_worker()+0xdc: unreachable instruction
    kernel/rcu/tree.o: warning: objtool: rcu_note_context_switch()+0x2f9: can't find switch jump table
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-io-hierarchy-iodump.c:warning:no-previous-prototype-for-__bio_stage_hierarchy_start
|   |-- block-blk-iolatency.c:warning:variable-blkiolat-set-but-not-used
|   |-- block-blk-iolatency.c:warning:variable-changed-set-but-not-used
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-wbt_issue
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-wbt_requeue
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   `-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|-- arm64-allnoconfig
|   `-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|-- arm64-defconfig
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   `-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|-- arm64-randconfig-001-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   |-- include-linux-uaccess.h:warning:cap-may-be-used-uninitialized
|   |-- include-linux-uaccess.h:warning:data_arg-may-be-used-uninitialized
|   |-- include-linux-uaccess.h:warning:gpu32-may-be-used-uninitialized
|   |-- include-linux-uaccess.h:warning:ifreq-may-be-used-uninitialized
|   |-- include-linux-uaccess.h:warning:info64-may-be-used-uninitialized
|   `-- include-linux-uaccess.h:warning:ioc_data-may-be-used-uninitialized
|-- arm64-randconfig-003-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   `-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|-- arm64-randconfig-004-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   |-- include-linux-list.h:warning:array-subscript-is-outside-array-bounds-of-struct-plist_node
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   `-- include-linux-plist.h:warning:array-subscript-is-outside-array-bounds-of-struct-plist_node
|-- arm64-randconfig-r121-20250122
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-wbt_issue
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-wbt_requeue
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   |-- drivers-bus-fsl-mc-mc-sys.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-header-got-restricted-__le64-usertype
|   |-- drivers-firmware-meson-meson_sm.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-got-void-noderef-__iomem-static-toplevel-sm_shmem_out_base
|   |-- drivers-firmware-meson-meson_sm.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-got-void-noderef-__iomem-static-toplevel-sm_shmem_in_base
|   |-- drivers-gpu-drm-sun4i-sun4i_tcon.c:sparse:sparse:symbol-sun4i_tcon_set_mux-was-not-declared.-Should-it-be-static
|   |-- drivers-iio-adc-at91-sama5d2_adc.c:sparse:sparse:Using-plain-integer-as-NULL-pointer
|   |-- drivers-irqchip-irq-gic-phytium-.c:sparse:sparse:dereference-of-noderef-expression
|   |-- drivers-irqchip-irq-gic-phytium-its.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-got-restricted-__le64-usertype
|   |-- drivers-pci-endpoint-functions-pci-epf-test.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-got-void-noderef-__iomem-assigned-src_addr
|   |-- drivers-pci-endpoint-functions-pci-epf-test.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-got-void-noderef-__iomem-assigned-dst_addr
|   |-- drivers-phy-qualcomm-phy-qcom-ufs.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
|   |-- drivers-video-fbdev-sh_mobile_lcdcfb.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-char-noderef-__iomem-screen_base-got-void-fb_mem
|   |-- drivers-video-fbdev-ssd1307fb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-to-got-unsigned-char-noderef-usertype-__iomem-dst
|   |-- drivers-video-fbdev-ssd1307fb.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-noderef-usertype-__iomem-dst-got-void
|   |-- drivers-video-fbdev-ssd1307fb.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-char-usertype-vmem-got-char-noderef-__iomem-screen_base
|   |-- drivers-w1-slaves-w1_ds28e04.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-char-const-noderef-__user-got-char-const-buf
|   |-- drivers-w1-slaves-w1_ds28e04.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-char-noderef-__user-got-char-buf
|   |-- fs-ext4-super.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-got-char-noderef-__rcu
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   |-- kernel-cred.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-p-got-int-const-noderef-__rcu
|   |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-addr-got-void-noderef-__iomem-mem_base
|   |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-noderef-__iomem-mem_base-got-void
|   |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-virt_base-got-void-noderef-__iomem-mem_base
|   |-- kernel-module.c:sparse:sparse:symbol-set_module_sig_enforced-was-not-declared.-Should-it-be-static
|   |-- mm-kmemleak.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__percpu-ptr-got-void-const-ptr
|   |-- mm-kmemleak.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-ptr-got-void-const-noderef-__percpu-ptr
|   `-- mm-kmemleak.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-__percpu-ptr-got-void-const-ptr
|-- x86_64-allmodconfig
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-iolatency.c:warning:variable-blkiolat-set-but-not-used
|   |-- block-blk-iolatency.c:warning:variable-changed-set-but-not-used
|   `-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
|-- x86_64-allnoconfig
|   `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-allyesconfig
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-iolatency.c:warning:variable-blkiolat-set-but-not-used
|   |-- block-blk-iolatency.c:warning:variable-changed-set-but-not-used
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
|   |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
|   `-- drivers-net-ethernet-netswift-ngbe-ngbe_main.c:warning:unused-variable-len
|-- x86_64-buildonly-randconfig-001-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-blk-rq-qos.o:warning:objtool:missing-symbol-for-section-.text
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   |-- crypto-sm4_generic.o:warning:objtool:missing-symbol-for-section-.text
|   |-- drivers-staging-media-zoran-zoran_procfs.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
|   `-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|-- x86_64-buildonly-randconfig-002-20250121
|   |-- drivers-regulator-sy8106a-regulator.c:warning:unused-variable-sy8106a_i2c_of_match
|   `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-003-20250121
|   |-- drivers-video-fbdev-omap2-omapfb-dss-hdmi4.o:warning:objtool:missing-symbol-for-section-.init.text
|   |-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   |-- net-ipv4-bpfilter-sockopt.o:warning:objtool:missing-symbol-for-section-.text
|   `-- sound-soc-rockchip-rockchip_pcm.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-004-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
|   |-- block-blk-rq-qos.o:warning:objtool:missing-symbol-for-section-.text
|   |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
|   |-- kernel-hung_task.c:error:use-of-undeclared-identifier-sysctl_hung_task_all_cpu_backtrace
|   `-- kernel-rcu-tree.o:warning:objtool:rcu_note_context_switch:can-t-find-switch-jump-table
|-- x86_64-buildonly-randconfig-005-20250121
|   |-- kernel-.tmp_kthread.o:warning:objtool:kthread_destroy_worker:unreachable-instruction
|   |-- kernel-hung_task.c:error:use-of-undeclared-identifier-sysctl_hung_task_all_cpu_backtrace
|   `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-006-20250121
|   |-- drivers-video-fbdev-omap2-omapfb-dss-hdmi4.o:warning:objtool:missing-symbol-for-section-.init.text
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   `-- sound-soc-rockchip-rockchip_pcm.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-defconfig
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   `-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|-- x86_64-randconfig-102-20250121
|   |-- drivers-gpu-drm-ttm-ttm_object.c:error:Cannot-parse-struct-or-union
|   |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
|   `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
`-- x86_64-randconfig-161-20250122
    |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
    |-- block-blk-iolatency.c:warning:variable-blkiolat-set-but-not-used
    |-- block-blk-iolatency.c:warning:variable-changed-set-but-not-used
    |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
    |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
    |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
    |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
    `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
elapsed time: 723m
configs tested: 16
configs skipped: 129
tested configs:
arm64                        allmodconfig    gcc-14.2.0
arm64                         allnoconfig    gcc-14.2.0
arm64                           defconfig    gcc-14.2.0
arm64             randconfig-001-20250121    gcc-14.2.0
arm64             randconfig-002-20250121    gcc-14.2.0
arm64             randconfig-003-20250121    gcc-14.2.0
arm64             randconfig-004-20250121    gcc-14.2.0
x86_64                        allnoconfig    clang-19
x86_64                       allyesconfig    clang-19
x86_64  buildonly-randconfig-001-20250121    gcc-12
x86_64  buildonly-randconfig-002-20250121    clang-19
x86_64  buildonly-randconfig-003-20250121    gcc-12
x86_64  buildonly-randconfig-004-20250121    clang-19
x86_64  buildonly-randconfig-005-20250121    clang-19
x86_64  buildonly-randconfig-006-20250121    gcc-12
x86_64                          defconfig    gcc-11
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 1834/1834] mm/memcontrol.c:4061:5: sparse: sparse: symbol 'sysctl_memcg_oom_prio' was not declared. Should it be static?
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   75c81bcddd82381fbd4cef477a5b56eb2fe56697
commit: 44391f3171b05060096ff496f3507033f2460161 [1834/1834] memcg: Add sysctl memcg_qos_enable
config: x86_64-randconfig-121-20250122 (https://download.01.org/0day-ci/archive/20250122/202501220758.6wiUFGfn-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220758.6wiUFGfn-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/202501220758.6wiUFGfn-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> mm/memcontrol.c:4061:5: sparse: sparse: symbol 'sysctl_memcg_oom_prio' was not declared. Should it be static?
   mm/memcontrol.c:4223:50: sparse: sparse: incorrect type in argument 3 (different address spaces) @@     expected void * @@     got void [noderef] __user *buffer @@
   mm/memcontrol.c:4223:50: sparse:     expected void *
   mm/memcontrol.c:4223:50: sparse:     got void [noderef] __user *buffer
>> mm/memcontrol.c:4245:35: sparse: sparse: incorrect type in initializer (incompatible argument 3 (different address spaces)) @@     expected int ( [usertype] *proc_handler )( ... ) @@     got int ( * )( ... ) @@
   mm/memcontrol.c:4245:35: sparse:     expected int ( [usertype] *proc_handler )( ... )
   mm/memcontrol.c:4245:35: sparse:     got int ( * )( ... )
   mm/memcontrol.c:4504:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:4504:21: sparse:    struct mem_cgroup_threshold_ary [noderef] __rcu *
   mm/memcontrol.c:4504:21: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:4506:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:4506:21: sparse:    struct mem_cgroup_threshold_ary [noderef] __rcu *
   mm/memcontrol.c:4506:21: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:4662:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:4662:9: sparse:    struct mem_cgroup_threshold_ary [noderef] __rcu *
   mm/memcontrol.c:4662:9: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:4756:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:4756:9: sparse:    struct mem_cgroup_threshold_ary [noderef] __rcu *
   mm/memcontrol.c:4756:9: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:6799:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:6799:23: sparse:    struct task_struct [noderef] __rcu *
   mm/memcontrol.c:6799:23: sparse:    struct task_struct *
   mm/memcontrol.c:7016:52: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:7016:52: sparse:    struct task_struct [noderef] __rcu *
   mm/memcontrol.c:7016:52: sparse:    struct task_struct *
   mm/memcontrol.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   mm/memcontrol.c: note: in included file:
   include/linux/memcontrol.h:782:9: sparse: sparse: context imbalance in 'folio_lruvec_lock' - wrong count at exit
   include/linux/memcontrol.h:782:9: sparse: sparse: context imbalance in 'folio_lruvec_lock_irq' - wrong count at exit
   include/linux/memcontrol.h:782:9: sparse: sparse: context imbalance in 'folio_lruvec_lock_irqsave' - wrong count at exit
   mm/memcontrol.c:2134:6: sparse: sparse: context imbalance in 'folio_memcg_lock' - wrong count at exit
   mm/memcontrol.c:2181:17: sparse: sparse: context imbalance in '__folio_memcg_unlock' - unexpected unlock
   mm/memcontrol.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   mm/memcontrol.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...):
   include/linux/rcupdate.h:780:9: sparse: sparse: context imbalance in 'mem_cgroup_count_precharge_pte_range' - unexpected unlock
   include/linux/rcupdate.h:780:9: sparse: sparse: context imbalance in 'mem_cgroup_move_charge_pte_range' - unexpected unlock
vim +/sysctl_memcg_oom_prio +4061 mm/memcontrol.c
  4057	
  4058	#ifdef CONFIG_MEMCG_OOM_PRIORITY
  4059	#define ENABLE_MEMCG_OOM_PROIRITY	1
  4060	#define DISABLE_MEMCG_OOM_PROIRITY	0
> 4061	int sysctl_memcg_oom_prio = DISABLE_MEMCG_OOM_PROIRITY;
  4062	
  4063	bool memcg_oom_prio_disabled(void)
  4064	{
  4065		return READ_ONCE(sysctl_memcg_oom_prio) == DISABLE_MEMCG_OOM_PROIRITY;
  4066	}
  4067	
  4068	static void memcg_oom_prio_init(struct mem_cgroup *memcg)
  4069	{
  4070		struct mem_cgroup *parent = parent_mem_cgroup(memcg);
  4071		int oom_prio;
  4072	
  4073		if (!parent)
  4074			return;
  4075	
  4076		oom_prio = READ_ONCE(parent->oom_prio);
  4077		WRITE_ONCE(memcg->oom_prio, oom_prio);
  4078	}
  4079	
  4080	static s64 memcg_oom_prio_read(struct cgroup_subsys_state *css,
  4081					      struct cftype *cft)
  4082	{
  4083		struct mem_cgroup *memcg = mem_cgroup_from_css(css);
  4084	
  4085		if (memcg_oom_prio_disabled())
  4086			return 0;
  4087	
  4088		return READ_ONCE(memcg->oom_prio);
  4089	}
  4090	
  4091	static int memcg_oom_prio_write(struct cgroup_subsys_state *css,
  4092					       struct cftype *cft, s64 val)
  4093	{
  4094		struct mem_cgroup *memcg = mem_cgroup_from_css(css);
  4095		struct mem_cgroup *iter_memcg;
  4096		struct cgroup_subsys_state *iter_css;
  4097	
  4098		if (memcg_oom_prio_disabled())
  4099			return -EACCES;
  4100	
  4101		if (mem_cgroup_is_root(memcg))
  4102			return -EINVAL;
  4103	
  4104		if (val != MEMCG_LOW_OOM_PRIORITY && val != MEMCG_HIGH_OOM_PRIORITY)
  4105			return -EINVAL;
  4106	
  4107		rcu_read_lock();
  4108		css_for_each_descendant_pre(iter_css, &memcg->css) {
  4109			iter_memcg = mem_cgroup_from_css(iter_css);
  4110	
  4111			WRITE_ONCE(iter_memcg->oom_prio, val);
  4112		}
  4113		rcu_read_unlock();
  4114	
  4115		return 0;
  4116	}
  4117	
  4118	static struct mem_cgroup *memcg_find_max_usage(struct mem_cgroup *last)
  4119	{
  4120		struct mem_cgroup *iter, *max_memcg = NULL;
  4121		struct cgroup_subsys_state *css;
  4122		unsigned long usage, max_usage = 0;
  4123		int oom_prio;
  4124	
  4125		rcu_read_lock();
  4126		css_for_each_descendant_pre(css, &root_mem_cgroup->css) {
  4127			iter = mem_cgroup_from_css(css);
  4128			oom_prio = READ_ONCE(iter->oom_prio);
  4129	
  4130			if (oom_prio == MEMCG_HIGH_OOM_PRIORITY ||
  4131				iter == root_mem_cgroup ||
  4132				iter == last)
  4133				continue;
  4134	
  4135			usage = mem_cgroup_usage(iter, false);
  4136			if (usage > max_usage) {
  4137				max_usage = usage;
  4138				max_memcg = iter;
  4139			}
  4140		}
  4141		rcu_read_unlock();
  4142	
  4143		return max_memcg;
  4144	}
  4145	
  4146	bool memcg_oom_prio_scan_tasks(int (*fn)(struct task_struct *, void *),
  4147					   void *arg)
  4148	{
  4149		struct mem_cgroup *max, *last = NULL;
  4150		struct oom_control *oc = arg;
  4151		struct css_task_iter it;
  4152		struct task_struct *task;
  4153		int ret = 0;
  4154		bool retry = true;
  4155	
  4156		if (memcg_oom_prio_disabled())
  4157			return false;
  4158	retry:
  4159		max = memcg_find_max_usage(last);
  4160		if (!max)
  4161			return false;
  4162	
  4163		css_task_iter_start(&max->css, 0, &it);
  4164		while (!ret && (task = css_task_iter_next(&it))) {
  4165			if (test_tsk_thread_flag(task, TIF_MEMDIE))
  4166				continue;
  4167	
  4168			ret = fn(task, arg);
  4169		}
  4170		css_task_iter_end(&it);
  4171	
  4172		if (ret)
  4173			return false;
  4174	
  4175		if (!oc->chosen && retry) {
  4176			last = max;
  4177			retry = false;
  4178			goto retry;
  4179		}
  4180	
  4181		if (oc->chosen)
  4182			pr_info("The bad task [%d:%s] is from low-priority memcg.\n",
  4183					oc->chosen->pid, oc->chosen->comm);
  4184	
  4185		return oc->chosen ? true : false;
  4186	}
  4187	
  4188	void memcg_print_bad_task(struct oom_control *oc)
  4189	{
  4190		if (memcg_oom_prio_disabled())
  4191			return;
  4192	
  4193		if (oc->chosen) {
  4194			struct mem_cgroup *memcg;
  4195	
  4196			rcu_read_lock();
  4197			memcg = mem_cgroup_from_task(oc->chosen);
  4198			if (READ_ONCE(memcg->oom_prio) == MEMCG_LOW_OOM_PRIORITY)
  4199				pr_info("The bad task [%d:%s] is from low-priority memcg.\n",
  4200					oc->chosen->pid, oc->chosen->comm);
  4201			rcu_read_unlock();
  4202		}
  4203	}
  4204	
  4205	static void memcg_oom_prio_reset(void)
  4206	{
  4207		struct mem_cgroup *iter;
  4208		struct cgroup_subsys_state *css;
  4209	
  4210		rcu_read_lock();
  4211		css_for_each_descendant_pre(css, &root_mem_cgroup->css) {
  4212			iter = mem_cgroup_from_css(css);
  4213			WRITE_ONCE(iter->oom_prio, 0);
  4214		}
  4215		rcu_read_unlock();
  4216	}
  4217	
  4218	static int sysctl_memcg_oom_prio_handler(struct ctl_table *table, int write,
  4219			void __user *buffer, size_t *length, loff_t *ppos)
  4220	{
  4221		int ret;
  4222	
  4223		ret = proc_dointvec_minmax(table, write, buffer, length, ppos);
  4224		if (ret)
  4225			return ret;
  4226	
  4227		if (write) {
  4228			if (READ_ONCE(sysctl_memcg_oom_prio) == DISABLE_MEMCG_OOM_PROIRITY)
  4229				memcg_oom_prio_reset();
  4230		}
  4231	
  4232		return ret;
  4233	}
  4234	
  4235	static struct ctl_table memcg_oom_prio_sysctls[] = {
  4236		{
  4237			/*
  4238			 * This sysctl is used to control memcg oom priority
  4239			 * feature, the sysctl name is for compatibility.
  4240			 */
  4241			.procname	= "memcg_qos_enable",
  4242			.data		= &sysctl_memcg_oom_prio,
  4243			.maxlen		= sizeof(int),
  4244			.mode		= 0644,
> 4245			.proc_handler	= sysctl_memcg_oom_prio_handler,
  4246			.extra1		= SYSCTL_ZERO,
  4247			.extra2		= SYSCTL_ONE,
  4248		},
  4249	};
  4250	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 1834/1834] drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        Hi Carrie.Cai,
FYI, the error/warning still remains.
tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   75c81bcddd82381fbd4cef477a5b56eb2fe56697
commit: 811debd4ea52033d7393d4a7de2be11f71c70348 [1834/1834] add support for Mont-TSSE Driver
config: x86_64-randconfig-101-20250122 (https://download.01.org/0day-ci/archive/20250122/202501220636.mvJm5Jtb-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220636.mvJm5Jtb-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/202501220636.mvJm5Jtb-lkp@intel.com/
All warnings (new ones prefixed by >>):
   In file included from drivers/crypto/montage/tsse/tsse_dev_mgr.c:13:
   In file included from include/linux/iommu.h:10:
   In file included from include/linux/scatterlist.h:8:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_dev_mgr.c:15:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:107:5: warning: no previous prototype for function 'tsse_stop_dev' [-Wmissing-prototypes]
     107 | int tsse_stop_dev(struct tsse_dev *tdev, bool busy_exit)
         |     ^
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:107:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
     107 | int tsse_stop_dev(struct tsse_dev *tdev, bool busy_exit)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:220:2: warning: variable 'ptr' is used uninitialized whenever 'for' loop exits because its condition is false [-Wsometimes-uninitialized]
     220 |         list_for_each(itr, &tsse_dev_table) {
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/list.h:687:27: note: expanded from macro 'list_for_each'
     687 |         for (pos = (head)->next; !list_is_head(pos, (head)); pos = pos->next)
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:227:9: note: uninitialized use occurs here
     227 |         return ptr;
         |                ^~~
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:220:2: note: remove the condition if it is always true
     220 |         list_for_each(itr, &tsse_dev_table) {
         |         ^
   include/linux/list.h:687:27: note: expanded from macro 'list_for_each'
     687 |         for (pos = (head)->next; !list_is_head(pos, (head)); pos = pos->next)
         |                                  ^
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:216:22: note: initialize the variable 'ptr' to silence this warning
     216 |         struct tsse_dev *ptr;
         |                             ^
         |                              = NULL
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:37:20: warning: unused function 'tsse_list_add_tail' [-Wunused-function]
      37 | static inline void tsse_list_add_tail(struct list_head *new,
         |                    ^~~~~~~~~~~~~~~~~~
   5 warnings generated.
--
   In file included from drivers/crypto/montage/tsse/tsse_ipc.c:14:
   In file included from drivers/crypto/montage/tsse/tsse_dev.h:13:
   In file included from include/linux/pci.h:1629:
   In file included from include/linux/dmapool.h:14:
   In file included from include/linux/scatterlist.h:8:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_ipc.c:14:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   drivers/crypto/montage/tsse/tsse_ipc.c:17:18: warning: no previous prototype for function 'get_msginf' [-Wmissing-prototypes]
      17 | struct tsse_msg *get_msginf(void __iomem *d2h)
         |                  ^
   drivers/crypto/montage/tsse/tsse_ipc.c:17:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      17 | struct tsse_msg *get_msginf(void __iomem *d2h)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:41:6: warning: no previous prototype for function 'ipc_recieve_msg' [-Wmissing-prototypes]
      41 | void ipc_recieve_msg(struct tsse_ipc *tsseipc, struct ipc_msg *msg)
         |      ^
   drivers/crypto/montage/tsse/tsse_ipc.c:41:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      41 | void ipc_recieve_msg(struct tsse_ipc *tsseipc, struct ipc_msg *msg)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:53:5: warning: no previous prototype for function 'msg_rout' [-Wmissing-prototypes]
      53 | int msg_rout(struct tsse_ipc *tsseipc, struct tsse_msg *tssemsg)
         |     ^
   drivers/crypto/montage/tsse/tsse_ipc.c:53:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      53 | int msg_rout(struct tsse_ipc *tsseipc, struct tsse_msg *tssemsg)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:103:6: warning: no previous prototype for function 'ipc_send_msg' [-Wmissing-prototypes]
     103 | void ipc_send_msg(struct tsse_ipc *tsseipc, struct ipc_data *msg)
         |      ^
   drivers/crypto/montage/tsse/tsse_ipc.c:103:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
     103 | void ipc_send_msg(struct tsse_ipc *tsseipc, struct ipc_data *msg)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:115:6: warning: no previous prototype for function 'ipc_hw_init' [-Wmissing-prototypes]
     115 | void ipc_hw_init(struct tsse_ipc *hw_ipc)
         |      ^
   drivers/crypto/montage/tsse/tsse_ipc.c:115:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
     115 | void ipc_hw_init(struct tsse_ipc *hw_ipc)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:122:5: warning: no previous prototype for function 'ipc_init_msg' [-Wmissing-prototypes]
     122 | int ipc_init_msg(struct tsse_ipc *tsseipc)
         |     ^
   drivers/crypto/montage/tsse/tsse_ipc.c:122:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
     122 | int ipc_init_msg(struct tsse_ipc *tsseipc)
         | ^
         | static 
   8 warnings generated.
--
   In file included from drivers/crypto/montage/tsse/tsse_fw_service.c:15:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_fw_service.c:20:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   drivers/crypto/montage/tsse/tsse_fw_service.c:26:5: warning: no previous prototype for function 'fw_send_msg' [-Wmissing-prototypes]
      26 | int fw_send_msg(struct tsse_ipc *tsseipc, struct ipc_msg *msg)
         |     ^
   drivers/crypto/montage/tsse/tsse_fw_service.c:26:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      26 | int fw_send_msg(struct tsse_ipc *tsseipc, struct ipc_msg *msg)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_fw_service.c:51:6: warning: no previous prototype for function 'fw_free' [-Wmissing-prototypes]
      51 | void fw_free(void *msg_t)
         |      ^
   drivers/crypto/montage/tsse/tsse_fw_service.c:51:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      51 | void fw_free(void *msg_t)
         | ^
         | static 
   4 warnings generated.
--
   In file included from drivers/crypto/montage/tsse/tsse_irq.c:10:
   In file included from drivers/crypto/montage/tsse/tsse_dev.h:13:
   In file included from include/linux/pci.h:1629:
   In file included from include/linux/dmapool.h:14:
   In file included from include/linux/scatterlist.h:8:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_irq.c:10:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   2 warnings generated.
--
   In file included from drivers/crypto/montage/tsse/tsse_vuart.c:15:
   In file included from include/linux/tty.h:12:
   In file included from include/linux/tty_port.h:5:
   In file included from include/linux/kfifo.h:42:
   In file included from include/linux/scatterlist.h:8:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_vuart.c:25:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   drivers/crypto/montage/tsse/tsse_vuart.c:77:13: warning: unused function 'vuart_wait_for_xmitr' [-Wunused-function]
      77 | static void vuart_wait_for_xmitr(struct uart_port *port)
         |             ^~~~~~~~~~~~~~~~~~~~
   3 warnings generated.
vim +/cpu +84 drivers/crypto/montage/tsse/tsse_dev.h
  > 13	#include <linux/pci.h>
    14	#include <linux/pci-ats.h>
    15	#include <linux/serial_core.h>
    16	#include <linux/firmware.h>
    17	#include "tsse_ipc.h"
    18	
    19	#define TSSE_PCI_MAX_BARS 4
    20	#define TSSE_FW_VERSION_LEN 32
    21	struct tsse_bar {
    22		void __iomem *virt_addr;
    23		resource_size_t addr;
    24		resource_size_t size;
    25	};
    26	struct tsse_dev_pci {
    27		struct pci_dev *pci_dev;
    28		struct tsse_bar bars[TSSE_PCI_MAX_BARS];
    29		u8 revid;
    30	};
    31	enum tsse_dev_status_bit {
    32		TSSE_DEV_STATUS_STARTING = 0,
    33		TSSE_DEV_STATUS_STARTED = 1
    34	
    35	};
    36	struct tsse_qpairs_bank {
    37		struct tsse_dev *tsse_dev;
    38		void __iomem *reg_base;
    39	
    40		u32 num_qparis;
    41		u32 irq_vec;
    42	};
    43	struct tsse_dev {
    44		struct module *owner;
    45		struct dentry *debugfs_dir;
    46		unsigned long status;
    47		struct list_head list;
    48		struct tsse_dev_pci tsse_pci_dev;
    49		struct tsse_qpairs_bank qpairs_bank;
    50		atomic_t ref_count;
    51		bool is_vf;
    52		int id;
    53		u32 num_irqs;
    54		u32 num_vfs;
    55		struct uart_port *port;
    56		struct tsse_ipc *ipc;
    57		void *adi;
    58		void *mbx_hw;
    59		const struct firmware *fw;
    60		char fw_version[TSSE_FW_VERSION_LEN];
    61	};
    62	#define TSSEDEV_TO_DEV(tssedev) (&((tssedev)->tsse_pci_dev.pci_dev->dev))
    63	#define TSSE_DEV_BARS(tssedev) ((tssedev)->tsse_pci_dev.bars)
    64	
    65	#include "tsse_log.h"
    66	
    67	struct list_head *tsse_devmgr_get_head(void);
    68	
    69	int tsse_dev_get(struct tsse_dev *tsse_dev);
    70	void tsse_dev_put(struct tsse_dev *tsse_dev);
    71	int tsse_devmgr_add_dev(struct tsse_dev *tsse_dev);
    72	void tsse_devmgr_rm_dev(struct tsse_dev *tdev);
    73	int tsse_prepare_restart_dev(struct tsse_dev *tdev);
    74	int tsse_start_dev(struct tsse_dev *tdev);
    75	struct tsse_dev *get_tssedev(int id);
    76	
    77	static inline struct tsse_dev *pci_to_tsse_dev(struct pci_dev *pci_dev)
    78	{
    79		return (struct tsse_dev *)pci_get_drvdata(pci_dev);
    80	}
    81	
    82	static inline int tsse_get_cur_node(void)
    83	{
  > 84		int cpu, node;
    85	
    86		cpu = get_cpu();
    87		node = topology_physical_package_id(cpu);
    88		put_cpu();
    89	
    90		return node;
    91	}
    92	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 1834/1834] drivers/scsi/leapioraid/leapioraid_app.c:547:55: sparse: sparse: restricted __le16 degrades to integer
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   75c81bcddd82381fbd4cef477a5b56eb2fe56697
commit: 7fea595ef48e9ab13bd31df067b19152153e1925 [1834/1834] SCSI: LEAPIORAID: Supports LEAPIO RAID controller
config: x86_64-randconfig-122-20250122 (https://download.01.org/0day-ci/archive/20250122/202501220628.ocqpqpGr-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220628.ocqpqpGr-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/202501220628.ocqpqpGr-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/leapioraid/leapioraid_app.c:547:55: sparse: sparse: restricted __le16 degrades to integer
>> drivers/scsi/leapioraid/leapioraid_app.c:2197:17: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __poll_t ( *poll )( ... ) @@     got unsigned int ( * )( ... ) @@
   drivers/scsi/leapioraid/leapioraid_app.c:2197:17: sparse:     expected restricted __poll_t ( *poll )( ... )
   drivers/scsi/leapioraid/leapioraid_app.c:2197:17: sparse:     got unsigned int ( * )( ... )
   drivers/scsi/leapioraid/leapioraid_app.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/umh.h, include/linux/kmod.h, ...):
   include/linux/page-flags.h:244:46: sparse: sparse: self-comparison always evaluates to false
--
>> drivers/scsi/leapioraid/leapioraid_func.c:304:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be32 static [addressable] [assigned] [toplevel] [usertype] s_addr @@     got unsigned int [addressable] [usertype] ip @@
   drivers/scsi/leapioraid/leapioraid_func.c:304:35: sparse:     expected restricted __be32 static [addressable] [assigned] [toplevel] [usertype] s_addr
   drivers/scsi/leapioraid/leapioraid_func.c:304:35: sparse:     got unsigned int [addressable] [usertype] ip
>> drivers/scsi/leapioraid/leapioraid_func.c:325:21: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long [usertype] iov_len @@     got restricted __le32 [usertype] datasize @@
   drivers/scsi/leapioraid/leapioraid_func.c:325:21: sparse:     expected unsigned long [usertype] iov_len
   drivers/scsi/leapioraid/leapioraid_func.c:325:21: sparse:     got restricted __le32 [usertype] datasize
>> drivers/scsi/leapioraid/leapioraid_func.c:369:71: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected restricted __le32 [usertype] datasize @@     got unsigned int [assigned] [usertype] send_sz @@
   drivers/scsi/leapioraid/leapioraid_func.c:369:71: sparse:     expected restricted __le32 [usertype] datasize
   drivers/scsi/leapioraid/leapioraid_func.c:369:71: sparse:     got unsigned int [assigned] [usertype] send_sz
   drivers/scsi/leapioraid/leapioraid_func.c:671:1: sparse: sparse: symbol 'leapioraid_base_stop_smart_polling' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_func.c:1395:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned long long [usertype] * @@
   drivers/scsi/leapioraid/leapioraid_func.c:1395:67: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/scsi/leapioraid/leapioraid_func.c:1395:67: sparse:     got unsigned long long [usertype] *
   drivers/scsi/leapioraid/leapioraid_func.c:1427:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned long long [usertype] * @@
   drivers/scsi/leapioraid/leapioraid_func.c:1427:51: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/scsi/leapioraid/leapioraid_func.c:1427:51: sparse:     got unsigned long long [usertype] *
   drivers/scsi/leapioraid/leapioraid_func.c:1300:1: sparse: sparse: symbol 'leapioraid_base_process_reply_queue' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_func.c:1468:5: sparse: sparse: symbol 'leapioraid_base_irqpoll' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_func.c:1490:1: sparse: sparse: symbol 'leapioraid_base_init_irqpolls' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_func.c:1924:21: sparse: sparse: symbol 'leapioraid_pcie_link_speed' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_func.c:2946:31: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/scsi/leapioraid/leapioraid_func.c:3291:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int val @@     got restricted __le32 [usertype] @@
   drivers/scsi/leapioraid/leapioraid_func.c:3291:16: sparse:     expected unsigned int val
   drivers/scsi/leapioraid/leapioraid_func.c:3291:16: sparse:     got restricted __le32 [usertype]
   drivers/scsi/leapioraid/leapioraid_func.c:3304:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int val @@     got restricted __le32 [usertype] @@
   drivers/scsi/leapioraid/leapioraid_func.c:3304:16: sparse:     expected unsigned int val
   drivers/scsi/leapioraid/leapioraid_func.c:3304:16: sparse:     got restricted __le32 [usertype]
   drivers/scsi/leapioraid/leapioraid_func.c:3317:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int val @@     got restricted __le32 [usertype] @@
   drivers/scsi/leapioraid/leapioraid_func.c:3317:16: sparse:     expected unsigned int val
   drivers/scsi/leapioraid/leapioraid_func.c:3317:16: sparse:     got restricted __le32 [usertype]
   drivers/scsi/leapioraid/leapioraid_func.c:3330:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int val @@     got restricted __le32 [usertype] @@
   drivers/scsi/leapioraid/leapioraid_func.c:3330:16: sparse:     expected unsigned int val
   drivers/scsi/leapioraid/leapioraid_func.c:3330:16: sparse:     got restricted __le32 [usertype]
>> drivers/scsi/leapioraid/leapioraid_func.c:3373:32: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] ImageSize @@     got unsigned long [assigned] [usertype] data_length @@
   drivers/scsi/leapioraid/leapioraid_func.c:3373:32: sparse:     expected restricted __le32 [usertype] ImageSize
   drivers/scsi/leapioraid/leapioraid_func.c:3373:32: sparse:     got unsigned long [assigned] [usertype] data_length
   drivers/scsi/leapioraid/leapioraid_func.c:4414:1: sparse: sparse: symbol 'leapioraid_base_flush_ios_and_panic' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_func.c:4747:40: sparse: sparse: invalid assignment: |=
   drivers/scsi/leapioraid/leapioraid_func.c:4747:40: sparse:    left side has type restricted __le16
   drivers/scsi/leapioraid/leapioraid_func.c:4747:40: sparse:    right side has type int
>> drivers/scsi/leapioraid/leapioraid_func.c:4799:29: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le64 [addressable] [assigned] [usertype] BufAddr @@     got unsigned long long [usertype] log_buffer_dma @@
   drivers/scsi/leapioraid/leapioraid_func.c:4799:29: sparse:     expected restricted __le64 [addressable] [assigned] [usertype] BufAddr
   drivers/scsi/leapioraid/leapioraid_func.c:4799:29: sparse:     got unsigned long long [usertype] log_buffer_dma
>> drivers/scsi/leapioraid/leapioraid_func.c:4800:29: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] BufSize @@     got int @@
   drivers/scsi/leapioraid/leapioraid_func.c:4800:29: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] BufSize
   drivers/scsi/leapioraid/leapioraid_func.c:4800:29: sparse:     got int
   drivers/scsi/leapioraid/leapioraid_func.c:5242:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned long long [usertype] * @@
   drivers/scsi/leapioraid/leapioraid_func.c:5242:67: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/scsi/leapioraid/leapioraid_func.c:5242:67: sparse:     got unsigned long long [usertype] *
   drivers/scsi/leapioraid/leapioraid_func.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/umh.h, include/linux/kmod.h, ...):
   include/linux/page-flags.h:244:46: sparse: sparse: self-comparison always evaluates to false
   drivers/scsi/leapioraid/leapioraid_func.c: note: in included file (through include/linux/module.h):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
--
>> drivers/scsi/leapioraid/leapioraid_os.c:5965:29: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:521:30: sparse: sparse: symbol 'leapioraid_get_sdev_from_target' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_os.c:534:30: sparse: sparse: symbol '__leapioraid_get_sdev_by_addr' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_os.c:866:34: sparse: sparse: symbol 'leapioraid_scsihost_enclosure_find_by_handle' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_os.c:1854:1: sparse: sparse: symbol 'leapioraid_scsihost_tm_cmd_map_status' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_os.c:1889:1: sparse: sparse: symbol 'leapioraid_scsihost_tm_post_processing' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_os.c:3080:25: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] dev_handle @@     got restricted __le16 [usertype] DevHandle @@
   drivers/scsi/leapioraid/leapioraid_os.c:3080:25: sparse:     expected unsigned short [usertype] dev_handle
   drivers/scsi/leapioraid/leapioraid_os.c:3080:25: sparse:     got restricted __le16 [usertype] DevHandle
   drivers/scsi/leapioraid/leapioraid_os.c:3081:17: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3091:35: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3093:42: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3094:45: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3095:25: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3099:42: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3100:61: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3102:25: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3106:42: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3107:35: sparse: sparse: cast to restricted __le16
>> drivers/scsi/leapioraid/leapioraid_os.c:6840:37: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le16 [usertype] EnclosureHandle @@     got unsigned short [usertype] @@
   drivers/scsi/leapioraid/leapioraid_os.c:6840:37: sparse:     expected restricted __le16 [usertype] EnclosureHandle
   drivers/scsi/leapioraid/leapioraid_os.c:6840:37: sparse:     got unsigned short [usertype]
>> drivers/scsi/leapioraid/leapioraid_os.c:6844:76: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected unsigned short [usertype] handle @@     got restricted __le16 [usertype] EnclosureHandle @@
   drivers/scsi/leapioraid/leapioraid_os.c:6844:76: sparse:     expected unsigned short [usertype] handle
   drivers/scsi/leapioraid/leapioraid_os.c:6844:76: sparse:     got restricted __le16 [usertype] EnclosureHandle
>> drivers/scsi/leapioraid/leapioraid_os.c:6859:59: sparse: sparse: incorrect type in argument 5 (different base types) @@     expected unsigned int [usertype] handle @@     got restricted __le16 [usertype] EnclosureHandle @@
   drivers/scsi/leapioraid/leapioraid_os.c:6859:59: sparse:     expected unsigned int [usertype] handle
   drivers/scsi/leapioraid/leapioraid_os.c:6859:59: sparse:     got restricted __le16 [usertype] EnclosureHandle
   drivers/scsi/leapioraid/leapioraid_os.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/umh.h, include/linux/kmod.h, ...):
   include/linux/page-flags.h:244:46: sparse: sparse: self-comparison always evaluates to false
   drivers/scsi/leapioraid/leapioraid_os.c: note: in included file (through include/linux/module.h):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
vim +547 drivers/scsi/leapioraid/leapioraid_app.c
   506	
   507	static int
   508	leapioraid_ctl_set_task_mid(struct LEAPIORAID_ADAPTER *ioc,
   509			  struct leapio_ioctl_command *karg,
   510			  struct LeapioraidSCSITmgReq_t *tm_request)
   511	{
   512		u8 found = 0;
   513		u16 smid;
   514		u16 handle;
   515		struct scsi_cmnd *scmd;
   516		struct LEAPIORAID_DEVICE *priv_data;
   517		struct LeapioraidSCSITmgRep_t *tm_reply;
   518		u32 sz;
   519		u32 lun;
   520		char *desc = NULL;
   521		struct leapioraid_scsiio_tracker *st = NULL;
   522	
   523		if (tm_request->TaskType == LEAPIORAID_SCSITASKMGMT_TASKTYPE_ABORT_TASK)
   524			desc = "abort_task";
   525		else if (tm_request->TaskType ==
   526			 LEAPIORAID_SCSITASKMGMT_TASKTYPE_QUERY_TASK)
   527			desc = "query_task";
   528		else
   529			return 0;
   530		lun = scsilun_to_int((struct scsi_lun *)tm_request->LUN);
   531		handle = le16_to_cpu(tm_request->DevHandle);
   532		for (smid = ioc->shost->can_queue; smid && !found; smid--) {
   533			scmd = leapioraid_scsihost_scsi_lookup_get(ioc, smid);
   534			if (scmd == NULL || scmd->device == NULL ||
   535			    scmd->device->hostdata == NULL)
   536				continue;
   537			if (lun != scmd->device->lun)
   538				continue;
   539			priv_data = scmd->device->hostdata;
   540			if (priv_data->sas_target == NULL)
   541				continue;
   542			if (priv_data->sas_target->handle != handle)
   543				continue;
   544			st = leapioraid_base_scsi_cmd_priv(scmd);
   545			if ((!st) || (st->smid == 0))
   546				continue;
 > 547			if (!tm_request->TaskMID || tm_request->TaskMID == st->smid) {
   548				tm_request->TaskMID = cpu_to_le16(st->smid);
   549				found = 1;
   550			}
   551		}
   552		if (!found) {
   553			dctlprintk(ioc, pr_info(
   554				"%s %s: handle(0x%04x), lun(%d), no active mid!!\n",
   555					       ioc->name, desc,
   556					       le16_to_cpu(tm_request->DevHandle),
   557					       lun));
   558			tm_reply = ioc->ctl_cmds.reply;
   559			tm_reply->DevHandle = tm_request->DevHandle;
   560			tm_reply->Function = LEAPIORAID_FUNC_SCSI_TASK_MGMT;
   561			tm_reply->TaskType = tm_request->TaskType;
   562			tm_reply->MsgLength =
   563			    sizeof(struct LeapioraidSCSITmgRep_t) / 4;
   564			tm_reply->VP_ID = tm_request->VP_ID;
   565			tm_reply->VF_ID = tm_request->VF_ID;
   566			sz = min_t(u32, karg->max_reply_bytes, ioc->reply_sz);
   567			if (copy_to_user(karg->reply_frame_buf_ptr, ioc->ctl_cmds.reply,
   568					 sz))
   569				pr_err("failure at %s:%d/%s()!\n", __FILE__,
   570				       __LINE__, __func__);
   571			return 1;
   572		}
   573		dctlprintk(ioc, pr_info(
   574			"%s %s: handle(0x%04x), lun(%d), task_mid(%d)\n",
   575			ioc->name, desc,
   576			le16_to_cpu(tm_request->DevHandle), lun,
   577			le16_to_cpu(tm_request->TaskMID)));
   578		return 0;
   579	}
   580	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6] BUILD REGRESSION 75c81bcddd82381fbd4cef477a5b56eb2fe56697
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 75c81bcddd82381fbd4cef477a5b56eb2fe56697  !14813  drm/i915/hdcp: Add encoder check in intel_hdcp_get_capability
Error/Warning (recently discovered and may have been fixed):
    https://lore.kernel.org/oe-kbuild-all/202501211756.LmO1gDKg-lkp@intel.com
    drivers/crypto/ccp/hygon/tdm-kernel-guard.c:308:37: error: 'NR_syscalls' undeclared (first use in this function); did you mean 'si_syscall'?
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
|   |-- block-blk-io-hierarchy-iodump.c:warning:no-previous-prototype-for-function-__bio_stage_hierarchy_start
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_net_event_callback
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_notify_all_vfs_link_changed
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_notify_vf_link_status
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_main.c:warning:no-previous-prototype-for-function-bifur_enable_disable_vf_all
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_alloc_proc_file
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_cmd_exec
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_file_write
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_free_knl_msg_buf
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_dev_close
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_dev_open
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_file_add
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_file_del
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_msg_copy_from_usr
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_msg_copy_to_usr
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_proc_write
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_file_add
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_file_del
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_proc_build
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_proc_destroy
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_proc_close
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_proc_open
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_vf_info_hold
|   `-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_vf_info_put
|-- loongarch-alldefconfig
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- loongarch-allmodconfig
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- loongarch-allnoconfig
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- loongarch-allyesconfig
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- loongarch-randconfig-001-20250121
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- x86_64-allnoconfig
|   |-- include-linux-sched-signal.h:linux-kabi.h-is-included-more-than-once.
|   `-- samples-trace_events-trace_custom_sched.c:linux-version.h-not-needed.
|-- x86_64-allyesconfig
|   |-- block-blk-io-hierarchy-iodump.c:warning:no-previous-prototype-for-function-__bio_stage_hierarchy_start
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_net_event_callback
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_notify_all_vfs_link_changed
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_notify_vf_link_status
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_main.c:warning:no-previous-prototype-for-function-bifur_enable_disable_vf_all
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_alloc_proc_file
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_cmd_exec
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_file_write
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_free_knl_msg_buf
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_dev_close
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_dev_open
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_file_add
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_file_del
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_msg_copy_from_usr
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_msg_copy_to_usr
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_proc_write
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_file_add
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_file_del
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_proc_build
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_proc_destroy
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_proc_close
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_proc_open
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_vf_info_hold
|   `-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_vf_info_put
`-- x86_64-buildonly-randconfig-006-20250121
    `-- drivers-crypto-ccp-hygon-tdm-kernel-guard.c:error:NR_syscalls-undeclared-(first-use-in-this-function)
elapsed time: 726m
configs tested: 20
configs skipped: 122
tested configs:
arm64                           allmodconfig    clang-18
arm64                            allnoconfig    gcc-14.2.0
arm64                randconfig-001-20250121    gcc-14.2.0
arm64                randconfig-002-20250121    gcc-14.2.0
arm64                randconfig-003-20250121    gcc-14.2.0
arm64                randconfig-004-20250121    clang-18
loongarch                       alldefconfig    gcc-14.2.0
loongarch                       allmodconfig    gcc-14.2.0
loongarch                        allnoconfig    gcc-14.2.0
loongarch            randconfig-001-20250121    gcc-14.2.0
loongarch            randconfig-002-20250121    gcc-14.2.0
x86_64                           allnoconfig    clang-19
x86_64                          allyesconfig    clang-19
x86_64     buildonly-randconfig-001-20250121    gcc-12
x86_64     buildonly-randconfig-002-20250121    clang-19
x86_64     buildonly-randconfig-003-20250121    gcc-12
x86_64     buildonly-randconfig-004-20250121    clang-19
x86_64     buildonly-randconfig-005-20250121    clang-19
x86_64     buildonly-randconfig-006-20250121    gcc-12
x86_64                             defconfig    gcc-11
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0