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

  • 58 participants
  • 18335 discussions
[openeuler:OLK-6.6 1613/1613] arch/loongarch/kernel/dma.c:37:42: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot 14 Dec '24

14 Dec '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: d68dc6ee371ec5466be9b2d76bdca0b360940adc commit: 90d2bbc1ade2216bda17fb582a1aaabf7567478f [1613/1613] LoongArch: use arch specific phys_to_dma config: loongarch-randconfig-r111-20241210 (https://download.01.org/0day-ci/archive/20241214/202412141716.TzMSDkUc-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce: (https://download.01.org/0day-ci/archive/20241214/202412141716.TzMSDkUc-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/202412141716.TzMSDkUc-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> arch/loongarch/kernel/dma.c:37:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void volatile * @@ arch/loongarch/kernel/dma.c:37:42: sparse: expected void const volatile [noderef] __iomem *addr arch/loongarch/kernel/dma.c:37:42: sparse: got void volatile * arch/loongarch/kernel/dma.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/slab.h, ...): include/linux/page-flags.h:242:46: sparse: sparse: self-comparison always evaluates to false vim +37 arch/loongarch/kernel/dma.c 29 30 void acpi_arch_dma_setup(struct device *dev) 31 { 32 int ret; 33 u64 mask, end = 0; 34 const struct bus_dma_region *map = NULL; 35 36 if (node_id_offset == 0) { > 37 node_id_offset = ((readl(LS7A_DMA_CFG) & LS7A_DMA_NODE_MASK) >> LS7A_DMA_NODE_SHF); 38 node_id_offset += 36; 39 } 40 41 ret = acpi_dma_get_range(dev, &map); 42 if (!ret && map) { 43 const struct bus_dma_region *r = map; 44 45 for (end = 0; r->size; r++) { 46 if (r->dma_start + r->size - 1 > end) 47 end = r->dma_start + r->size - 1; 48 } 49 50 mask = DMA_BIT_MASK(ilog2(end) + 1); 51 dev->bus_dma_limit = end; 52 dev->dma_range_map = map; 53 dev->coherent_dma_mask = min(dev->coherent_dma_mask, mask); 54 *dev->dma_mask = min(*dev->dma_mask, mask); 55 } 56 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1636/1636] drivers/iommu/loongarch_iommu.c:610:6: warning: no previous prototype for 'domain_deattach_iommu'
by kernel test robot 14 Dec '24

