mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2025 -----
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

March 2025

  • 65 participants
  • 496 discussions
[openeuler:OLK-6.6 2051/2051] include/linux/if_caqm.h:391:23: sparse: sparse: incorrect type in assignment (different base types)
by kernel test robot 23 Mar '25

23 Mar '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 6f6f173b2b8fa65e1ef7ebc6e43b0b02c2a52759 commit: 946747d4a52c34156031e41f9cb5cfb292747dcf [2051/2051] net: tcp: Add CAQM4TCP in the openeuler 6.6 kernel config: arm64-randconfig-r111-20250323 (https://download.01.org/0day-ci/archive/20250323/202503231154.d6j01UpO-lkp@…) compiler: aarch64-linux-gcc (GCC) 9.5.0 reproduce: (https://download.01.org/0day-ci/archive/20250323/202503231154.d6j01UpO-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/202503231154.d6j01UpO-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) net/core/gro.c: note: in included file: >> include/linux/if_caqm.h:391:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] caqm_hdr_info @@ got restricted __be16 [usertype] h_caqm_info @@ include/linux/if_caqm.h:391:23: sparse: expected unsigned short [usertype] caqm_hdr_info include/linux/if_caqm.h:391:23: sparse: got restricted __be16 [usertype] h_caqm_info -- net/ethernet/eth.c: note: in included file: >> include/linux/if_caqm.h:470:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __be16 [usertype] @@ include/linux/if_caqm.h:470:25: sparse: expected unsigned short [usertype] include/linux/if_caqm.h:470:25: sparse: got restricted __be16 [usertype] vim +391 include/linux/if_caqm.h 359 360 static inline void skb_gro_caqm_untag(struct sk_buff *skb) 361 { 362 #ifdef CONFIG_ETH_CAQM 363 struct caqm_hdr *chdr; 364 struct vlan_hdr *vlanhdr; 365 u16 caqm_hdr_info; 366 __be16 proto = skb->protocol; 367 u8 skip_time = 0; 368 int mac_len, meta_len; 369 void *meta; 370 struct caqm_hdr tmp_caqm_data; 371 372 if (!static_branch_unlikely(&sysctl_caqm_enable) || skb_shared(skb)) 373 return; 374 375 /* We may access the two bytes after caqm_hdr in caqm_set_encap_proto(). */ 376 if (unlikely(!pskb_may_pull(skb, VLAN_HLEN * 2 + CAQM_HLEN + sizeof(unsigned short)))) 377 return; 378 379 vlanhdr = (struct vlan_hdr *)(skb->data - VLAN_HLEN); 380 // Skip at most 2 vlan hdr 381 while (skip_time < 2 && eth_type_vlan(proto)) { 382 vlanhdr++; // chdr move a VLAN len 383 skip_time += 1; 384 proto = vlanhdr->h_vlan_encapsulated_proto; 385 } 386 // Look for vlan header, 2 times 387 if (!eth_type_caqm(proto) || skb_cow(skb, skb_headroom(skb)) < 0) 388 return; 389 390 chdr = (struct caqm_hdr *)(((void *)vlanhdr) + VLAN_HLEN); > 391 caqm_hdr_info = chdr->h_caqm_info; 392 __caqm_put_tag(skb, caqm_hdr_info); 393 394 if ((unsigned char *) chdr != skb->data) { 395 // adjust the caqm header before vlan header 396 // 1. Set the vlanhdr->proto as the next 397 vlanhdr->h_vlan_encapsulated_proto = chdr->h_caqm_encapsulated_proto; 398 // 2. Exchange caqm and vlan hdr 399 tmp_caqm_data = *chdr; 400 memmove(skb->data + CAQM_HLEN, skb->data, skip_time * VLAN_HLEN); 401 *(struct caqm_hdr *)(skb->data) = tmp_caqm_data; 402 } else 403 caqm_set_encap_proto(skb, chdr); 404 405 skb_pull_rcsum(skb, CAQM_HLEN); 406 407 mac_len = skb->data - skb_mac_header(skb); 408 if (likely(mac_len > CAQM_HLEN + ETH_TLEN)) { 409 memmove(skb_mac_header(skb) + CAQM_HLEN, skb_mac_header(skb), 410 mac_len - CAQM_HLEN - ETH_TLEN); 411 } 412 413 meta_len = skb_metadata_len(skb); 414 if (meta_len) { 415 meta = skb_metadata_end(skb) - meta_len; 416 memmove(meta + CAQM_HLEN, meta, meta_len); 417 } 418 419 skb->mac_header += CAQM_HLEN; 420 421 skb_reset_network_header(skb); 422 if (!skb_transport_header_was_set(skb)) 423 skb_reset_transport_header(skb); 424 skb_reset_mac_len(skb); 425 426 #endif 427 } 428 429 #ifdef CONFIG_ETH_CAQM 430 static inline __be16 caqm_get_protocol_and_depth(struct sk_buff *skb, 431 __be16 type, int *depth) 432 { 433 type = vlan_get_protocol_and_depth(skb, type, depth); 434 if (static_branch_unlikely(&sysctl_caqm_enable) && eth_type_caqm(type)) 435 return caqm_get_protocol_and_depth_after_vlan(skb, type, depth); 436 else 437 return type; 438 } 439 #endif 440 441 static inline void caqm_update_hint_in_gro(struct sk_buff *skb, struct sk_buff *p) 442 { 443 #ifdef CONFIG_ETH_CAQM 444 struct skb_caqm_info *cinfo_p = get_skb_caqm_info(p); 445 struct skb_caqm_info *cinfo_skb = get_skb_caqm_info(skb); 446 447 if (static_branch_unlikely(&sysctl_caqm_enable) && cinfo_p->recv_en && cinfo_skb->recv_en) { 448 cinfo_p->recv_hint += cinfo_skb->recv_hint; 449 cinfo_skb->recv_en = 0; 450 } 451 #endif 452 } 453 454 static inline int caqm_add_eth_header(struct sk_buff *skb, unsigned short *type, 455 struct net_device *dev) 456 { 457 #ifdef CONFIG_ETH_CAQM 458 struct skb_caqm_info *cinfo = get_skb_caqm_info(skb); 459 460 if (static_branch_unlikely(&sysctl_caqm_enable) && 461 (sysctl_caqm_filter_nics & (1UL << dev->ifindex)) == 0) 462 cinfo->send_en = 0; 463 if (static_branch_unlikely(&sysctl_caqm_enable) && cinfo->send_en) { 464 cinfo->send_en = 0; 465 if (unlikely(skb_headroom(skb) < ETH_HLEN + CAQM_HLEN)) 466 return -ETH_HLEN; 467 u16 *chdr = skb_push(skb, CAQM_HLEN); 468 469 chdr[0] = (cinfo->send_hdr); > 470 chdr[1] = htons(*type); 471 *type = (unsigned short)sysctl_caqm_tpid; 472 } 473 #endif 474 return 0; 475 } 476 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2051/2051] mm/memblock.c:1409:20: sparse: sparse: symbol 'memblock_alloc_range_nid_flags' was not declared. Should it be static?
by kernel test robot 23 Mar '25

