Kernel
Threads by month
- ----- 2025 -----
- 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
- 55 participants
- 16918 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