14 Dec '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: d68dc6ee371ec5466be9b2d76bdca0b360940adc commit: 72fe4978ee346c10869113410da1b61710dd8d8f [1636/1636] LoongArch: add iommu support config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20241214/202412141302.zMMD8AS7-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241214/202412141302.zMMD8AS7-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/202412141302.zMMD8AS7-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/iommu/loongarch_iommu.c:610:6: warning: no previous prototype for 'domain_deattach_iommu' [-Wmissing-prototypes] 610 | void domain_deattach_iommu(struct dom_info *priv, struct iommu_info *info) | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:651:29: warning: no previous prototype for 'lookup_rlooptable' [-Wmissing-prototypes] 651 | struct iommu_rlookup_entry *lookup_rlooptable(int pcisegment) | ^~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:662:25: warning: no previous prototype for 'find_iommu_by_dev' [-Wmissing-prototypes] 662 | struct loongarch_iommu *find_iommu_by_dev(struct pci_dev *pdev) | ^~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:684:22: warning: no previous prototype for 'iommu_init_device' [-Wmissing-prototypes] 684 | struct iommu_device *iommu_init_device(struct device *dev) | ^~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:721:22: warning: no previous prototype for 'la_iommu_probe_device' [-Wmissing-prototypes] 721 | struct iommu_device *la_iommu_probe_device(struct device *dev) | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:752:20: warning: no previous prototype for 'get_iommu_info_from_dom' [-Wmissing-prototypes] 752 | struct iommu_info *get_iommu_info_from_dom(struct dom_info *priv, struct loongarch_iommu *iommu) | ^~~~~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:767:20: warning: no previous prototype for 'domain_attach_iommu' [-Wmissing-prototypes] 767 | struct iommu_info *domain_attach_iommu(struct dom_info *priv, struct loongarch_iommu *iommu) | ^~~~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:1197:25: warning: no previous prototype for 'loongarch_get_iommu_by_devid' [-Wmissing-prototypes] 1197 | struct loongarch_iommu *loongarch_get_iommu_by_devid(struct pci_dev *pdev) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:1215:6: warning: no previous prototype for 'check_device_compat' [-Wmissing-prototypes] 1215 | bool check_device_compat(struct pci_dev *pdev) | ^~~~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:1344:29: warning: no previous prototype for 'create_rlookup_entry' [-Wmissing-prototypes] 1344 | struct iommu_rlookup_entry *create_rlookup_entry(int pcisegment) | ^~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/loongarch_iommu.c:1765:19: warning: 'la_iommu_setup' defined but not used [-Wunused-function] 1765 | static int __init la_iommu_setup(char *str) | ^~~~~~~~~~~~~~ -- >> drivers/iommu/loongarch_iommu.c:1663: warning: Function parameter or member 'ivrs' not described in 'get_highest_supported_ivhd_type' vim +/domain_deattach_iommu +610 drivers/iommu/loongarch_iommu.c 609 > 610 void domain_deattach_iommu(struct dom_info *priv, struct iommu_info *info) 611 { 612 if ((priv == NULL) || (info == NULL) || 613 (info->dev_cnt != 0) || (info->iommu == NULL)) { 614 pr_err("%s invalid parameter", __func__); 615 return; 616 } 617 del_domain_from_list(info->iommu, priv); 618 domain_id_free(info->iommu, info->id); 619 spin_lock(&priv->lock); 620 list_del(&info->list); 621 spin_unlock(&priv->lock); 622 kfree(info); 623 } 624 625 static void la_iommu_domain_free(struct iommu_domain *domain) 626 { 627 struct dom_info *priv; 628 struct loongarch_iommu *iommu = NULL; 629 struct iommu_info *info, *tmp; 630 631 priv = to_dom_info(domain); 632 spin_lock(&priv->lock); 633 list_for_each_entry_safe(info, tmp, &priv->iommu_devlist, list) { 634 if (info->dev_cnt > 0) 635 detach_all_dev_by_domain(info); 636 iommu = info->iommu; 637 spin_unlock(&priv->lock); 638 domain_deattach_iommu(priv, info); 639 spin_lock(&priv->lock); 640 iommu_flush_iotlb(iommu); 641 if (!has_dom(iommu)) 642 iommu_translate_disable(iommu); 643 } 644 spin_unlock(&priv->lock); 645 mutex_lock(&priv->ptl_lock); 646 iommu_free_pagetable(priv); 647 mutex_unlock(&priv->ptl_lock); 648 dom_info_free(priv); 649 } 650 > 651 struct iommu_rlookup_entry *lookup_rlooptable(int pcisegment) 652 { 653 struct iommu_rlookup_entry *rlookupentry = NULL; 654 655 list_for_each_entry(rlookupentry, &la_rlookup_iommu_list, list) { 656 if (rlookupentry->pcisegment == pcisegment) 657 return rlookupentry; 658 } 659 return NULL; 660 } 661 > 662 struct loongarch_iommu *find_iommu_by_dev(struct pci_dev *pdev) 663 { 664 int pcisegment; 665 unsigned short devid; 666 struct iommu_rlookup_entry *rlookupentry = NULL; 667 struct loongarch_iommu *iommu = NULL; 668 struct pci_bus *bus = pdev->bus; 669 670 devid = PCI_DEVID(bus->number, pdev->devfn); 671 pcisegment = pci_domain_nr(bus); 672 rlookupentry = lookup_rlooptable(pcisegment); 673 if (rlookupentry == NULL) { 674 pr_info("%s find segment %d rlookupentry failed\n", __func__, 675 pcisegment); 676 return iommu; 677 } 678 iommu = rlookupentry->rlookup_table[devid]; 679 if (iommu && (!iommu->confbase)) 680 iommu = NULL; 681 return iommu; 682 } 683 > 684 struct iommu_device *iommu_init_device(struct device *dev) 685 { 686 struct la_iommu_dev_data *dev_data; 687 struct pci_dev *pdev = to_pci_dev(dev); 688 struct pci_bus *bus = pdev->bus; 689 unsigned short devid; 690 struct loongarch_iommu *iommu = NULL; 691 struct iommu_device *iommu_dev = ERR_PTR(-ENODEV); 692 693 if (!dev_is_pci(dev)) 694 return iommu_dev; 695 696 if (dev->archdata.iommu != NULL || bus == NULL) { 697 pr_info("LA-IOMMU: bdf:0x%x has added\n", pdev->devfn); 698 return iommu_dev; 699 } 700 iommu = find_iommu_by_dev(pdev); 701 if (iommu == NULL) { 702 pci_info(pdev, "%s find iommu failed by dev\n", __func__); 703 return iommu_dev; 704 } 705 dev_data = kzalloc(sizeof(*dev_data), GFP_KERNEL); 706 if (!dev_data) 707 return iommu_dev; 708 devid = PCI_DEVID(bus->number, pdev->devfn); 709 dev_data->bdf = devid; 710 711 pci_info(pdev, "%s bdf %#x iommu dev id %#x\n", __func__, dev_data->bdf, iommu->devid); 712 /* The initial state is 0, and 1 is added only when attach dev */ 713 dev_data->count = 0; 714 dev_data->iommu = iommu; 715 dev_data->dev = dev; 716 dev->archdata.iommu = dev_data; 717 iommu_dev = &iommu->iommu_dev; 718 return iommu_dev; 719 } 720 > 721 struct iommu_device *la_iommu_probe_device(struct device *dev) 722 { 723 return iommu_init_device(dev); 724 } 725 726 static struct iommu_group *la_iommu_device_group(struct device *dev) 727 { 728 struct iommu_group *group; 729 730 /* 731 * We don't support devices sharing stream IDs other than PCI RID 732 * aliases, since the necessary ID-to-device lookup becomes rather 733 * impractical given a potential sparse 32-bit stream ID space. 734 */ 735 if (dev_is_pci(dev)) 736 group = pci_device_group(dev); 737 else 738 group = generic_device_group(dev); 739 return group; 740 } 741 742 static void la_iommu_remove_device(struct device *dev) 743 { 744 struct la_iommu_dev_data *dev_data; 745 746 iommu_group_remove_device(dev); 747 dev_data = dev->archdata.iommu; 748 dev->archdata.iommu = NULL; 749 kfree(dev_data); 750 } 751 > 752 struct iommu_info *get_iommu_info_from_dom(struct dom_info *priv, struct loongarch_iommu *iommu) 753 { 754 struct iommu_info *info; 755 756 spin_lock(&priv->lock); 757 list_for_each_entry(info, &priv->iommu_devlist, list) { 758 if (info->iommu == iommu) { 759 spin_unlock(&priv->lock); 760 return info; 761 } 762 } 763 spin_unlock(&priv->lock); 764 return NULL; 765 } 766 > 767 struct iommu_info *domain_attach_iommu(struct dom_info *priv, struct loongarch_iommu *iommu) 768 { 769 u32 dir_ctrl; 770 struct iommu_info *info; 771 unsigned long phys; 772 773 info = get_iommu_info_from_dom(priv, iommu); 774 if (info) 775 return info; 776 777 info = kzalloc(sizeof(struct iommu_info), GFP_KERNEL_ACCOUNT); 778 if (!info) 779 return NULL; 780 781 INIT_LIST_HEAD(&info->dev_list); 782 info->iommu = iommu; 783 info->id = domain_id_alloc(iommu); 784 if (info->id == -1) { 785 pr_info("%s alloc id for domain failed\n", __func__); 786 kfree(info); 787 return NULL; 788 } 789 790 phys = virt_to_phys(priv->pgd); 791 dir_ctrl = (IOMMU_LEVEL_STRIDE << 26) | (IOMMU_LEVEL_SHIFT(2) << 20); 792 dir_ctrl |= (IOMMU_LEVEL_STRIDE << 16) | (IOMMU_LEVEL_SHIFT(1) << 10); 793 dir_ctrl |= (IOMMU_LEVEL_STRIDE << 6) | IOMMU_LEVEL_SHIFT(0); 794 iommu_write_regl(iommu, LA_IOMMU_DIR_CTRL(info->id), dir_ctrl); 795 iommu_write_regl(iommu, LA_IOMMU_PGD_HI(info->id), phys >> 32); 796 iommu_write_regl(iommu, LA_IOMMU_PGD_LO(info->id), phys & UINT_MAX); 797 798 spin_lock(&priv->lock); 799 list_add(&info->list, &priv->iommu_devlist); 800 spin_unlock(&priv->lock); 801 add_domain_to_list(iommu, priv); 802 return info; 803 } 804 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 2579/2579] kernel/sched/relationship.c:46:51: error: 'struct task_struct' has no member named 'mems_allowed'
by kernel test robot 14 Dec '24