23 Mar '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 6f6f173b2b8fa65e1ef7ebc6e43b0b02c2a52759 commit: 64018b291c1f49622c4b23b303364d760306d662 [2051/2051] mm/memblock: Introduce ability to alloc memory from specify memory region config: loongarch-randconfig-r131-20250323 (https://download.01.org/0day-ci/archive/20250323/202503231106.ZSS1yt6E-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce: (https://download.01.org/0day-ci/archive/20250323/202503231106.ZSS1yt6E-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/202503231106.ZSS1yt6E-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> mm/memblock.c:1409:20: sparse: sparse: symbol 'memblock_alloc_range_nid_flags' was not declared. Should it be static? vim +/memblock_alloc_range_nid_flags +1409 mm/memblock.c 1386 1387 /** 1388 * memblock_alloc_range_nid_flags - allocate boot memory block with specify flag 1389 * @size: size of memory block to be allocated in bytes 1390 * @align: alignment of the region and block's size 1391 * @start: the lower bound of the memory region to allocate (phys address) 1392 * @end: the upper bound of the memory region to allocate (phys address) 1393 * @nid: nid of the free area to find, %NUMA_NO_NODE for any node 1394 * @exact_nid: control the allocation fall back to other nodes 1395 * @flags: alloc memory from specify memblock flag 1396 * 1397 * The allocation is performed from memory region limited by 1398 * memblock.current_limit if @end == %MEMBLOCK_ALLOC_ACCESSIBLE. 1399 * 1400 * If the specified node can not hold the requested memory and @exact_nid 1401 * is false, the allocation falls back to any node in the system. 1402 * 1403 * In addition, function sets the min_count to 0 using kmemleak_alloc_phys for 1404 * allocated boot memory block, so that it is never reported as leaks. 1405 * 1406 * Return: 1407 * Physical address of allocated memory block on success, %0 on failure. 1408 */ > 1409 phys_addr_t __init memblock_alloc_range_nid_flags(phys_addr_t size, 1410 phys_addr_t align, phys_addr_t start, 1411 phys_addr_t end, int nid, 1412 bool exact_nid, 1413 enum memblock_flags flags) 1414 { 1415 phys_addr_t found; 1416 1417 if (WARN_ONCE(nid == MAX_NUMNODES, "Usage of MAX_NUMNODES is deprecated. Use NUMA_NO_NODE instead\n")) 1418 nid = NUMA_NO_NODE; 1419 1420 if (!align) { 1421 /* Can't use WARNs this early in boot on powerpc */ 1422 dump_stack(); 1423 align = SMP_CACHE_BYTES; 1424 } 1425 1426 again: 1427 found = memblock_find_in_range_node(size, align, start, end, nid, 1428 flags); 1429 if (found && !memblock_reserve(found, size)) 1430 goto done; 1431 1432 if (nid != NUMA_NO_NODE && !exact_nid) { 1433 found = memblock_find_in_range_node(size, align, start, 1434 end, NUMA_NO_NODE, 1435 flags); 1436 if (found && !memblock_reserve(found, size)) 1437 goto done; 1438 } 1439 1440 if (flags & MEMBLOCK_MIRROR) { 1441 flags &= ~MEMBLOCK_MIRROR; 1442 pr_warn_ratelimited("Could not allocate %pap bytes of mirrored memory\n", 1443 &size); 1444 goto again; 1445 } 1446 1447 return 0; 1448 1449 done: 1450 /* 1451 * Skip kmemleak for those places like kasan_init() and 1452 * early_pgtable_alloc() due to high volume. 1453 */ 1454 if (end != MEMBLOCK_ALLOC_NOLEAKTRACE) 1455 /* 1456 * Memblock allocated blocks are never reported as 1457 * leaks. This is because many of these blocks are 1458 * only referred via the physical address which is 1459 * not looked up by kmemleak. 1460 */ 1461 kmemleak_alloc_phys(found, size, 0); 1462 1463 /* 1464 * Some Virtual Machine platforms, such as Intel TDX or AMD SEV-SNP, 1465 * require memory to be accepted before it can be used by the 1466 * guest. 1467 * 1468 * Accept the memory of the allocated buffer. 1469 */ 1470 accept_memory(found, found + size); 1471 1472 return found; 1473 } 1474 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2051/2051] kernel/sched/core.c:11516:4: warning: format specifies type 'unsigned long long' but the argument has type 'int'
by kernel test robot 23 Mar '25