14 Dec '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 6c3413fbf8c430b89f5d23f465e10e99ea145199 commit: 2ac826b258e9aceefd719f7b0c3e3a9e73901ce5 [2579/2579] sched: Introduce task relationship by net and memory config: arm64-randconfig-004-20241213 (https://download.01.org/0day-ci/archive/20241214/202412141314.NmcppncZ-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241214/202412141314.NmcppncZ-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/202412141314.NmcppncZ-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from include/linux/sched.h:23, from arch/arm64/include/asm/compat.h:16, from arch/arm64/include/asm/stat.h:13, from include/linux/stat.h:6, from include/linux/module.h:13, from include/linux/bpf.h:20, from include/linux/bpf_sched.h:5, from kernel/sched/relationship.c:19: kernel/sched/relationship.c: In function 'task_relationship_supported': >> kernel/sched/relationship.c:46:51: error: 'struct task_struct' has no member named 'mems_allowed' 46 | !nodes_subset(node_online_map, tsk->mems_allowed) || | ^~ include/linux/nodemask.h:218:51: note: in definition of macro 'nodes_subset' 218 | __nodes_subset(&(src1), &(src2), MAX_NUMNODES) | ^~~~ Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for PGP_KEY_PARSER Depends on [n]: CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] && ASYMMETRIC_PUBLIC_KEY_SUBTYPE [=n] Selected by [y]: - PGP_PRELOAD [=y] && CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] vim +46 kernel/sched/relationship.c 38 39 bool task_relationship_supported(struct task_struct *tsk) 40 { 41 if (!task_relationship_used()) 42 return false; 43 44 if (!tsk->rship || !tsk->mm || 45 !cpumask_subset(cpu_online_mask, tsk->cpus_ptr) || > 46 !nodes_subset(node_online_map, tsk->mems_allowed) || 47 get_task_policy(tsk)->mode == MPOL_BIND || 48 get_task_policy(tsk)->mode == MPOL_INTERLEAVE) 49 return false; 50 51 return true; 52 } 53 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH openEuler-1.0-LTS] netfilter: ipset: add missing range check in bitmap_ip_uadt
by Dong Chenchen 14 Dec '24

14 Dec '24
From: Jeongjun Park <aha310510(a)gmail.com> stable inclusion from stable-v4.19.325 commit 3c20b5948f119ae61ee35ad8584d666020c91581 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB9NOX CVE: CVE-2024-53141 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… -------------------------------- commit 35f56c554eb1b56b77b3cf197a6b00922d49033d upstream. When tb[IPSET_ATTR_IP_TO] is not present but tb[IPSET_ATTR_CIDR] exists, the values of ip and ip_to are slightly swapped. Therefore, the range check for ip should be done later, but this part is missing and it seems that the vulnerability occurs. So we should add missing range checks and remove unnecessary range checks. Cc: <stable(a)vger.kernel.org> Reported-by: syzbot+58c872f7790a4d2ac951(a)syzkaller.appspotmail.com Fixes: 72205fc68bd1 ("netfilter: ipset: bitmap:ip set type support") Signed-off-by: Jeongjun Park <aha310510(a)gmail.com> Acked-by: Jozsef Kadlecsik <kadlec(a)blackhole.kfki.hu> Signed-off-by: Pablo Neira Ayuso <pablo(a)netfilter.org> Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org> Signed-off-by: Dong Chenchen <dongchenchen2(a)huawei.com> --- net/netfilter/ipset/ip_set_bitmap_ip.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/net/netfilter/ipset/ip_set_bitmap_ip.c b/net/netfilter/ipset/ip_set_bitmap_ip.c index e3257077158f..49a6eec6f12f 100644 --- a/net/netfilter/ipset/ip_set_bitmap_ip.c +++ b/net/netfilter/ipset/ip_set_bitmap_ip.c @@ -166,11 +166,8 @@ bitmap_ip_uadt(struct ip_set *set, struct nlattr *tb[], ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to); if (ret) return ret; - if (ip > ip_to) { + if (ip > ip_to) swap(ip, ip_to); - if (ip < map->first_ip) - return -IPSET_ERR_BITMAP_RANGE; - } } else if (tb[IPSET_ATTR_CIDR]) { u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]); @@ -181,7 +178,7 @@ bitmap_ip_uadt(struct ip_set *set, struct nlattr *tb[], ip_to = ip; } - if (ip_to > map->last_ip) + if (ip < map->first_ip || ip_to > map->last_ip) return -IPSET_ERR_BITMAP_RANGE; for (; !before(ip_to, ip); ip += map->hosts) { -- 2.25.1
2 1
0 0
[PATCH openEuler-1.0-LTS] net: Fix icmp host relookup triggering ip_rt_bug
by Dong Chenchen 14 Dec '24

14 Dec '24
mainline inclusion from mainline-v6.13-rc2 commit c44daa7e3c73229f7ac74985acb8c7fb909c4e0a category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IB515T CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?… -------------------------------- arp link failure may trigger ip_rt_bug while xfrm enabled, call trace is: WARNING: CPU: 0 PID: 0 at net/ipv4/route.c:1241 ip_rt_bug+0x14/0x20 Modules linked in: CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.12.0-rc6-00077-g2e1b3cc9d7f7 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 RIP: 0010:ip_rt_bug+0x14/0x20 Call Trace: <IRQ> ip_send_skb+0x14/0x40 __icmp_send+0x42d/0x6a0 ipv4_link_failure+0xe2/0x1d0 arp_error_report+0x3c/0x50 neigh_invalidate+0x8d/0x100 neigh_timer_handler+0x2e1/0x330 call_timer_fn+0x21/0x120 __run_timer_base.part.0+0x1c9/0x270 run_timer_softirq+0x4c/0x80 handle_softirqs+0xac/0x280 irq_exit_rcu+0x62/0x80 sysvec_apic_timer_interrupt+0x77/0x90 The script below reproduces this scenario: ip xfrm policy add src 0.0.0.0/0 dst 0.0.0.0/0 \ dir out priority 0 ptype main flag localok icmp ip l a veth1 type veth ip a a 192.168.141.111/24 dev veth0 ip l s veth0 up ping 192.168.141.155 -c 1 icmp_route_lookup() create input routes for locally generated packets while xfrm relookup ICMP traffic.Then it will set input route (dst->out = ip_rt_bug) to skb for DESTUNREACH. For ICMP err triggered by locally generated packets, dst->dev of output route is loopback. Generally, xfrm relookup verification is not required on loopback interfaces (net.ipv4.conf.lo.disable_xfrm = 1). Skip icmp relookup for locally generated packets to fix it. Fixes: 8b7817f3a959 ("[IPSEC]: Add ICMP host relookup support") Signed-off-by: Dong Chenchen <dongchenchen2(a)huawei.com> Reviewed-by: David Ahern <dsahern(a)kernel.org> Reviewed-by: Eric Dumazet <edumazet(a)google.com> Link: https://patch.msgid.link/20241127040850.1513135-1-dongchenchen2@huawei.com Signed-off-by: Jakub Kicinski <kuba(a)kernel.org> Conflicts: net/ipv4/icmp.c [commit 913c83a610bb("ipv4: Convert icmp_route_lookup() to dscp_t") wasnt merged, which lead to context conflicts] Signed-off-by: Dong Chenchen <dongchenchen2(a)huawei.com> --- net/ipv4/icmp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index 4cbc1bb85ac0..e03003a9c6b0 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c @@ -525,6 +525,9 @@ static struct rtable *icmp_route_lookup(struct net *net, if (!IS_ERR(rt)) { if (rt != rt2) return rt; + if (inet_addr_type_dev_table(net, route_lookup_dev, + fl4->daddr) == RTN_LOCAL) + return rt; } else if (PTR_ERR(rt) == -EPERM) { rt = NULL; } else -- 2.25.1
2 1
0 0
[openeuler:OLK-5.10 2579/2579] kernel/sched/core.c:8146:29: error: 'root_task_group' undeclared; did you mean 'task_group'?
by kernel test robot 14 Dec '24

14 Dec '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 6c3413fbf8c430b89f5d23f465e10e99ea145199 commit: 00d37128abe2687fac974c5d21aa67fac6518c7c [2579/2579] sched: Introduce smart grid scheduling strategy for cfs config: arm64-randconfig-004-20241213 (https://download.01.org/0day-ci/archive/20241214/202412141149.8BSY27XL-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241214/202412141149.8BSY27XL-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/202412141149.8BSY27XL-lkp@intel.com/ All errors (new ones prefixed by >>): kernel/sched/core.c:2746:6: warning: no previous prototype for 'sched_set_stop_task' [-Wmissing-prototypes] 2746 | void sched_set_stop_task(int cpu, struct task_struct *stop) | ^~~~~~~~~~~~~~~~~~~ kernel/sched/core.c: In function 'sched_cpu_activate': kernel/sched/core.c:8012:9: error: implicit declaration of function 'tg_update_affinity_domains'; did you mean 'irq_update_affinity_desc'? [-Werror=implicit-function-declaration] 8012 | tg_update_affinity_domains(cpu, 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | irq_update_affinity_desc kernel/sched/core.c: In function 'sched_init_smp': kernel/sched/core.c:8146:9: error: implicit declaration of function 'init_auto_affinity'; did you mean 'irq_set_affinity'? [-Werror=implicit-function-declaration] 8146 | init_auto_affinity(&root_task_group); | ^~~~~~~~~~~~~~~~~~ | irq_set_affinity >> kernel/sched/core.c:8146:29: error: 'root_task_group' undeclared (first use in this function); did you mean 'task_group'? 8146 | init_auto_affinity(&root_task_group); | ^~~~~~~~~~~~~~~ | task_group kernel/sched/core.c:8146:29: note: each undeclared identifier is reported only once for each function it appears in cc1: some warnings being treated as errors Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for PGP_KEY_PARSER Depends on [n]: CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] && ASYMMETRIC_PUBLIC_KEY_SUBTYPE [=n] Selected by [y]: - PGP_PRELOAD [=y] && CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] vim +8146 kernel/sched/core.c 8121 8122 void __init sched_init_smp(void) 8123 { 8124 sched_init_numa(); 8125 set_sched_cluster(); 8126 8127 /* 8128 * There's no userspace yet to cause hotplug operations; hence all the 8129 * CPU masks are stable and all blatant races in the below code cannot 8130 * happen. 8131 */ 8132 mutex_lock(&sched_domains_mutex); 8133 sched_init_domains(cpu_active_mask); 8134 mutex_unlock(&sched_domains_mutex); 8135 8136 /* Move init over to a non-isolated CPU */ 8137 if (set_cpus_allowed_ptr(current, housekeeping_cpumask(HK_FLAG_DOMAIN)) < 0) 8138 BUG(); 8139 sched_init_granularity(); 8140 8141 init_sched_rt_class(); 8142 init_sched_dl_class(); 8143 8144 sched_smp_initialized = true; 8145 > 8146 init_auto_affinity(&root_task_group); 8147 } 8148 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1636/1636] arch/loongarch/kernel/paravirt.c:302:35: error: 'mp_ops' undeclared; did you mean 'smp_ops'?
by kernel test robot 14 Dec '24