23 Mar '25
Hi Hui, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 6f6f173b2b8fa65e1ef7ebc6e43b0b02c2a52759 commit: 6eb07f9925a906d81f328c808ba25f7800888dce [2051/2051] sched: Introduce smart grid scheduling strategy for cfs config: arm64-randconfig-r061-20250323 (https://download.01.org/0day-ci/archive/20250323/202503231038.JR2kOoEd-lkp@…) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250323/202503231038.JR2kOoEd-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/202503231038.JR2kOoEd-lkp@intel.com/ All warnings (new ones prefixed by >>): kernel/sched/core.c:11374:5: warning: no previous prototype for function 'tg_set_dynamic_affinity_mode' [-Wmissing-prototypes] int tg_set_dynamic_affinity_mode(struct task_group *tg, u64 mode) ^ kernel/sched/core.c:11374:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int tg_set_dynamic_affinity_mode(struct task_group *tg, u64 mode) ^ static kernel/sched/core.c:11415:5: warning: no previous prototype for function 'tg_set_affinity_period' [-Wmissing-prototypes] int tg_set_affinity_period(struct task_group *tg, u64 period_ms) ^ kernel/sched/core.c:11415:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int tg_set_affinity_period(struct task_group *tg, u64 period_ms) ^ static kernel/sched/core.c:11429:5: warning: no previous prototype for function 'tg_get_affinity_period' [-Wmissing-prototypes] u64 tg_get_affinity_period(struct task_group *tg) ^ kernel/sched/core.c:11429:1: note: declare 'static' if the function is not intended to be used outside of this translation unit u64 tg_get_affinity_period(struct task_group *tg) ^ static >> kernel/sched/core.c:11516:4: warning: format specifies type 'unsigned long long' but the argument has type 'int' [-Wformat] schedstat_val(ad->stay_cnt[i])); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/stats.h:100:32: note: expanded from macro 'schedstat_val' # define schedstat_val(var) 0 ^ 4 warnings generated. vim +11516 kernel/sched/core.c 11493 11494 static int cpu_affinity_stat_show(struct seq_file *sf, void *v) 11495 { 11496 struct task_group *tg = css_tg(seq_css(sf)); 11497 struct auto_affinity *auto_affi = tg->auto_affinity; 11498 struct affinity_domain *ad; 11499 int i; 11500 11501 /* No stat when dynamic affinity disabled */ 11502 if (!dynamic_affinity_enabled()) 11503 return -EPERM; 11504 11505 if (unlikely(!auto_affi)) 11506 return -EPERM; 11507 11508 ad = &auto_affi->ad; 11509 seq_printf(sf, "period_active %d\n", auto_affi->period_active); 11510 seq_printf(sf, "dcount %d\n", ad->dcount); 11511 seq_printf(sf, "domain_mask 0x%x\n", ad->domain_mask); 11512 seq_printf(sf, "curr_level %d\n", ad->curr_level); 11513 for (i = 0; i < ad->dcount; i++) 11514 seq_printf(sf, "sd_level %d, cpu list %*pbl, stay_cnt %llu\n", 11515 i, cpumask_pr_args(ad->domains[i]), 11516 schedstat_val(ad->stay_cnt[i])); 11517 11518 return 0; 11519 } 11520 #endif /* CONFIG_QOS_SCHED_SMART_GRID */ 11521 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2051/2051] drivers/net/ethernet/huawei/hinic/hinic_hwif.c:46:16: sparse: sparse: incorrect type in argument 1 (different base types)
by kernel test robot 23 Mar '25

23 Mar '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 6f6f173b2b8fa65e1ef7ebc6e43b0b02c2a52759 commit: 9c1c9598010fbb9daa1e2a67d23830092fb6246a [2051/2051] net/hinic: Update Huawei Intelligent Network Card Driver: hinic config: arm64-randconfig-r111-20250323 (https://download.01.org/0day-ci/archive/20250323/202503231008.CBNqLNFq-lkp@…) compiler: aarch64-linux-gcc (GCC) 9.5.0 reproduce: (https://download.01.org/0day-ci/archive/20250323/202503231008.CBNqLNFq-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/202503231008.CBNqLNFq-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/net/ethernet/huawei/hinic/hinic_hwif.c:40:16: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:40:16: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:40:16: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:40:16: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:40:16: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:40:16: sparse: sparse: cast to restricted __be32 >> drivers/net/ethernet/huawei/hinic/hinic_hwif.c:46:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@ drivers/net/ethernet/huawei/hinic/hinic_hwif.c:46:16: sparse: expected unsigned int [usertype] value drivers/net/ethernet/huawei/hinic/hinic_hwif.c:46:16: sparse: got restricted __be32 [usertype] drivers/net/ethernet/huawei/hinic/hinic_hwif.c:592:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem *cfg_regs_base @@ got void *cfg_reg_base @@ drivers/net/ethernet/huawei/hinic/hinic_hwif.c:592:29: sparse: expected unsigned char [noderef] [usertype] __iomem *cfg_regs_base drivers/net/ethernet/huawei/hinic/hinic_hwif.c:592:29: sparse: got void *cfg_reg_base drivers/net/ethernet/huawei/hinic/hinic_hwif.c:593:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem *intr_regs_base @@ got void *intr_reg_base @@ drivers/net/ethernet/huawei/hinic/hinic_hwif.c:593:30: sparse: expected unsigned char [noderef] [usertype] __iomem *intr_regs_base drivers/net/ethernet/huawei/hinic/hinic_hwif.c:593:30: sparse: got void *intr_reg_base drivers/net/ethernet/huawei/hinic/hinic_hwif.c:596:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem *db_base @@ got void *db_base @@ drivers/net/ethernet/huawei/hinic/hinic_hwif.c:596:23: sparse: expected unsigned char [noderef] [usertype] __iomem *db_base drivers/net/ethernet/huawei/hinic/hinic_hwif.c:596:23: sparse: got void *db_base drivers/net/ethernet/huawei/hinic/hinic_hwif.c:597:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *dwqe_mapping @@ got void *dwqe_mapping @@ drivers/net/ethernet/huawei/hinic/hinic_hwif.c:597:28: sparse: expected void [noderef] __iomem *dwqe_mapping drivers/net/ethernet/huawei/hinic/hinic_hwif.c:597:28: sparse: got void *dwqe_mapping >> drivers/net/ethernet/huawei/hinic/hinic_hwif.c:664:64: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted gfp_t [usertype] gfp @@ got unsigned int flag @@ drivers/net/ethernet/huawei/hinic/hinic_hwif.c:664:64: sparse: expected restricted gfp_t [usertype] gfp drivers/net/ethernet/huawei/hinic/hinic_hwif.c:664:64: sparse: got unsigned int flag drivers/net/ethernet/huawei/hinic/hinic_hwif.c:679:64: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted gfp_t [usertype] gfp @@ got unsigned int flag @@ drivers/net/ethernet/huawei/hinic/hinic_hwif.c:679:64: sparse: expected restricted gfp_t [usertype] gfp drivers/net/ethernet/huawei/hinic/hinic_hwif.c:679:64: sparse: got unsigned int flag drivers/net/ethernet/huawei/hinic/hinic_hwif.c:984:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:984:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:984:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:984:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:984:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:984:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:993:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:993:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:993:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:993:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:993:17: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/huawei/hinic/hinic_hwif.c:993:17: sparse: sparse: cast to restricted __be32 vim +46 drivers/net/ethernet/huawei/hinic/hinic_hwif.c 36 37 /* For UEFI driver, this function can only read BAR0 */ 38 u32 hinic_hwif_read_reg(struct hinic_hwif *hwif, u32 reg) 39 { > 40 return be32_to_cpu(readl(hwif->cfg_regs_base + reg)); 41 } 42 43 /* For UEFI driver, this function can only write BAR0 */ 44 void hinic_hwif_write_reg(struct hinic_hwif *hwif, u32 reg, u32 val) 45 { > 46 writel(cpu_to_be32(val), hwif->cfg_regs_base + reg); 47 } 48 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2051/2051] include/linux/userfaultfd_k.h:66:45: sparse: sparse: restricted uffd_flags_t degrades to integer
by kernel test robot 23 Mar '25

23 Mar '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 6f6f173b2b8fa65e1ef7ebc6e43b0b02c2a52759 commit: 0214feb8f616acf62f9a6a2a131f0a1479b2b8af [2051/2051] mm/userswap: introduce UFFDIO_COPY_MODE_DIRECT_MAP config: loongarch-randconfig-r131-20250323 (https://download.01.org/0day-ci/archive/20250323/202503231043.bCX9sPgT-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce: (https://download.01.org/0day-ci/archive/20250323/202503231043.bCX9sPgT-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/202503231043.bCX9sPgT-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) mm/userfaultfd.c:136:9: sparse: sparse: context imbalance in 'mfill_atomic_install_pte' - unexpected unlock mm/userfaultfd.c:243:9: sparse: sparse: context imbalance in 'mfill_atomic_pte_zeropage' - unexpected unlock mm/userfaultfd.c:325:9: sparse: sparse: context imbalance in 'mfill_atomic_pte_poison' - unexpected unlock mm/userfaultfd.c: note: in included file: >> include/linux/userfaultfd_k.h:66:45: sparse: sparse: restricted uffd_flags_t degrades to integer >> include/linux/userfaultfd_k.h:67:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted uffd_flags_t [usertype] flags @@ got unsigned int enum mfill_atomic_mode mode @@ include/linux/userfaultfd_k.h:67:32: sparse: expected restricted uffd_flags_t [usertype] flags include/linux/userfaultfd_k.h:67:32: sparse: got unsigned int enum mfill_atomic_mode mode >> include/linux/userfaultfd_k.h:66:45: sparse: sparse: restricted uffd_flags_t degrades to integer >> include/linux/userfaultfd_k.h:67:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted uffd_flags_t [usertype] flags @@ got unsigned int enum mfill_atomic_mode mode @@ include/linux/userfaultfd_k.h:67:32: sparse: expected restricted uffd_flags_t [usertype] flags include/linux/userfaultfd_k.h:67:32: sparse: got unsigned int enum mfill_atomic_mode mode >> include/linux/userfaultfd_k.h:66:45: sparse: sparse: restricted uffd_flags_t degrades to integer >> include/linux/userfaultfd_k.h:67:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted uffd_flags_t [usertype] flags @@ got unsigned int enum mfill_atomic_mode mode @@ include/linux/userfaultfd_k.h:67:32: sparse: expected restricted uffd_flags_t [usertype] flags include/linux/userfaultfd_k.h:67:32: sparse: got unsigned int enum mfill_atomic_mode mode >> include/linux/userfaultfd_k.h:66:45: sparse: sparse: restricted uffd_flags_t degrades to integer >> include/linux/userfaultfd_k.h:67:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted uffd_flags_t [usertype] flags @@ got unsigned int enum mfill_atomic_mode mode @@ include/linux/userfaultfd_k.h:67:32: sparse: expected restricted uffd_flags_t [usertype] flags include/linux/userfaultfd_k.h:67:32: sparse: got unsigned int enum mfill_atomic_mode mode vim +66 include/linux/userfaultfd_k.h 63 64 static inline uffd_flags_t uffd_flags_set_mode(uffd_flags_t flags, enum mfill_atomic_mode mode) 65 { > 66 if (IS_ENABLED(CONFIG_USERSWAP) && (flags & MFILL_ATOMIC_DIRECT_MAP) && > 67 uffd_flags_mode_is(mode, MFILL_ATOMIC_COPY)) 68 mode = MFILL_ATOMIC_DIRECT_MAP; 69 70 flags &= ~MFILL_ATOMIC_MODE_MASK; 71 return flags | ((__force uffd_flags_t) mode); 72 } 73 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1512/1512] kernel/sched/grid/qos.c:84:31: error: 'struct mempolicy' has no member named 'v'
by kernel test robot 23 Mar '25

23 Mar '25
Hi Wang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: abf385ef625e6aeb4923da42fef9ebce788f4ecf commit: ce35ded5d5774f055f6850b15032066ff4936414 [1512/1512] sched: smart grid: init sched_grid_qos structure on QOS purpose config: arm64-randconfig-r061-20250323 (https://download.01.org/0day-ci/archive/20250323/202503230934.Ug2Wd8BQ-lkp@…) compiler: aarch64-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250323/202503230934.Ug2Wd8BQ-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/202503230934.Ug2Wd8BQ-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from kernel/sched/grid/qos.c:19: kernel/sched/grid/qos.c: In function 'sched_grid_preferred_interleave_nid': >> kernel/sched/grid/qos.c:84:31: error: 'struct mempolicy' has no member named 'v' 84 | if (nodes_equal(policy->v.nodes, *preferred_nmask)) | ^~ include/linux/nodemask.h:202:41: note: in definition of macro 'nodes_equal' 202 | __nodes_equal(&(src1), &(src2), MAX_NUMNODES) | ^~~~ kernel/sched/grid/qos.c:91:32: error: 'struct mempolicy' has no member named 'v' 91 | nodes_and(nmask, policy->v.nodes, *preferred_nmask); | ^~ include/linux/nodemask.h:162:47: note: in definition of macro 'nodes_and' 162 | __nodes_and(&(dst), &(src1), &(src2), MAX_NUMNODES) | ^~~~ >> kernel/sched/grid/qos.c:95:31: error: 'struct task_struct' has no member named 'il_prev' 95 | next = next_node_in(me->il_prev, nmask); | ^~ include/linux/nodemask.h:278:46: note: in definition of macro 'next_node_in' 278 | #define next_node_in(n, src) __next_node_in((n), &(src)) | ^ kernel/sched/grid/qos.c:97:19: error: 'struct task_struct' has no member named 'il_prev' 97 | me->il_prev = next; | ^~ In file included from kernel/sched/grid/qos.c:20: At top level: include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used [-Wunused-function] 329 | static long __do_mbind(unsigned long start, unsigned long len, | ^~~~~~~~~~ vim +84 kernel/sched/grid/qos.c > 19 #include <linux/nodemask.h> 20 #include <linux/mempolicy.h> 21 #include <linux/slab.h> 22 #include <linux/sched.h> 23 #include <linux/sched/grid_qos.h> 24 #include "internal.h" 25 26 static int qos_affinity_set(struct task_struct *p) 27 { 28 int n; 29 struct sched_grid_qos_affinity *affinity = &p->grid_qos->affinity; 30 31 nodes_clear(affinity->mem_preferred_node_mask); 32 /* 33 * We want the memory allocation to be as close to the CPU 34 * as possible, and adjust after getting memory bandwidth usage. 35 */ 36 for (n = 0; n < nr_node_ids; n++) 37 if (cpumask_intersects(cpumask_of_node(n), p->prefer_cpus)) 38 node_set(n, affinity->mem_preferred_node_mask); 39 40 return 0; 41 } 42 43 int sched_grid_qos_fork(struct task_struct *p, struct task_struct *orig) 44 { 45 struct sched_grid_qos *qos; 46 47 qos = kzalloc(sizeof(*qos), GFP_KERNEL); 48 if (!qos) 49 return -ENOMEM; 50 51 qos_power_init(&qos->power); 52 qos_stat_init(&qos->stat); 53 54 nodes_clear(qos->affinity.mem_preferred_node_mask); 55 if (likely(orig->grid_qos)) 56 qos->affinity = orig->grid_qos->affinity; 57 qos->affinity_set = qos_affinity_set; 58 p->grid_qos = qos; 59 60 return 0; 61 } 62 63 void sched_grid_qos_free(struct task_struct *p) 64 { 65 kfree(p->grid_qos); 66 p->grid_qos = NULL; 67 } 68 69 /* dynamic select a more appropriate preferred interleave nid for process */ 70 int sched_grid_preferred_interleave_nid(struct mempolicy *policy) 71 { 72 nodemask_t nmask; 73 unsigned int next; 74 struct task_struct *me = current; 75 nodemask_t *preferred_nmask = NULL; 76 77 if (likely(me->grid_qos)) 78 preferred_nmask = 79 &me->grid_qos->affinity.mem_preferred_node_mask; 80 81 if (!preferred_nmask || !policy) 82 return NUMA_NO_NODE; 83 > 84 if (nodes_equal(policy->v.nodes, *preferred_nmask)) 85 return NUMA_NO_NODE; 86 /* 87 * We perceive the actual consumption of memory bandwidth 88 * in each node and post a preferred interleave nid in 89 * more appropriate range. 90 */ > 91 nodes_and(nmask, policy->v.nodes, *preferred_nmask); 92 if (nodes_empty(nmask)) 93 return NUMA_NO_NODE; 94 > 95 next = next_node_in(me->il_prev, nmask); 96 if (next < MAX_NUMNODES) 97 me->il_prev = next; 98 return next; 99 } 100 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2051/2051] mm/mem_reliable.c:345:2: error: implicit declaration of function 'mem_reliable_ctrl_bit_disable' is invalid in C99
by kernel test robot 23 Mar '25

23 Mar '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 6f6f173b2b8fa65e1ef7ebc6e43b0b02c2a52759 commit: 425771499c0742a996ab28df143d7a5123102686 [2051/2051] mm: mem_reliable: Introduce proc interface to disable memory reliable features config: arm64-randconfig-r061-20250323 (https://download.01.org/0day-ci/archive/20250323/202503230912.NNxJbHgI-lkp@…) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250323/202503230912.NNxJbHgI-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/202503230912.NNxJbHgI-lkp@intel.com/ All errors (new ones prefixed by >>): >> mm/mem_reliable.c:345:2: error: implicit declaration of function 'mem_reliable_ctrl_bit_disable' is invalid in C99 [-Werror,-Wimplicit-function-declaration] mem_reliable_ctrl_bit_disable(idx); ^ mm/mem_reliable.c:345:2: note: did you mean 'mem_reliable_ctrl_bit_disabled'? mm/mem_reliable.c:320:13: note: 'mem_reliable_ctrl_bit_disabled' declared here static void mem_reliable_ctrl_bit_disabled(int idx) {} ^ 1 error generated. vim +/mem_reliable_ctrl_bit_disable +345 mm/mem_reliable.c 322 323 static void mem_reliable_feature_disable(int idx) 324 { 325 char *str = NULL; 326 327 switch (idx) { 328 case MEM_RELIABLE_FALLBACK: 329 reliable_allow_fallback = false; 330 str = "fallback"; 331 break; 332 case MEM_RELIABLE_SHMEM: 333 shmem_reliable = false; 334 str = "shmem"; 335 break; 336 case MEM_RELIABLE_PAGECACHE: 337 pagecache_reliable = false; 338 str = "pagecache"; 339 break; 340 default: 341 pr_err("unknown index: %d", idx); 342 return; 343 } 344 > 345 mem_reliable_ctrl_bit_disable(idx); 346 pr_info("%s is disabled\n", str); 347 } 348 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2051/2051] mm/memcontrol.c:3147:6: warning: no previous prototype for 'hisi_oom_recover'
by kernel test robot 23 Mar '25

23 Mar '25
Hi Weilong, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 6f6f173b2b8fa65e1ef7ebc6e43b0b02c2a52759 commit: b498d9f1bacd40d583c0970cab02ad522127a7e7 [2051/2051] arm64/ascend: Add new enable_oom_killer interface for oom contrl config: arm64-randconfig-r111-20250323 (https://download.01.org/0day-ci/archive/20250323/202503230914.IDoSqyA4-lkp@…) compiler: aarch64-linux-gcc (GCC) 9.5.0 reproduce: (https://download.01.org/0day-ci/archive/20250323/202503230914.IDoSqyA4-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/202503230914.IDoSqyA4-lkp@intel.com/ All warnings (new ones prefixed by >>): >> mm/memcontrol.c:3147:6: warning: no previous prototype for 'hisi_oom_recover' [-Wmissing-prototypes] 3147 | void hisi_oom_recover(struct obj_cgroup *objcg) | ^~~~~~~~~~~~~~~~ sparse warnings: (new ones prefixed by >>) >> mm/memcontrol.c:3147:6: sparse: sparse: symbol 'hisi_oom_recover' was not declared. Should it be static? mm/memcontrol.c:4228:21: sparse: sparse: incompatible types in comparison expression (different address spaces): mm/memcontrol.c:4228:21: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu * mm/memcontrol.c:4228:21: sparse: struct mem_cgroup_threshold_ary * mm/memcontrol.c:4230:21: sparse: sparse: incompatible types in comparison expression (different address spaces): mm/memcontrol.c:4230:21: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu * mm/memcontrol.c:4230:21: sparse: struct mem_cgroup_threshold_ary * mm/memcontrol.c:4386:9: sparse: sparse: incompatible types in comparison expression (different address spaces): mm/memcontrol.c:4386:9: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu * mm/memcontrol.c:4386:9: sparse: struct mem_cgroup_threshold_ary * mm/memcontrol.c:4480:9: sparse: sparse: incompatible types in comparison expression (different address spaces): mm/memcontrol.c:4480:9: sparse: struct mem_cgroup_threshold_ary [noderef] __rcu * mm/memcontrol.c:4480:9: sparse: struct mem_cgroup_threshold_ary * mm/memcontrol.c:6198:23: sparse: sparse: incompatible types in comparison expression (different address spaces): mm/memcontrol.c:6198:23: sparse: struct task_struct [noderef] __rcu * mm/memcontrol.c:6198:23: sparse: struct task_struct * mm/memcontrol.c:6415:52: sparse: sparse: incompatible types in comparison expression (different address spaces): mm/memcontrol.c:6415:52: sparse: struct task_struct [noderef] __rcu * mm/memcontrol.c:6415:52: sparse: struct task_struct * mm/memcontrol.c:1320:18: sparse: sparse: context imbalance in 'folio_lruvec_lock' - wrong count at exit mm/memcontrol.c:1343:22: sparse: sparse: context imbalance in 'folio_lruvec_lock_irq' - wrong count at exit mm/memcontrol.c: note: in included file (through include/linux/spinlock.h, include/linux/wait.h, include/linux/pid.h, ...): include/linux/spinlock_api_smp.h:111:9: sparse: sparse: context imbalance in 'folio_lruvec_lock_irqsave' - wrong count at exit mm/memcontrol.c:2111:6: sparse: sparse: context imbalance in 'folio_memcg_lock' - wrong count at exit mm/memcontrol.c:2158:17: sparse: sparse: context imbalance in '__folio_memcg_unlock' - unexpected unlock mm/memcontrol.c:6058:9: sparse: sparse: context imbalance in 'mem_cgroup_count_precharge_pte_range' - unexpected unlock mm/memcontrol.c:6326:9: sparse: sparse: context imbalance in 'mem_cgroup_move_charge_pte_range' - unexpected unlock vim +/hisi_oom_recover +3147 mm/memcontrol.c 3145 3146 #ifdef CONFIG_ASCEND_OOM > 3147 void hisi_oom_recover(struct obj_cgroup *objcg) 3148 { 3149 struct mem_cgroup *memcg; 3150 3151 memcg = get_mem_cgroup_from_objcg(objcg); 3152 if (!mem_cgroup_is_root(memcg)) 3153 memcg_oom_recover(memcg); 3154 css_put(&memcg->css); 3155 } 3156 #else 3157 static inline void hisi_oom_recover(struct obj_cgroup *objcg) { } 3158 #endif 3159 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2050/2050] kernel/module/strict_rwx.c:36:6: warning: no previous prototype for function 'module_disable_ro'
by kernel test robot 23 Mar '25

23 Mar '25
Hi Zheng, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 6f6f173b2b8fa65e1ef7ebc6e43b0b02c2a52759 commit: c8783f92771c891518257c9deb22cd91d4e1a212 [2050/2050] livepatch/core: Revert module_enable_ro and module_disable_ro config: x86_64-randconfig-161-20250322 (https://download.01.org/0day-ci/archive/20250323/202503230511.2940KCeN-lkp@…) compiler: clang version 20.1.1 (https://github.com/llvm/llvm-project 424c2d9b7e4de40d0804dd374721e6411c27d1d1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250323/202503230511.2940KCeN-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/202503230511.2940KCeN-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from kernel/module/strict_rwx.c:9: In file included from include/linux/mm.h:2181: 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_" | ~~~~~~~~~~~ ^ ~~~ >> kernel/module/strict_rwx.c:36:6: warning: no previous prototype for function 'module_disable_ro' [-Wmissing-prototypes] 36 | void module_disable_ro(const struct module *mod) | ^ kernel/module/strict_rwx.c:36:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 36 | void module_disable_ro(const struct module *mod) | ^ | static 2 warnings generated. vim +/module_disable_ro +36 kernel/module/strict_rwx.c 34 35 #ifdef CONFIG_LIVEPATCH_WO_FTRACE > 36 void module_disable_ro(const struct module *mod) 37 { 38 if (!IS_ENABLED(CONFIG_STRICT_MODULE_RWX)) 39 return; 40 #ifdef CONFIG_STRICT_MODULE_RWX 41 if (!rodata_enabled) 42 return; 43 #endif 44 45 module_set_memory(mod, MOD_TEXT, set_memory_rw); 46 module_set_memory(mod, MOD_INIT_TEXT, set_memory_rw); 47 module_set_memory(mod, MOD_RODATA, set_memory_rw); 48 module_set_memory(mod, MOD_INIT_RODATA, set_memory_rw); 49 } 50 #endif /* CONFIG_LIVEPATCH_WO_FTRACE */ 51 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1510/1510] mm/page_alloc.c:4648:27: sparse: sparse: invalid assignment: &=
by kernel test robot 22 Mar '25

22 Mar '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: abf385ef625e6aeb4923da42fef9ebce788f4ecf commit: 875ffd41499ee5a3512da409cbd4c2ffd32b3cfa [1510/1510] mm: Do limit checking after memory allocation for memory reliable config: arm64-randconfig-r132-20250322 (https://download.01.org/0day-ci/archive/20250322/202503222010.7VOhhbEu-lkp@…) compiler: aarch64-linux-gcc (GCC) 13.3.0 reproduce: (https://download.01.org/0day-ci/archive/20250322/202503222010.7VOhhbEu-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/202503222010.7VOhhbEu-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) mm/page_alloc.c:140:1: sparse: sparse: symbol 'pcpu_drain_mutex' was not declared. Should it be static? mm/page_alloc.c: note: in included file (through include/linux/mm.h): include/linux/gfp.h:324:27: sparse: sparse: restricted gfp_t degrades to integer include/linux/gfp.h:324:27: sparse: sparse: restricted gfp_t degrades to integer >> mm/page_alloc.c:4648:27: sparse: sparse: invalid assignment: &= mm/page_alloc.c:4648:27: sparse: left side has type restricted gfp_t mm/page_alloc.c:4648:27: sparse: right side has type int mm/page_alloc.c:1489:6: warning: no previous prototype for 'set_zone_contiguous' [-Wmissing-prototypes] 1489 | void set_zone_contiguous(struct zone *zone) | ^~~~~~~~~~~~~~~~~~~ mm/page_alloc.c:1511:6: warning: no previous prototype for 'clear_zone_contiguous' [-Wmissing-prototypes] 1511 | void clear_zone_contiguous(struct zone *zone) | ^~~~~~~~~~~~~~~~~~~~~ mm/page_alloc.c: In function 'mem_init_print_info': mm/page_alloc.c:7470:27: warning: comparison between two arrays [-Warray-compare] 7470 | if (start <= pos && pos < end && size > adj) 23- | ^~ mm/page_alloc.c:7474:9: note: in expansion of macro 'adj_init_size' 7474 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:27: note: use '&__init_begin[0] <= &_sinittext[0]' to compare the addresses 7470 | if (start <= pos && pos < end && size > adj) 29- | ^~ mm/page_alloc.c:7474:9: note: in expansion of macro 'adj_init_size' 7474 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:41: warning: comparison between two arrays [-Warray-compare] 7470 | if (start <= pos && pos < end && size > adj) 35- | ^ mm/page_alloc.c:7474:9: note: in expansion of macro 'adj_init_size' 7474 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:41: note: use '&_sinittext[0] < &__init_end[0]' to compare the addresses 7470 | if (start <= pos && pos < end && size > adj) 41- | ^ mm/page_alloc.c:7474:9: note: in expansion of macro 'adj_init_size' 7474 | adj_init_size(__init_begin, __init_end, init_data_size, | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:27: warning: comparison between two arrays [-Warray-compare] 7470 | if (start <= pos && pos < end && size > adj) 47- | ^~ mm/page_alloc.c:7476:9: note: in expansion of macro 'adj_init_size' 7476 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:27: note: use '&_stext[0] <= &_sinittext[0]' to compare the addresses 7470 | if (start <= pos && pos < end && size > adj) 53- | ^~ mm/page_alloc.c:7476:9: note: in expansion of macro 'adj_init_size' 7476 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:41: warning: comparison between two arrays [-Warray-compare] 7470 | if (start <= pos && pos < end && size > adj) 59- | ^ mm/page_alloc.c:7476:9: note: in expansion of macro 'adj_init_size' 7476 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:41: note: use '&_sinittext[0] < &_etext[0]' to compare the addresses 7470 | if (start <= pos && pos < end && size > adj) 65- | ^ mm/page_alloc.c:7476:9: note: in expansion of macro 'adj_init_size' 7476 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:27: warning: comparison between two arrays [-Warray-compare] 7470 | if (start <= pos && pos < end && size > adj) 71- | ^~ mm/page_alloc.c:7477:9: note: in expansion of macro 'adj_init_size' 7477 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:27: note: use '&_sdata[0] <= &__init_begin[0]' to compare the addresses 7470 | if (start <= pos && pos < end && size > adj) 77- | ^~ mm/page_alloc.c:7477:9: note: in expansion of macro 'adj_init_size' 7477 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:41: warning: comparison between two arrays [-Warray-compare] 7470 | if (start <= pos && pos < end && size > adj) 83- | ^ mm/page_alloc.c:7477:9: note: in expansion of macro 'adj_init_size' 7477 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:41: note: use '&__init_begin[0] < &_edata[0]' to compare the addresses 7470 | if (start <= pos && pos < end && size > adj) 89- | ^ mm/page_alloc.c:7477:9: note: in expansion of macro 'adj_init_size' 7477 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:27: warning: comparison between two arrays [-Warray-compare] 7470 | if (start <= pos && pos < end && size > adj) 95- | ^~ mm/page_alloc.c:7478:9: note: in expansion of macro 'adj_init_size' 7478 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:27: note: use '&_stext[0] <= &__start_rodata[0]' to compare the addresses 7470 | if (start <= pos && pos < end && size > adj) 101- | ^~ mm/page_alloc.c:7478:9: note: in expansion of macro 'adj_init_size' 7478 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:41: warning: comparison between two arrays [-Warray-compare] 7470 | if (start <= pos && pos < end && size > adj) 107- | ^ mm/page_alloc.c:7478:9: note: in expansion of macro 'adj_init_size' 7478 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize); | ^~~~~~~~~~~~~ mm/page_alloc.c:7470:41: note: use '&__start_rodata[0] < &_etext[0]' to compare the addresses vim +4648 mm/page_alloc.c 4606 4607 /* 4608 * return true means memory allocation need retry and flag ___GFP_RELIABILITY 4609 * must be cleared. 4610 */ 4611 static inline bool check_after_alloc(gfp_t *gfp_mask, unsigned int order, 4612 int preferred_nid, nodemask_t *nodemask, 4613 struct page **_page) 4614 { 4615 if (!mem_reliable_is_enabled()) 4616 return false; 4617 4618 if (!(*gfp_mask & ___GFP_RELIABILITY)) 4619 return false; 4620 4621 if (!*_page) 4622 goto out_retry; 4623 4624 if (*gfp_mask & __GFP_NOFAIL) 4625 goto out; 4626 4627 /* check water mark, reserver mirrored mem for kernel */ 4628 if (!mem_reliable_watermark_ok(1 << order)) 4629 goto out_free_page; 4630 4631 /* percpu counter is not initialized, ignore limit check */ 4632 if (!mem_reliable_counter_initialized()) 4633 goto out; 4634 4635 /* spcial user task, systemd is limited by task_reliable_limit */ 4636 if (((current->flags & PF_RELIABLE) || is_global_init(current)) && 4637 !reliable_mem_limit_check(1 << order)) 4638 goto out_free_page; 4639 4640 goto out; 4641 4642 out_free_page: 4643 __free_pages(*_page, order); 4644 *_page = NULL; 4645 4646 out_retry: 4647 if (reliable_allow_fb_enabled() || is_global_init(current)) { > 4648 *gfp_mask &= ~___GFP_RELIABILITY; 4649 return true; 4650 } 4651 4652 if (*gfp_mask & (__GFP_NORETRY | __GFP_RETRY_MAYFAIL | __GFP_THISNODE)) 4653 goto out; 4654 4655 /* Coredumps can quickly deplete all memory reserves */ 4656 if (current->flags & PF_DUMPCORE) 4657 goto out; 4658 /* The OOM killer will not help higher order allocs */ 4659 if (order > PAGE_ALLOC_COSTLY_ORDER) 4660 goto out; 4661 4662 /* oom here */ 4663 mem_reliable_out_of_memory(*gfp_mask, order, preferred_nid, 4664 nodemask); 4665 out: 4666 return false; 4667 } 4668 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • ...
  • 50
  • Older →

HyperKitty Powered by HyperKitty