14 Dec '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: d68dc6ee371ec5466be9b2d76bdca0b360940adc commit: b6239f748d0d896e39b9d41f108163bdb235b8bd [1636/1636] LoongArch: Fix AP booting issue in VM mode config: loongarch-randconfig-002-20241213 (https://download.01.org/0day-ci/archive/20241214/202412141010.py9YL9Li-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241214/202412141010.py9YL9Li-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/202412141010.py9YL9Li-lkp@intel.com/ All errors (new ones prefixed by >>): | ^~~~~~~~~~~~ include/linux/init.h:357:9: note: in expansion of macro '__setup_param' 357 | __setup_param(str, fn, fn, 1) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:82:1: note: in expansion of macro 'early_param' 82 | early_param("no-steal-acc", parse_no_stealacc); | ^~~~~~~~~~~ include/linux/init.h:335:27: note: previous definition of '__setup_str_parse_no_stealacc' with type 'const char[13]' 335 | static const char __setup_str_##unique_id[] __initconst \ | ^~~~~~~~~~~~ include/linux/init.h:357:9: note: in expansion of macro '__setup_param' 357 | __setup_param(str, fn, fn, 1) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:30:1: note: in expansion of macro 'early_param' 30 | early_param("no-steal-acc", parse_no_stealacc); | ^~~~~~~~~~~ include/linux/init.h:337:40: error: redefinition of '__setup_parse_no_stealacc' 337 | static struct obs_kernel_param __setup_##unique_id \ | ^~~~~~~~ include/linux/init.h:357:9: note: in expansion of macro '__setup_param' 357 | __setup_param(str, fn, fn, 1) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:82:1: note: in expansion of macro 'early_param' 82 | early_param("no-steal-acc", parse_no_stealacc); | ^~~~~~~~~~~ include/linux/init.h:337:40: note: previous definition of '__setup_parse_no_stealacc' with type 'struct obs_kernel_param' 337 | static struct obs_kernel_param __setup_##unique_id \ | ^~~~~~~~ include/linux/init.h:357:9: note: in expansion of macro '__setup_param' 357 | __setup_param(str, fn, fn, 1) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:30:1: note: in expansion of macro 'early_param' 30 | early_param("no-steal-acc", parse_no_stealacc); | ^~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:103:13: error: redefinition of 'steal_acc' 103 | static bool steal_acc = true; | ^~~~~~~~~ arch/loongarch/kernel/paravirt.c:75:13: note: previous definition of 'steal_acc' with type 'bool' {aka '_Bool'} 75 | static bool steal_acc = true; | ^~~~~~~~~ arch/loongarch/kernel/paravirt.c:105:19: error: redefinition of 'parse_no_stealacc' 105 | static int __init parse_no_stealacc(char *arg) | ^~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:77:19: note: previous definition of 'parse_no_stealacc' with type 'int(char *)' 77 | static int __init parse_no_stealacc(char *arg) | ^~~~~~~~~~~~~~~~~ include/linux/init.h:335:27: error: redefinition of '__setup_str_parse_no_stealacc' 335 | static const char __setup_str_##unique_id[] __initconst \ | ^~~~~~~~~~~~ include/linux/init.h:357:9: note: in expansion of macro '__setup_param' 357 | __setup_param(str, fn, fn, 1) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:110:1: note: in expansion of macro 'early_param' 110 | early_param("no-steal-acc", parse_no_stealacc); | ^~~~~~~~~~~ include/linux/init.h:335:27: note: previous definition of '__setup_str_parse_no_stealacc' with type 'const char[13]' 335 | static const char __setup_str_##unique_id[] __initconst \ | ^~~~~~~~~~~~ include/linux/init.h:357:9: note: in expansion of macro '__setup_param' 357 | __setup_param(str, fn, fn, 1) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:82:1: note: in expansion of macro 'early_param' 82 | early_param("no-steal-acc", parse_no_stealacc); | ^~~~~~~~~~~ include/linux/init.h:337:40: error: redefinition of '__setup_parse_no_stealacc' 337 | static struct obs_kernel_param __setup_##unique_id \ | ^~~~~~~~ include/linux/init.h:357:9: note: in expansion of macro '__setup_param' 357 | __setup_param(str, fn, fn, 1) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:110:1: note: in expansion of macro 'early_param' 110 | early_param("no-steal-acc", parse_no_stealacc); | ^~~~~~~~~~~ include/linux/init.h:337:40: note: previous definition of '__setup_parse_no_stealacc' with type 'struct obs_kernel_param' 337 | static struct obs_kernel_param __setup_##unique_id \ | ^~~~~~~~ include/linux/init.h:357:9: note: in expansion of macro '__setup_param' 357 | __setup_param(str, fn, fn, 1) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:82:1: note: in expansion of macro 'early_param' 82 | early_param("no-steal-acc", parse_no_stealacc); | ^~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:112:12: error: redefinition of 'paravt_steal_clock' 112 | static u64 paravt_steal_clock(int cpu) | ^~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:84:12: note: previous definition of 'paravt_steal_clock' with type 'u64(int)' {aka 'long long unsigned int(int)'} 84 | static u64 paravt_steal_clock(int cpu) | ^~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c: In function 'pv_send_ipi_single': arch/loongarch/kernel/paravirt.c:149:24: error: 'KVM_HCALL_FUNC_PV_IPI' undeclared (first use in this function); did you mean 'KVM_HCALL_FUNC_IPI'? 149 | kvm_hypercall3(KVM_HCALL_FUNC_PV_IPI, 1, 0, min); | ^~~~~~~~~~~~~~~~~~~~~ | KVM_HCALL_FUNC_IPI arch/loongarch/kernel/paravirt.c:149:24: note: each undeclared identifier is reported only once for each function it appears in arch/loongarch/kernel/paravirt.c: In function 'pv_send_ipi_mask': arch/loongarch/kernel/paravirt.c:188:40: error: 'KVM_HCALL_FUNC_PV_IPI' undeclared (first use in this function); did you mean 'KVM_HCALL_FUNC_IPI'? 188 | kvm_hypercall3(KVM_HCALL_FUNC_PV_IPI, | ^~~~~~~~~~~~~~~~~~~~~ | KVM_HCALL_FUNC_IPI arch/loongarch/kernel/paravirt.c: In function 'pv_ipi_init': >> arch/loongarch/kernel/paravirt.c:302:35: error: 'mp_ops' undeclared (first use in this function); did you mean 'smp_ops'? 302 | native_ops = mp_ops; | ^~~~~~ | smp_ops arch/loongarch/kernel/paravirt.c: At top level: arch/loongarch/kernel/paravirt.c:385:13: error: redefinition of 'pv_disable_steal_time' 385 | static void pv_disable_steal_time(void) | ^~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:239:13: note: previous definition of 'pv_disable_steal_time' with type 'void(void)' 239 | static void pv_disable_steal_time(void) | ^~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:415:13: error: redefinition of 'pv_cpu_reboot' 415 | static void pv_cpu_reboot(void *unused) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:311:13: note: previous definition of 'pv_cpu_reboot' with type 'void(void *)' 311 | static void pv_cpu_reboot(void *unused) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:420:12: error: redefinition of 'pv_reboot_notify' 420 | static int pv_reboot_notify(struct notifier_block *nb, unsigned long code, void *unused) | ^~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:316:12: note: previous definition of 'pv_reboot_notify' with type 'int(struct notifier_block *, long unsigned int, void *)' 316 | static int pv_reboot_notify(struct notifier_block *nb, unsigned long code, | ^~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:426:30: error: redefinition of 'pv_reboot_nb' 426 | static struct notifier_block pv_reboot_nb = { | ^~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:323:30: note: previous definition of 'pv_reboot_nb' with type 'struct notifier_block' 323 | static struct notifier_block pv_reboot_nb = { | ^~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:430:12: error: redefinition of 'pv_time_init' 430 | int __init pv_time_init(void) | ^~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:327:12: note: previous definition of 'pv_time_init' with type 'int(void)' 327 | int __init pv_time_init(void) | ^~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:469:12: error: redefinition of 'pv_enable_steal_time' 469 | static int pv_enable_steal_time(void) | ^~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:361:12: note: previous definition of 'pv_enable_steal_time' with type 'int(void)' 361 | static int pv_enable_steal_time(void) | ^~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:493:13: error: redefinition of 'pv_disable_steal_time' 493 | static void pv_disable_steal_time(void) | ^~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:385:13: note: previous definition of 'pv_disable_steal_time' with type 'void(void)' 385 | static void pv_disable_steal_time(void) | ^~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:500:12: error: redefinition of 'pv_time_cpu_online' 500 | static int pv_time_cpu_online(unsigned int cpu) | ^~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:392:12: note: previous definition of 'pv_time_cpu_online' with type 'int(unsigned int)' 392 | static int pv_time_cpu_online(unsigned int cpu) | ^~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:511:12: error: redefinition of 'pv_time_cpu_down_prepare' 511 | static int pv_time_cpu_down_prepare(unsigned int cpu) | ^~~~~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:403:12: note: previous definition of 'pv_time_cpu_down_prepare' with type 'int(unsigned int)' 403 | static int pv_time_cpu_down_prepare(unsigned int cpu) | ^~~~~~~~~~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:523:13: error: redefinition of 'pv_cpu_reboot' 523 | static void pv_cpu_reboot(void *unused) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:415:13: note: previous definition of 'pv_cpu_reboot' with type 'void(void *)' 415 | static void pv_cpu_reboot(void *unused) | ^~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:528:12: error: redefinition of 'pv_reboot_notify' 528 | static int pv_reboot_notify(struct notifier_block *nb, unsigned long code, void *unused) | ^~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:420:12: note: previous definition of 'pv_reboot_notify' with type 'int(struct notifier_block *, long unsigned int, void *)' 420 | static int pv_reboot_notify(struct notifier_block *nb, unsigned long code, void *unused) | ^~~~~~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:534:30: error: redefinition of 'pv_reboot_nb' 534 | static struct notifier_block pv_reboot_nb = { | ^~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:426:30: note: previous definition of 'pv_reboot_nb' with type 'struct notifier_block' 426 | static struct notifier_block pv_reboot_nb = { | ^~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:538:12: error: redefinition of 'pv_time_init' 538 | int __init pv_time_init(void) | ^~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:327:12: note: previous definition of 'pv_time_init' with type 'int(void)' 327 | int __init pv_time_init(void) | ^~~~~~~~~~~~ arch/loongarch/kernel/paravirt.c:84:12: warning: 'paravt_steal_clock' defined but not used [-Wunused-function] 84 | static u64 paravt_steal_clock(int cpu) | ^~~~~~~~~~~~~~~~~~ vim +302 arch/loongarch/kernel/paravirt.c 295 296 int __init pv_ipi_init(void) 297 { 298 if (!kvm_para_has_feature(KVM_FEATURE_IPI)) 299 return 0; 300 301 #ifdef CONFIG_SMP > 302 native_ops = mp_ops; 303 smp_ops.init_ipi = pv_init_ipi; 304 smp_ops.send_ipi_single = pv_send_ipi_single; 305 smp_ops.send_ipi_mask = pv_send_ipi_mask; 306 #endif 307 308 return 0; 309 } 310 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 2579/2579] mm/share_pool.c:4215:63: error: 'HUGETLB_ALLOC_NORECLAIM' undeclared
by kernel test robot 14 Dec '24

14 Dec '24
Hi Guo, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 6c3413fbf8c430b89f5d23f465e10e99ea145199 commit: 107e2b7c4b1d007583efab423cc48429c87c6408 [2579/2579] mm/sharepool: Fix sharepool hugepage cgroup uncount error. config: arm64-randconfig-004-20241213 (https://download.01.org/0day-ci/archive/20241214/202412140941.hd45mfxv-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241214/202412140941.hd45mfxv-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/202412140941.hd45mfxv-lkp@intel.com/ All errors (new ones prefixed by >>): mm/share_pool.c:864:23: warning: no previous prototype for 'find_spg_node_by_spg' [-Wmissing-prototypes] 864 | struct sp_group_node *find_spg_node_by_spg(struct mm_struct *mm, | ^~~~~~~~~~~~~~~~~~~~ mm/share_pool.c: In function 'sp_hugetlb_entry': mm/share_pool.c:3073:21: error: implicit declaration of function 'huge_ptep_get' [-Werror=implicit-function-declaration] 3073 | pte_t pte = huge_ptep_get(ptep); | ^~~~~~~~~~~~~ mm/share_pool.c:3073:21: error: invalid initializer mm/share_pool.c: In function 'sp_unshare_kva': mm/share_pool.c:3450:14: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable] 3450 | bool is_hugepage = true; | ^~~~~~~~~~~ mm/share_pool.c: At top level: mm/share_pool.c:3942:6: warning: no previous prototype for 'spa_overview_show' [-Wmissing-prototypes] 3942 | void spa_overview_show(struct seq_file *seq) | ^~~~~~~~~~~~~~~~~ mm/share_pool.c:4024:6: warning: no previous prototype for 'spg_overview_show' [-Wmissing-prototypes] 4024 | void spg_overview_show(struct seq_file *seq) | ^~~~~~~~~~~~~~~~~ mm/share_pool.c: In function 'sharepool_no_page': mm/share_pool.c:4215:41: error: 'HUGETLB_ALLOC_BUDDY' undeclared (first use in this function) 4215 | HUGETLB_ALLOC_BUDDY | HUGETLB_ALLOC_NORECLAIM); | ^~~~~~~~~~~~~~~~~~~ mm/share_pool.c:4215:41: note: each undeclared identifier is reported only once for each function it appears in >> mm/share_pool.c:4215:63: error: 'HUGETLB_ALLOC_NORECLAIM' undeclared (first use in this function) 4215 | HUGETLB_ALLOC_BUDDY | HUGETLB_ALLOC_NORECLAIM); | ^~~~~~~~~~~~~~~~~~~~~~~ mm/share_pool.c:4221:30: error: implicit declaration of function 'huge_pte_none'; did you mean 'huge_pte_lock'? [-Werror=implicit-function-declaration] 4221 | if (!huge_pte_none(huge_ptep_get(ptep))) { | ^~~~~~~~~~~~~ | huge_pte_lock mm/share_pool.c:4234:23: error: implicit declaration of function 'huge_add_to_page_cache'; did you mean 'add_to_page_cache'? [-Werror=implicit-function-declaration] 4234 | err = huge_add_to_page_cache(page, mapping, idx); | ^~~~~~~~~~~~~~~~~~~~~~ | add_to_page_cache mm/share_pool.c:4256:9: error: implicit declaration of function 'set_huge_pte_at'; did you mean 'set_huge_swap_pte_at'? [-Werror=implicit-function-declaration] 4256 | set_huge_pte_at(mm, haddr, ptep, new_pte); | ^~~~~~~~~~~~~~~ | set_huge_swap_pte_at mm/share_pool.c:4258:9: error: implicit declaration of function 'hugetlb_count_add'; did you mean 'hugetlb_count_sub'? [-Werror=implicit-function-declaration] 4258 | hugetlb_count_add(pages_per_huge_page(h), mm); | ^~~~~~~~~~~~~~~~~ | hugetlb_count_sub mm/share_pool.c: At top level: mm/share_pool.c:4119:12: warning: 'proc_usage_show' defined but not used [-Wunused-function] 4119 | static int proc_usage_show(struct seq_file *seq, void *offset) | ^~~~~~~~~~~~~~~ mm/share_pool.c:4097:12: warning: 'proc_group_usage_show' defined but not used [-Wunused-function] 4097 | static int proc_group_usage_show(struct seq_file *seq, void *offset) | ^~~~~~~~~~~~~~~~~~~~~ mm/share_pool.c:4049:12: warning: 'spa_stat_show' defined but not used [-Wunused-function] 4049 | static int spa_stat_show(struct seq_file *seq, void *offset) | ^~~~~~~~~~~~~ cc1: some warnings being treated as errors Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for PGP_KEY_PARSER Depends on [n]: CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] && ASYMMETRIC_PUBLIC_KEY_SUBTYPE [=n] Selected by [y]: - PGP_PRELOAD [=y] && CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] vim +/HUGETLB_ALLOC_NORECLAIM +4215 mm/share_pool.c 4180 4181 vm_fault_t sharepool_no_page(struct mm_struct *mm, 4182 struct vm_area_struct *vma, 4183 struct address_space *mapping, pgoff_t idx, 4184 unsigned long address, pte_t *ptep, unsigned int flags) 4185 { 4186 struct hstate *h = hstate_vma(vma); 4187 vm_fault_t ret = VM_FAULT_SIGBUS; 4188 unsigned long size; 4189 struct page *page; 4190 pte_t new_pte; 4191 spinlock_t *ptl; 4192 unsigned long haddr = address & huge_page_mask(h); 4193 bool new_page = false; 4194 int err; 4195 int node_id; 4196 struct sp_area *spa; 4197 4198 spa = vma->vm_private_data; 4199 if (!spa) { 4200 pr_err("share pool: vma is invalid, not from sp mmap\n"); 4201 return ret; 4202 } 4203 node_id = spa->node_id; 4204 4205 retry: 4206 page = find_lock_page(mapping, idx); 4207 if (!page) { 4208 size = i_size_read(mapping->host) >> huge_page_shift(h); 4209 if (idx >= size) 4210 goto out; 4211 4212 page = alloc_huge_page(vma, haddr, 0); 4213 if (IS_ERR(page)) { 4214 page = hugetlb_alloc_hugepage(node_id, > 4215 HUGETLB_ALLOC_BUDDY | HUGETLB_ALLOC_NORECLAIM); 4216 if (!page) 4217 page = ERR_PTR(-ENOMEM); 4218 } 4219 if (IS_ERR(page)) { 4220 ptl = huge_pte_lock(h, mm, ptep); 4221 if (!huge_pte_none(huge_ptep_get(ptep))) { 4222 ret = 0; 4223 spin_unlock(ptl); 4224 goto out; 4225 } 4226 spin_unlock(ptl); 4227 ret = vmf_error(PTR_ERR(page)); 4228 goto out; 4229 } 4230 __SetPageUptodate(page); 4231 new_page = true; 4232 4233 /* sharepool pages are all shared */ 4234 err = huge_add_to_page_cache(page, mapping, idx); 4235 if (err) { 4236 put_page(page); 4237 if (err == -EEXIST) 4238 goto retry; 4239 goto out; 4240 } 4241 } 4242 4243 4244 ptl = huge_pte_lock(h, mm, ptep); 4245 size = i_size_read(mapping->host) >> huge_page_shift(h); 4246 if (idx >= size) 4247 goto backout; 4248 4249 ret = 0; 4250 if (!huge_pte_none(huge_ptep_get(ptep))) 4251 goto backout; 4252 4253 page_dup_rmap(page, true); 4254 new_pte = make_huge_pte(vma, page, ((vma->vm_flags & VM_WRITE) 4255 && (vma->vm_flags & VM_SHARED))); 4256 set_huge_pte_at(mm, haddr, ptep, new_pte); 4257 4258 hugetlb_count_add(pages_per_huge_page(h), mm); 4259 4260 spin_unlock(ptl); 4261 4262 if (new_page) { 4263 SetPagePrivate(&page[1]); 4264 } 4265 4266 unlock_page(page); 4267 out: 4268 return ret; 4269 4270 backout: 4271 spin_unlock(ptl); 4272 unlock_page(page); 4273 put_page(page); 4274 goto out; 4275 } 4276 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1636/1636] arch/x86/kernel/cpu/hygon.c:480:6: warning: no previous prototype for function 'set_c86_features_para_invalid'
by kernel test robot 14 Dec '24

14 Dec '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: d68dc6ee371ec5466be9b2d76bdca0b360940adc commit: 48fb9af1d04848a2583b2dbf3b7091eca38dd482 [1636/1636] mm: Enhanced copy capabilities for Hygon processor config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20241214/202412140911.UsV56v7f-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/20241214/202412140911.UsV56v7f-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/202412140911.UsV56v7f-lkp@intel.com/ All warnings (new ones prefixed by >>): >> arch/x86/kernel/cpu/hygon.c:480:6: warning: no previous prototype for function 'set_c86_features_para_invalid' [-Wmissing-prototypes] 480 | void set_c86_features_para_invalid(void) | ^ arch/x86/kernel/cpu/hygon.c:480:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 480 | void set_c86_features_para_invalid(void) | ^ | static >> arch/x86/kernel/cpu/hygon.c:485:14: warning: no previous prototype for function 'get_nt_block_copy_mini_len' [-Wmissing-prototypes] 485 | unsigned int get_nt_block_copy_mini_len(void) | ^ arch/x86/kernel/cpu/hygon.c:485:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 485 | unsigned int get_nt_block_copy_mini_len(void) | ^ | static 2 warnings generated. -- In file included from arch/x86/kernel/fpu/core.c:14: In file included from arch/x86/include/asm/traps.h:6: In file included from include/linux/kprobes.h:28: In file included from include/linux/ftrace.h:13: In file included from include/linux/kallsyms.h:13: In file included from include/linux/mm.h:2242: 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 + | ~~~~~~~~~~~~~~~~~~~~~~ >> arch/x86/kernel/fpu/core.c:466:14: warning: no previous prototype for function 'get_fpustate_free_space' [-Wmissing-prototypes] 466 | unsigned int get_fpustate_free_space(struct fpu *fpu) | ^ arch/x86/kernel/fpu/core.c:466:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 466 | unsigned int get_fpustate_free_space(struct fpu *fpu) | ^ | static 6 warnings generated. vim +/set_c86_features_para_invalid +480 arch/x86/kernel/cpu/hygon.c 479 > 480 void set_c86_features_para_invalid(void) 481 { 482 memset((void *)&hygon_c86_data, 0, sizeof(struct hygon_c86_info)); 483 } 484 > 485 unsigned int get_nt_block_copy_mini_len(void) 486 { 487 unsigned int mini_len = hygon_c86_data.nt_cpy_mini_len; 488 489 return mini_len; 490 } 491 EXPORT_SYMBOL_GPL(get_nt_block_copy_mini_len); 492 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1636/1636] drivers/scsi/leapioraid/leapioraid_func.c:2040:75: warning: '%u' directive output may be truncated writing between 1 and 3 bytes into a region of size between 1 and 26
by kernel test robot 14 Dec '24

14 Dec '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: d68dc6ee371ec5466be9b2d76bdca0b360940adc commit: 15ac0de239497e0a3497a106b9c0cc8795f0144a [1636/1636] LeapIOraid: Fix the compilation warnings in LeapIOraid driver in loongarch64 config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20241214/202412140904.HG96zLGT-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241214/202412140904.HG96zLGT-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/202412140904.HG96zLGT-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/scsi/leapioraid/leapioraid_func.c: In function 'leapioraid_base_request_irq': >> drivers/scsi/leapioraid/leapioraid_func.c:2040:75: warning: '%u' directive output may be truncated writing between 1 and 3 bytes into a region of size between 1 and 26 [-Wformat-truncation=] 2040 | snprintf(reply_q->name, LEAPIORAID_NAME_LENGTH, "%s%u-msix%u", | ^~ drivers/scsi/leapioraid/leapioraid_func.c:2040:65: note: directive argument in the range [0, 254] 2040 | snprintf(reply_q->name, LEAPIORAID_NAME_LENGTH, "%s%u-msix%u", | ^~~~~~~~~~~~~ drivers/scsi/leapioraid/leapioraid_func.c:2040:17: note: 'snprintf' output between 8 and 35 bytes into a destination of size 32 2040 | snprintf(reply_q->name, LEAPIORAID_NAME_LENGTH, "%s%u-msix%u", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2041 | ioc->driver_name, ioc->id, index); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/leapioraid/leapioraid_func.c:2031:70: warning: '-mq-poll' directive output may be truncated writing 8 bytes into a region of size between 6 and 31 [-Wformat-truncation=] 2031 | snprintf(reply_q->name, LEAPIORAID_NAME_LENGTH, "%s%u-mq-poll%u", | ^~~~~~~~ drivers/scsi/leapioraid/leapioraid_func.c:2031:65: note: directive argument in the range [0, 255] 2031 | snprintf(reply_q->name, LEAPIORAID_NAME_LENGTH, "%s%u-mq-poll%u", | ^~~~~~~~~~~~~~~~ drivers/scsi/leapioraid/leapioraid_func.c:2031:17: note: 'snprintf' output between 11 and 38 bytes into a destination of size 32 2031 | snprintf(reply_q->name, LEAPIORAID_NAME_LENGTH, "%s%u-mq-poll%u", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2032 | ioc->driver_name, ioc->id, qid); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +2040 drivers/scsi/leapioraid/leapioraid_func.c 2013 2014 static int 2015 leapioraid_base_request_irq(struct LEAPIORAID_ADAPTER *ioc, u8 index) 2016 { 2017 struct leapioraid_adapter_reply_queue *reply_q; 2018 int r; 2019 u8 qid; 2020 2021 reply_q = kzalloc(sizeof(struct leapioraid_adapter_reply_queue), 2022 GFP_KERNEL); 2023 if (!reply_q) 2024 return -ENOMEM; 2025 2026 reply_q->ioc = ioc; 2027 reply_q->msix_index = index; 2028 atomic_set(&reply_q->busy, 0); 2029 if (index >= ioc->iopoll_q_start_index) { 2030 qid = index - ioc->iopoll_q_start_index; 2031 snprintf(reply_q->name, LEAPIORAID_NAME_LENGTH, "%s%u-mq-poll%u", 2032 ioc->driver_name, ioc->id, qid); 2033 reply_q->is_blk_mq_poll_q = 1; 2034 ioc->blk_mq_poll_queues[qid].reply_q = reply_q; 2035 INIT_LIST_HEAD(&reply_q->list); 2036 list_add_tail(&reply_q->list, &ioc->reply_queue_list); 2037 return 0; 2038 } 2039 if (ioc->msix_enable) > 2040 snprintf(reply_q->name, LEAPIORAID_NAME_LENGTH, "%s%u-msix%u", 2041 ioc->driver_name, ioc->id, index); 2042 else 2043 snprintf(reply_q->name, LEAPIORAID_NAME_LENGTH, "%s%d", 2044 ioc->driver_name, ioc->id); 2045 r = request_irq(pci_irq_vector(ioc->pdev, index), leapioraid_base_interrupt, 2046 IRQF_SHARED, reply_q->name, reply_q); 2047 if (r) { 2048 pr_err("%s unable to allocate interrupt %d!\n", reply_q->name, 2049 pci_irq_vector(ioc->pdev, index)); 2050 kfree(reply_q); 2051 return -EBUSY; 2052 } 2053 2054 INIT_LIST_HEAD(&reply_q->list); 2055 list_add_tail(&reply_q->list, &ioc->reply_queue_list); 2056 return 0; 2057 } 2058 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • ...
  • 1834
  • Older →

HyperKitty Powered by HyperKitty