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 -----
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

  • 43 participants
  • 19777 discussions
[openeuler:OLK-5.10] BUILD REGRESSION e74aedc9df70f84e50a280478b93d98b3a622bc3
by kernel test robot 20 Nov '24

20 Nov '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10 branch HEAD: e74aedc9df70f84e50a280478b93d98b3a622bc3 !13280 [OLK-5.10]Intel: Backport to fix In Field Scan(IFS) Scan At Field(SAF) Error/Warning ids grouped by kconfigs: recent_errors |-- arm64-allnoconfig | |-- arch-arm64-kernel-ipi_nmi.c:error:implicit-declaration-of-function-printk_safe_enter | |-- arch-arm64-kernel-ipi_nmi.c:error:implicit-declaration-of-function-printk_safe_exit | |-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_enter | `-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_exit |-- x86_64-allnoconfig | `-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_exit-Werror-Wimplicit-function-declaration |-- x86_64-buildonly-randconfig-001-20241118 | `-- arch-x86-kernel-fpu-core.o:warning:objtool:can-t-decode-instruction-at-.textx187f `-- x86_64-randconfig-121-20241114 |-- net-ipv4-sysctl_net_ipv4.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-got-void-noderef-__user-buffer `-- net-ipv4-sysctl_net_ipv4.c:sparse:sparse:incorrect-type-in-initializer-(incompatible-argument-(different-address-spaces))-expected-int-(-usertype-proc_handler-)(-...-)-got-int-(-)(-...-) elapsed time: 1081m configs tested: 3 configs skipped: 61 tested configs: arm64 allnoconfig gcc-14.2.0 x86_64 allnoconfig clang-19 x86_64 defconfig gcc-11 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1484/1484] arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /: compatible: 'oneOf' conditional failed, one must be fixed:
by kernel test robot 20 Nov '24

20 Nov '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd76a7555127aa134a2a1113685da60b70553e6f commit: 15796d41b1a74a45dcc01d7b62e800b4cd8b0436 [1484/1484] arm64: dts: rockchip: Add DTS for FriendlyARM NanoPi R2S Plus config: arm64-randconfig-051-20241119 (https://download.01.org/0day-ci/archive/20241119/202411192024.25esZpo8-lkp@…) compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 592c0fe55f6d9a811028b5f3507be91458ab2713) dtschema version: 2024.12.dev1+gcabb5b9 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241119/202411192024.25esZpo8-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/202411192024.25esZpo8-lkp@intel.com/ dtcheck warnings: (new ones prefixed by >>) arch/arm64/boot/dts/rockchip/rk3328.dtsi:704.17-712.5: Warning (graph_child_address): /vop@ff370000/port: graph node has single child node 'endpoint@0', #address-cells/#size-cells are not necessary >> arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /: compatible: 'oneOf' conditional failed, one must be fixed: ['friendlyarm,nanopi-r2s-plus', 'rockchip,rk3328'] is too short 'vamrs,ficus' was expected 'vamrs,rock960' was expected 'amarula,vyasa-rk3288' was expected 'anbernic,rg351m' was expected 'anbernic,rg353p' was expected 'anbernic,rg353ps' was expected 'anbernic,rg353v' was expected 'anbernic,rg353vs' was expected 'anbernic,rg503' was expected -- 'vamrs,rk3288-vmarc-som' was expected 'vamrs,rk3399pro-vmarc-som' was expected 'rockchip,rk3036' was expected 'rockchip,px3' was expected 'rockchip,px30' was expected 'rockchip,px5' was expected 'rockchip,rk3128' was expected 'rockchip,rk3228' was expected 'rockchip,rk3318' was expected from schema $id: http://devicetree.org/schemas/arm/rockchip.yaml# >> arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /: failed to match any schema with compatible: ['friendlyarm,nanopi-r2s-plus', 'rockchip,rk3328'] >> arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: pwm@ff1b0030: 'interrupts' does not match any of the regexes: 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/pwm/pwm-rockchip.yaml# arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /phy@ff430000: failed to match any schema with compatible: ['rockchip,rk3328-hdmi-phy'] arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /clock-controller@ff440000: failed to match any schema with compatible: ['rockchip,rk3328-cru', 'rockchip,cru', 'syscon'] arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /clock-controller@ff440000: failed to match any schema with compatible: ['rockchip,rk3328-cru', 'rockchip,cru', 'syscon'] arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: mmc@ff520000: Unevaluated properties are not allowed ('num-slots', 'supports-emmc' were unexpected) from schema $id: http://devicetree.org/schemas/mmc/rockchip-dw-mshc.yaml# >> arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: ethernet@ff540000: Unevaluated properties are not allowed ('snps,txpbl' was unexpected) from schema $id: http://devicetree.org/schemas/net/rockchip-dwmac.yaml# -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1474/1474] arch/x86/events/zhaoxin/uncore.c:2761:6: sparse: sparse: symbol 'kx5000_uncore_cpu_init' was not declared. Should it be static?
by kernel test robot 20 Nov '24

20 Nov '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd76a7555127aa134a2a1113685da60b70553e6f commit: dc5b97374ba722156acbdfc4e3adbc69e2dbe7f4 [1474/1474] perf/x86/zhaoxin/uncore: Add KX-7000 support config: x86_64-randconfig-121-20241118 (https://download.01.org/0day-ci/archive/20241119/202411192009.C5J9m2a8-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241119/202411192009.C5J9m2a8-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/202411192009.C5J9m2a8-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) arch/x86/events/zhaoxin/uncore.c:2387:28: sparse: sparse: symbol 'uncore_msr_cluster_uncores' was not declared. Should it be static? arch/x86/events/zhaoxin/uncore.c:2392:28: sparse: sparse: symbol 'uncore_msr_subnode_uncores' was not declared. Should it be static? arch/x86/events/zhaoxin/uncore.c:2398:28: sparse: sparse: symbol 'uncore_pci_subnode_uncores' was not declared. Should it be static? >> arch/x86/events/zhaoxin/uncore.c:2761:6: sparse: sparse: symbol 'kx5000_uncore_cpu_init' was not declared. Should it be static? >> arch/x86/events/zhaoxin/uncore.c:2770:6: sparse: sparse: symbol 'kh40000_uncore_cpu_init' was not declared. Should it be static? >> arch/x86/events/zhaoxin/uncore.c:2775:5: sparse: sparse: symbol 'kh40000_uncore_pci_init' was not declared. Should it be static? arch/x86/events/zhaoxin/uncore.c:2791:6: sparse: sparse: symbol 'kx8000_uncore_cpu_init' was not declared. Should it be static? arch/x86/events/zhaoxin/uncore.c:2796:5: sparse: sparse: symbol 'kx8000_uncore_pci_init' was not declared. Should it be static? arch/x86/events/zhaoxin/uncore.c:2804:6: sparse: sparse: symbol 'kx8000_uncore_mmio_init' was not declared. Should it be static? arch/x86/events/zhaoxin/uncore.c: note: in included file (through include/linux/preempt.h, include/linux/spinlock.h, include/linux/mmzone.h, ...): include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true vim +/kx5000_uncore_cpu_init +2761 arch/x86/events/zhaoxin/uncore.c 2760 > 2761 void kx5000_uncore_cpu_init(void) 2762 { 2763 uncore_msr_uncores = kx5000_msr_uncores; 2764 } 2765 2766 static const struct zhaoxin_uncore_init_fun kx5000_uncore_init __initconst = { 2767 .cpu_init = kx5000_uncore_cpu_init, 2768 }; 2769 > 2770 void kh40000_uncore_cpu_init(void) 2771 { 2772 uncore_msr_uncores = kh40000_msr_uncores; 2773 } 2774 > 2775 int kh40000_uncore_pci_init(void) 2776 { 2777 int ret = kh40000_pci2node_map_init();/*pci_bus to package mapping, do nothing*/ 2778 2779 if (ret) 2780 return ret; 2781 uncore_pci_uncores = kh40000_pci_uncores; 2782 uncore_pci_driver = &kh40000_uncore_pci_driver; 2783 return 0; 2784 } 2785 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 2430/2430] net/ipv4/sysctl_net_ipv4.c:477:50: sparse: sparse: incorrect type in argument 3 (different address spaces)
by kernel test robot 20 Nov '24

20 Nov '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: e74aedc9df70f84e50a280478b93d98b3a622bc3 commit: dae7bed961c55d9837eada7f98f34f1adb0e9d21 [2430/2430] tcp_comp: add sysctl for enable/disable compression config: x86_64-randconfig-121-20241114 (https://download.01.org/0day-ci/archive/20241119/202411191914.zP0QrT48-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241119/202411191914.zP0QrT48-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/202411191914.zP0QrT48-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> net/ipv4/sysctl_net_ipv4.c:477:50: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void * @@ got void [noderef] __user *buffer @@ net/ipv4/sysctl_net_ipv4.c:477:50: sparse: expected void * net/ipv4/sysctl_net_ipv4.c:477:50: sparse: got void [noderef] __user *buffer >> net/ipv4/sysctl_net_ipv4.c:621:35: sparse: sparse: incorrect type in initializer (incompatible argument 3 (different address spaces)) @@ expected int ( [usertype] *proc_handler )( ... ) @@ got int ( * )( ... ) @@ net/ipv4/sysctl_net_ipv4.c:621:35: sparse: expected int ( [usertype] *proc_handler )( ... ) net/ipv4/sysctl_net_ipv4.c:621:35: sparse: got int ( * )( ... ) vim +477 net/ipv4/sysctl_net_ipv4.c 467 468 #if IS_ENABLED(CONFIG_TCP_COMP) 469 static int proc_tcp_compression_ports(struct ctl_table *table, int write, 470 void __user *buffer, size_t *lenp, 471 loff_t *ppos) 472 { 473 unsigned long *bitmap = *(unsigned long **)table->data; 474 unsigned long bitmap_len = table->maxlen; 475 int ret; 476 > 477 ret = proc_do_large_bitmap(table, write, buffer, lenp, ppos); 478 if (write && ret == 0) { 479 if (bitmap_empty(bitmap, bitmap_len)) { 480 if (static_key_enabled(&tcp_have_comp)) 481 static_branch_disable(&tcp_have_comp); 482 } else { 483 if (!static_key_enabled(&tcp_have_comp)) 484 static_branch_enable(&tcp_have_comp); 485 } 486 } 487 488 return ret; 489 } 490 #endif 491 492 static struct ctl_table ipv4_table[] = { 493 { 494 .procname = "tcp_max_orphans", 495 .data = &sysctl_tcp_max_orphans, 496 .maxlen = sizeof(int), 497 .mode = 0644, 498 .proc_handler = proc_dointvec 499 }, 500 { 501 .procname = "inet_peer_threshold", 502 .data = &inet_peer_threshold, 503 .maxlen = sizeof(int), 504 .mode = 0644, 505 .proc_handler = proc_dointvec 506 }, 507 { 508 .procname = "inet_peer_minttl", 509 .data = &inet_peer_minttl, 510 .maxlen = sizeof(int), 511 .mode = 0644, 512 .proc_handler = proc_dointvec_jiffies, 513 }, 514 { 515 .procname = "inet_peer_maxttl", 516 .data = &inet_peer_maxttl, 517 .maxlen = sizeof(int), 518 .mode = 0644, 519 .proc_handler = proc_dointvec_jiffies, 520 }, 521 { 522 .procname = "tcp_mem", 523 .maxlen = sizeof(sysctl_tcp_mem), 524 .data = &sysctl_tcp_mem, 525 .mode = 0644, 526 .proc_handler = proc_doulongvec_minmax, 527 }, 528 { 529 .procname = "tcp_low_latency", 530 .data = &sysctl_tcp_low_latency, 531 .maxlen = sizeof(int), 532 .mode = 0644, 533 .proc_handler = proc_dointvec 534 }, 535 #ifdef CONFIG_NETLABEL 536 { 537 .procname = "cipso_cache_enable", 538 .data = &cipso_v4_cache_enabled, 539 .maxlen = sizeof(int), 540 .mode = 0644, 541 .proc_handler = proc_dointvec, 542 }, 543 { 544 .procname = "cipso_cache_bucket_size", 545 .data = &cipso_v4_cache_bucketsize, 546 .maxlen = sizeof(int), 547 .mode = 0644, 548 .proc_handler = proc_dointvec, 549 }, 550 { 551 .procname = "cipso_rbm_optfmt", 552 .data = &cipso_v4_rbm_optfmt, 553 .maxlen = sizeof(int), 554 .mode = 0644, 555 .proc_handler = proc_dointvec, 556 }, 557 { 558 .procname = "cipso_rbm_strictvalid", 559 .data = &cipso_v4_rbm_strictvalid, 560 .maxlen = sizeof(int), 561 .mode = 0644, 562 .proc_handler = proc_dointvec, 563 }, 564 #endif /* CONFIG_NETLABEL */ 565 { 566 .procname = "tcp_available_ulp", 567 .maxlen = TCP_ULP_BUF_MAX, 568 .mode = 0444, 569 .proc_handler = proc_tcp_available_ulp, 570 }, 571 { 572 .procname = "icmp_msgs_per_sec", 573 .data = &sysctl_icmp_msgs_per_sec, 574 .maxlen = sizeof(int), 575 .mode = 0644, 576 .proc_handler = proc_dointvec_minmax, 577 .extra1 = SYSCTL_ZERO, 578 }, 579 { 580 .procname = "icmp_msgs_burst", 581 .data = &sysctl_icmp_msgs_burst, 582 .maxlen = sizeof(int), 583 .mode = 0644, 584 .proc_handler = proc_dointvec_minmax, 585 .extra1 = SYSCTL_ZERO, 586 }, 587 { 588 .procname = "udp_mem", 589 .data = &sysctl_udp_mem, 590 .maxlen = sizeof(sysctl_udp_mem), 591 .mode = 0644, 592 .proc_handler = proc_doulongvec_minmax, 593 }, 594 { 595 .procname = "fib_sync_mem", 596 .data = &sysctl_fib_sync_mem, 597 .maxlen = sizeof(sysctl_fib_sync_mem), 598 .mode = 0644, 599 .proc_handler = proc_douintvec_minmax, 600 .extra1 = &sysctl_fib_sync_mem_min, 601 .extra2 = &sysctl_fib_sync_mem_max, 602 }, 603 { 604 .procname = "tcp_rx_skb_cache", 605 .data = &tcp_rx_skb_cache_key.key, 606 .mode = 0644, 607 .proc_handler = proc_do_static_key, 608 }, 609 { 610 .procname = "tcp_tx_skb_cache", 611 .data = &tcp_tx_skb_cache_key.key, 612 .mode = 0644, 613 .proc_handler = proc_do_static_key, 614 }, 615 #if IS_ENABLED(CONFIG_TCP_COMP) 616 { 617 .procname = "tcp_compression_ports", 618 .data = &sysctl_tcp_compression_ports, 619 .maxlen = 65536, 620 .mode = 0644, > 621 .proc_handler = proc_tcp_compression_ports, 622 }, 623 #endif 624 { } 625 }; 626 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1474/1474] arch/x86/events/amd/uncore.c:601:10: sparse: sparse: incorrect type in initializer (different address spaces)
by kernel test robot 20 Nov '24

20 Nov '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd76a7555127aa134a2a1113685da60b70553e6f commit: e31410969eb2ea5a4eb26d54616a6bba88cc0dbc [1474/1474] perf/x86/amd/uncore: Move discovery and registration config: x86_64-randconfig-121-20241118 (https://download.01.org/0day-ci/archive/20241119/202411191801.IpPPqnTz-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241119/202411191801.IpPPqnTz-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/202411191801.IpPPqnTz-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> arch/x86/events/amd/uncore.c:601:10: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got union amd_uncore_info * @@ arch/x86/events/amd/uncore.c:601:10: sparse: expected void const [noderef] __percpu *__vpp_verify arch/x86/events/amd/uncore.c:601:10: sparse: got union amd_uncore_info * arch/x86/events/amd/uncore.c:730:10: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got union amd_uncore_info * @@ arch/x86/events/amd/uncore.c:730:10: sparse: expected void const [noderef] __percpu *__vpp_verify arch/x86/events/amd/uncore.c:730:10: sparse: got union amd_uncore_info * >> arch/x86/events/amd/uncore.c:847:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected union amd_uncore_info *[noderef] info @@ got union amd_uncore_info [noderef] __percpu * @@ arch/x86/events/amd/uncore.c:847:30: sparse: expected union amd_uncore_info *[noderef] info arch/x86/events/amd/uncore.c:847:30: sparse: got union amd_uncore_info [noderef] __percpu * >> arch/x86/events/amd/uncore.c:881:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __percpu *__pdata @@ got union amd_uncore_info *[noderef] info @@ arch/x86/events/amd/uncore.c:881:43: sparse: expected void [noderef] __percpu *__pdata arch/x86/events/amd/uncore.c:881:43: sparse: got union amd_uncore_info *[noderef] info arch/x86/events/amd/uncore.c:904:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __percpu *__pdata @@ got union amd_uncore_info *[noderef] info @@ arch/x86/events/amd/uncore.c:904:35: sparse: expected void [noderef] __percpu *__pdata arch/x86/events/amd/uncore.c:904:35: sparse: got union amd_uncore_info *[noderef] info arch/x86/events/amd/uncore.c:358:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got union amd_uncore_info * @@ arch/x86/events/amd/uncore.c:358:39: sparse: expected void const [noderef] __percpu *__vpp_verify arch/x86/events/amd/uncore.c:358:39: sparse: got union amd_uncore_info * >> arch/x86/events/amd/uncore.c:358:39: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:358:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got union amd_uncore_info * @@ arch/x86/events/amd/uncore.c:358:39: sparse: expected void const [noderef] __percpu *__vpp_verify arch/x86/events/amd/uncore.c:358:39: sparse: got union amd_uncore_info * >> arch/x86/events/amd/uncore.c:358:39: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:601:10: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:365:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got union amd_uncore_info * @@ arch/x86/events/amd/uncore.c:365:39: sparse: expected void const [noderef] __percpu *__vpp_verify arch/x86/events/amd/uncore.c:365:39: sparse: got union amd_uncore_info * arch/x86/events/amd/uncore.c:365:39: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:730:10: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:365:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got union amd_uncore_info * @@ arch/x86/events/amd/uncore.c:365:39: sparse: expected void const [noderef] __percpu *__vpp_verify arch/x86/events/amd/uncore.c:365:39: sparse: got union amd_uncore_info * arch/x86/events/amd/uncore.c:365:39: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:848:22: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:880:21: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:881:37: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:882:25: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:901:22: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:904:29: sparse: sparse: dereference of noderef expression arch/x86/events/amd/uncore.c:905:17: sparse: sparse: dereference of noderef expression vim +601 arch/x86/events/amd/uncore.c 582 583 static 584 void amd_uncore_df_ctx_scan(struct amd_uncore *uncore, unsigned int cpu) 585 { 586 union cpuid_0x80000022_ebx ebx; 587 union amd_uncore_info info; 588 589 if (!boot_cpu_has(X86_FEATURE_PERFCTR_NB)) 590 return; 591 592 info.split.aux_data = 0; 593 info.split.num_pmcs = NUM_COUNTERS_NB; 594 info.split.cid = topology_die_id(cpu); 595 596 if (pmu_version >= 2) { 597 ebx.full = cpuid_ebx(EXT_PERFMON_DEBUG_FEATURES); 598 info.split.num_pmcs = ebx.split.num_df_pmc; 599 } 600 > 601 *per_cpu_ptr(uncore->info, cpu) = info; 602 } 603 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6] BUILD REGRESSION cd76a7555127aa134a2a1113685da60b70553e6f
by kernel test robot 20 Nov '24

20 Nov '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6 branch HEAD: cd76a7555127aa134a2a1113685da60b70553e6f !13300 ima: fix a compilation error with ima_bprm_creds_for_exec() Error/Warning (recently discovered and may have been fixed): https://lore.kernel.org/oe-kbuild-all/202411191801.IpPPqnTz-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202411192009.C5J9m2a8-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202411192024.25esZpo8-lkp@intel.com arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /: compatible: 'oneOf' conditional failed, one must be fixed: arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: /: failed to match any schema with compatible: ['friendlyarm,nanopi-r2s-plus', 'rockchip,rk3328'] arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: ethernet@ff540000: Unevaluated properties are not allowed ('snps,txpbl' was unexpected) arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dtb: pwm@ff1b0030: 'interrupts' does not match any of the regexes: 'pinctrl-[0-9]+' Error/Warning ids grouped by kconfigs: recent_errors |-- arm64-randconfig-051-20241119 | |-- arch-arm64-boot-dts-rockchip-rk3328-nanopi-r2s-plus.dtb::compatible:oneOf-conditional-failed-one-must-be-fixed: | |-- arch-arm64-boot-dts-rockchip-rk3328-nanopi-r2s-plus.dtb::failed-to-match-any-schema-with-compatible:friendlyarm-nanopi-r2s-plus-rockchip-rk3328 | |-- arch-arm64-boot-dts-rockchip-rk3328-nanopi-r2s-plus.dtb:ethernet-ff540000:Unevaluated-properties-are-not-allowed-(-snps-txpbl-was-unexpected) | `-- arch-arm64-boot-dts-rockchip-rk3328-nanopi-r2s-plus.dtb:pwm-ff1b0030:interrupts-does-not-match-any-of-the-regexes:pinctrl |-- loongarch-allmodconfig | |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000 | |-- security-integrity-ima-ima_main.c:warning:Function-parameter-or-member-bprm-not-described-in-ima_bprm_creds_for_exec | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_pcrread | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_calc_boot_aggregate | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_extend | `-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_init |-- loongarch-randconfig-051-20241119 | |-- Documentation-devicetree-bindings-arm-arm-mpam-msc.yaml:error-string-value-is-redundantly-quoted-with-any-quotes-(quoted-strings) | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:Example-is-not-one-of-id-schema-title-description-examples-required-allOf-anyOf-oneOf-definitions-defs-additionalProperties-dependencies-dependent | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:id:Cannot-determine-base-path-from-id-relative-path-filename-doesn-t-match-actual-path-or-filename | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:ignoring-error-in-schema:properties:clocks:items | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:anyOf-conditional-failed-one-must-be-fixed: | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:items:anyOf-conditional-failed-one-must-be-fixed: | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:oneOf-conditional-failed-one-must-be-fixed: | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:reg:oneOf-conditional-failed-one-must-be-fixed: | `-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:warning-wrong-indentation:expected-but-found-(indentation) |-- loongarch-randconfig-052-20241119 | |-- Documentation-devicetree-bindings-arm-arm-mpam-msc.yaml:error-string-value-is-redundantly-quoted-with-any-quotes-(quoted-strings) | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:Example-is-not-one-of-id-schema-title-description-examples-required-allOf-anyOf-oneOf-definitions-defs-additionalProperties-dependencies-dependent | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:id:Cannot-determine-base-path-from-id-relative-path-filename-doesn-t-match-actual-path-or-filename | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:ignoring-error-in-schema:properties:clocks:items | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:anyOf-conditional-failed-one-must-be-fixed: | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:items:anyOf-conditional-failed-one-must-be-fixed: | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:oneOf-conditional-failed-one-must-be-fixed: | |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:reg:oneOf-conditional-failed-one-must-be-fixed: | `-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:warning-wrong-indentation:expected-but-found-(indentation) |-- x86_64-allnoconfig | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init | `-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init |-- x86_64-allyesconfig | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init | |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dml-calcs-dcn_calc_auto.c:warning:stack-frame-size-()-exceeds-limit-()-in-mode_support_and_system_configuration | |-- drivers-infiniband-hw-xsc-main.c:warning:no-previous-prototype-for-function-xsc_ib_reboot_event_handler | |-- drivers-infiniband-hw-xsc-mr.c:warning:no-previous-prototype-for-function-xsc_get_mr_page_mode | |-- drivers-infiniband-hw-xsc-private_dev.c:warning:variable-char_dev-set-but-not-used | |-- drivers-infiniband-hw-xsc-qp.c:warning:variable-xsc_state-is-uninitialized-when-used-here | |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:error:a-randomized-struct-can-only-be-initialized-with-a-designated-initializer | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_num-set-but-not-used | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis | |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings | |-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-set_feature_vlan_offload | |-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_net_reboot_event_handler | |-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_set_vf_link_state | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-anlt_fec_name | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-fpga_type_name | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-hps_ddr_name | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-ma_xbar_name | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-onchip_ft_name | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-pct_exp_name | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-pp_tbl_dma_name | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-rdma_icrc_name | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_hw_comm.c:warning:no-previous-prototype-for-function-xsc_hw_kernel_call | |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_hw_comm.c:warning:variable-err-set-but-not-used | |-- drivers-net-ethernet-yunsilicon-xsc-pci-main.c:warning:no-previous-prototype-for-function-xsc_pci_reboot_event_handler | |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_dereg_mr_via_cmdq | |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_reg_mr_via_cmdq | |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_set_mpt_via_cmdq | |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_set_mtt_via_cmdq | |-- drivers-net-ethernet-yunsilicon-xsc-pci-vport.c:warning:variable-i-is-uninitialized-when-used-here | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_add_member | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_create | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_destroy | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_remove_member | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_update_hash_type | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_update_member_status | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_add_lag_member | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_board_lag_reset | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_board_lag_set | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_add_lag_member | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_remove_lag_member | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_update_lag_hash_type | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_update_lag_member_status | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_create_lag | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_destroy_lag | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_remove_lag_member | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_update_lag_hash_type | |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_update_lag_member_status | |-- security-integrity-ima-ima_main.c:warning:Function-parameter-or-member-bprm-not-described-in-ima_bprm_creds_for_exec | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-function-ima_pcrread | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-function-ima_tpm_calc_boot_aggregate | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-function-ima_tpm_extend | `-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-function-ima_tpm_init |-- x86_64-buildonly-randconfig-001-20241119 | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init | |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000 | |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-function-kh40000_get_direct_dma_ops | `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000 |-- x86_64-buildonly-randconfig-002-20241119 | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init | |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000 | |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-function-kh40000_get_direct_dma_ops | |-- drivers-crypto-ccp-hygon-hct.c:error:no-member-named-numa_node-in-struct-device | |-- include-linux-psp-hygon.h:warning:no-previous-prototype-for-function-psp_register_cmd_notifier | |-- include-linux-psp-hygon.h:warning:no-previous-prototype-for-function-psp_unregister_cmd_notifier | `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000 |-- x86_64-buildonly-randconfig-003-20241119 | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init | |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000 | |-- security-integrity-ima-ima_main.c:warning:Function-parameter-or-member-bprm-not-described-in-ima_bprm_creds_for_exec | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-function-ima_pcrread | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-function-ima_tpm_calc_boot_aggregate | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-function-ima_tpm_extend | `-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-function-ima_tpm_init |-- x86_64-buildonly-randconfig-004-20241119 | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init | |-- include-linux-psp-hygon.h:warning:no-previous-prototype-for-function-psp_register_cmd_notifier | `-- include-linux-psp-hygon.h:warning:no-previous-prototype-for-function-psp_unregister_cmd_notifier |-- x86_64-kexec | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init | |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init | `-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init |-- x86_64-randconfig-121-20241118 | |-- arch-x86-events-amd-uncore.c:sparse:sparse:dereference-of-noderef-expression | |-- arch-x86-events-amd-uncore.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__percpu-got-union-amd_uncore_info-noderef-info | |-- arch-x86-events-amd-uncore.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-union-amd_uncore_info-noderef-info-got-union-amd_uncore_info-noderef-__percpu | |-- arch-x86-events-amd-uncore.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-__percpu-got-union-amd_uncore_info | |-- arch-x86-events-zhaoxin-uncore.c:sparse:sparse:symbol-kh40000_uncore_cpu_init-was-not-declared.-Should-it-be-static | |-- arch-x86-events-zhaoxin-uncore.c:sparse:sparse:symbol-kh40000_uncore_pci_init-was-not-declared.-Should-it-be-static | `-- arch-x86-events-zhaoxin-uncore.c:sparse:sparse:symbol-kx5000_uncore_cpu_init-was-not-declared.-Should-it-be-static |-- x86_64-rhel-9.4 | |-- security-integrity-ima-ima_main.c:warning:Function-parameter-or-member-bprm-not-described-in-ima_bprm_creds_for_exec | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_pcrread | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_calc_boot_aggregate | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_extend | `-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_init |-- x86_64-rhel-9.4-func | |-- security-integrity-ima-ima_main.c:warning:Function-parameter-or-member-bprm-not-described-in-ima_bprm_creds_for_exec | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_pcrread | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_calc_boot_aggregate | |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_extend | `-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_init `-- x86_64-rhel-9.4-kselftests |-- security-integrity-ima-ima_main.c:warning:Function-parameter-or-member-bprm-not-described-in-ima_bprm_creds_for_exec |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_pcrread |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_calc_boot_aggregate |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_extend `-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_init elapsed time: 1072m configs tested: 12 configs skipped: 75 tested configs: arm64 allnoconfig gcc-14.2.0 loongarch allmodconfig gcc-14.2.0 loongarch allnoconfig gcc-14.2.0 x86_64 allnoconfig clang-19 x86_64 allyesconfig clang-19 x86_64 buildonly-randconfig-001-20241119 clang-19 x86_64 buildonly-randconfig-002-20241119 clang-19 x86_64 buildonly-randconfig-003-20241119 clang-19 x86_64 buildonly-randconfig-004-20241119 clang-19 x86_64 defconfig gcc-11 x86_64 kexec clang-19 x86_64 rhel-9.4 gcc-12 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1297/1297] drivers/mfd/rohm-bd718x7.o: warning: objtool: missing symbol for section .exit.text
by kernel test robot 20 Nov '24

20 Nov '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 1a2048c794842eea41d3b91eda4b74e1e9386ae9 commit: 30107fa6908b6c2747ee9100b40af813f99483c3 [1297/1297] mfd: bd71837: Core driver for ROHM BD71837 PMIC config: x86_64-buildonly-randconfig-005-20241117 (https://download.01.org/0day-ci/archive/20241119/202411191808.VeBluHiB-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241119/202411191808.VeBluHiB-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/202411191808.VeBluHiB-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from drivers/mfd/rohm-bd718x7.c:15: include/linux/module.h:138:14: warning: 'cleanup_module' specifies less restrictive attribute than its target 'bd71837_i2c_exit': 'cold' [-Wmissing-attributes] 138 | void cleanup_module(void) __attribute__((alias(#exitfn))); | ^~~~~~~~~~~~~~ drivers/mfd/rohm-bd718x7.c:207:1: note: in expansion of macro 'module_exit' 207 | module_exit(bd71837_i2c_exit); | ^~~~~~~~~~~ drivers/mfd/rohm-bd718x7.c:203:20: note: 'cleanup_module' target declared here 203 | static void __exit bd71837_i2c_exit(void) | ^~~~~~~~~~~~~~~~ include/linux/module.h:132:13: warning: 'init_module' specifies less restrictive attribute than its target 'bd71837_i2c_init': 'cold' [-Wmissing-attributes] 132 | int init_module(void) __attribute__((alias(#initfn))); | ^~~~~~~~~~~ include/linux/module.h:115:41: note: in expansion of macro 'module_init' 115 | #define subsys_initcall(fn) module_init(fn) | ^~~~~~~~~~~ drivers/mfd/rohm-bd718x7.c:201:1: note: in expansion of macro 'subsys_initcall' 201 | subsys_initcall(bd71837_i2c_init); | ^~~~~~~~~~~~~~~ drivers/mfd/rohm-bd718x7.c:195:19: note: 'init_module' target declared here 195 | static int __init bd71837_i2c_init(void) | ^~~~~~~~~~~~~~~~ >> drivers/mfd/rohm-bd718x7.o: warning: objtool: missing symbol for section .exit.text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH OLK-6.6][Backport] mm: krealloc: Fix MTE false alarm in __do_krealloc
by Jiangshan Yi 20 Nov '24

20 Nov '24
From: Qun-Wei Lin <qun-wei.lin(a)mediatek.com> mainline inclusion from mainline-v6.12-rc6 commit 704573851b51808b45dae2d62059d1d8189138a2 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IB5I36 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?… -------------------------------- This patch addresses an issue introduced by commit 1a83a716ec233 ("mm: krealloc: consider spare memory for __GFP_ZERO") which causes MTE (Memory Tagging Extension) to falsely report a slab-out-of-bounds error. The problem occurs when zeroing out spare memory in __do_krealloc. The original code only considered software-based KASAN and did not account for MTE. It does not reset the KASAN tag before calling memset, leading to a mismatch between the pointer tag and the memory tag, resulting in a false positive. Example of the error: ================================================================== swapper/0: BUG: KASAN: slab-out-of-bounds in __memset+0x84/0x188 swapper/0: Write at addr f4ffff8005f0fdf0 by task swapper/0/1 swapper/0: Pointer tag: [f4], memory tag: [fe] swapper/0: swapper/0: CPU: 4 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12. swapper/0: Hardware name: MT6991(ENG) (DT) swapper/0: Call trace: swapper/0: dump_backtrace+0xfc/0x17c swapper/0: show_stack+0x18/0x28 swapper/0: dump_stack_lvl+0x40/0xa0 swapper/0: print_report+0x1b8/0x71c swapper/0: kasan_report+0xec/0x14c swapper/0: __do_kernel_fault+0x60/0x29c swapper/0: do_bad_area+0x30/0xdc swapper/0: do_tag_check_fault+0x20/0x34 swapper/0: do_mem_abort+0x58/0x104 swapper/0: el1_abort+0x3c/0x5c swapper/0: el1h_64_sync_handler+0x80/0xcc swapper/0: el1h_64_sync+0x68/0x6c swapper/0: __memset+0x84/0x188 swapper/0: btf_populate_kfunc_set+0x280/0x3d8 swapper/0: __register_btf_kfunc_id_set+0x43c/0x468 swapper/0: register_btf_kfunc_id_set+0x48/0x60 swapper/0: register_nf_nat_bpf+0x1c/0x40 swapper/0: nf_nat_init+0xc0/0x128 swapper/0: do_one_initcall+0x184/0x464 swapper/0: do_initcall_level+0xdc/0x1b0 swapper/0: do_initcalls+0x70/0xc0 swapper/0: do_basic_setup+0x1c/0x28 swapper/0: kernel_init_freeable+0x144/0x1b8 swapper/0: kernel_init+0x20/0x1a8 swapper/0: ret_from_fork+0x10/0x20 ================================================================== Fixes: 1a83a716ec233 ("mm: krealloc: consider spare memory for __GFP_ZERO") Signed-off-by: Qun-Wei Lin <qun-wei.lin(a)mediatek.com> Acked-by: David Rientjes <rientjes(a)google.com> Signed-off-by: Vlastimil Babka <vbabka(a)suse.cz> Signed-off-by: Jiangshan Yi <yijiangshan(a)kylinos.cn> --- mm/slab_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/slab_common.c b/mm/slab_common.c index ef971fcdaa07..2e2b43fae2c3 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -1391,7 +1391,7 @@ __do_krealloc(const void *p, size_t new_size, gfp_t flags) /* Zero out spare memory. */ if (want_init_on_alloc(flags)) { kasan_disable_current(); - memset((void *)p + new_size, 0, ks - new_size); + memset(kasan_reset_tag(p) + new_size, 0, ks - new_size); kasan_enable_current(); } -- 2.27.0
2 1
0 0
[PATCH openEuler-22.03-LTS-SP1] smb: client: fix OOBs when building SMB2_IOCTL request
by Baokun Li 19 Nov '24

19 Nov '24
From: Paulo Alcantara <pc(a)manguebit.com> stable inclusion from stable-v5.10.229 commit ed31aba8ce93472d9e16f5cff844ae7c94e9601d category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB3D6J CVE: CVE-2024-50151 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… -------------------------------- [ Upstream commit 1ab60323c5201bef25f2a3dc0ccc404d9aca77f1 ] When using encryption, either enforced by the server or when using 'seal' mount option, the client will squash all compound request buffers down for encryption into a single iov in smb2_set_next_command(). SMB2_ioctl_init() allocates a small buffer (448 bytes) to hold the SMB2_IOCTL request in the first iov, and if the user passes an input buffer that is greater than 328 bytes, smb2_set_next_command() will end up writing off the end of @rqst->iov[0].iov_base as shown below: mount.cifs //srv/share /mnt -o ...,seal ln -s $(perl -e "print('a')for 1..1024") /mnt/link BUG: KASAN: slab-out-of-bounds in smb2_set_next_command.cold+0x1d6/0x24c [cifs] Write of size 4116 at addr ffff8881148fcab8 by task ln/859 CPU: 1 UID: 0 PID: 859 Comm: ln Not tainted 6.12.0-rc3 #1 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-2.fc40 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x5d/0x80 ? smb2_set_next_command.cold+0x1d6/0x24c [cifs] print_report+0x156/0x4d9 ? smb2_set_next_command.cold+0x1d6/0x24c [cifs] ? __virt_addr_valid+0x145/0x310 ? __phys_addr+0x46/0x90 ? smb2_set_next_command.cold+0x1d6/0x24c [cifs] kasan_report+0xda/0x110 ? smb2_set_next_command.cold+0x1d6/0x24c [cifs] kasan_check_range+0x10f/0x1f0 __asan_memcpy+0x3c/0x60 smb2_set_next_command.cold+0x1d6/0x24c [cifs] smb2_compound_op+0x238c/0x3840 [cifs] ? kasan_save_track+0x14/0x30 ? kasan_save_free_info+0x3b/0x70 ? vfs_symlink+0x1a1/0x2c0 ? do_symlinkat+0x108/0x1c0 ? __pfx_smb2_compound_op+0x10/0x10 [cifs] ? kmem_cache_free+0x118/0x3e0 ? cifs_get_writable_path+0xeb/0x1a0 [cifs] smb2_get_reparse_inode+0x423/0x540 [cifs] ? __pfx_smb2_get_reparse_inode+0x10/0x10 [cifs] ? rcu_is_watching+0x20/0x50 ? __kmalloc_noprof+0x37c/0x480 ? smb2_create_reparse_symlink+0x257/0x490 [cifs] ? smb2_create_reparse_symlink+0x38f/0x490 [cifs] smb2_create_reparse_symlink+0x38f/0x490 [cifs] ? __pfx_smb2_create_reparse_symlink+0x10/0x10 [cifs] ? find_held_lock+0x8a/0xa0 ? hlock_class+0x32/0xb0 ? __build_path_from_dentry_optional_prefix+0x19d/0x2e0 [cifs] cifs_symlink+0x24f/0x960 [cifs] ? __pfx_make_vfsuid+0x10/0x10 ? __pfx_cifs_symlink+0x10/0x10 [cifs] ? make_vfsgid+0x6b/0xc0 ? generic_permission+0x96/0x2d0 vfs_symlink+0x1a1/0x2c0 do_symlinkat+0x108/0x1c0 ? __pfx_do_symlinkat+0x10/0x10 ? strncpy_from_user+0xaa/0x160 __x64_sys_symlinkat+0xb9/0xf0 do_syscall_64+0xbb/0x1d0 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f08d75c13bb Reported-by: David Howells <dhowells(a)redhat.com> Fixes: e77fe73c7e38 ("cifs: we can not use small padding iovs together with encryption") Signed-off-by: Paulo Alcantara (Red Hat) <pc(a)manguebit.com> Signed-off-by: Steve French <stfrench(a)microsoft.com> Signed-off-by: Sasha Levin <sashal(a)kernel.org> Signed-off-by: Baokun Li <libaokun1(a)huawei.com> --- fs/cifs/smb2pdu.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index b1b0d26c8486..ea82cd9e5512 100644 --- a/fs/cifs/smb2pdu.c +++ b/fs/cifs/smb2pdu.c @@ -2944,6 +2944,15 @@ SMB2_ioctl_init(struct cifs_tcon *tcon, struct TCP_Server_Info *server, return rc; if (indatalen) { + unsigned int len; + + if (WARN_ON_ONCE(smb3_encryption_required(tcon) && + (check_add_overflow(total_len - 1, + ALIGN(indatalen, 8), &len) || + len > MAX_CIFS_SMALL_BUFFER_SIZE))) { + cifs_small_buf_release(req); + return -EIO; + } /* * indatalen is usually small at a couple of bytes max, so * just allocate through generic pool -- 2.46.1
2 1
0 0
[PATCH OLK-6.6] RDMA/hns: Fix different dgids mapping to the same dip_idx
by Chengchang Tang 19 Nov '24

19 Nov '24
From: Feng Fang <fangfeng4(a)huawei.com> mainline inclusion from mainline-v6.12-rc2 commit faa62440a5772b40bb7d78bf9e29556a82ecf153 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IB4OOG CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/commit/?id=fa… --------------------------------------------------------------------- DIP algorithm requires a one-to-one mapping between dgid and dip_idx. Currently a queue 'spare_idx' is used to store QPN of QPs that use DIP algorithm. For a new dgid, use a QPN from spare_idx as dip_idx. This method lacks a mechanism for deduplicating QPN, which may result in different dgids sharing the same dip_idx and break the one-to-one mapping requirement. This patch replaces spare_idx with xarray and introduces a refcnt of a dip_idx to indicate the number of QPs that using this dip_idx. The state machine for dip_idx management is implemented as: * The entry at an index in xarray is empty -- This indicates that the corresponding dip_idx hasn't been created. * The entry at an index in xarray is not empty but with 0 refcnt -- This indicates that the corresponding dip_idx has been created but not used as dip_idx yet. * The entry at an index in xarray is not empty and with non-0 refcnt -- This indicates that the corresponding dip_idx is being used by refcnt number of DIP QPs. Fixes: eb653eda1e91 ("RDMA/hns: Bugfix for incorrect association between dip_idx and dgid") Fixes: f91696f2f053 ("RDMA/hns: Support congestion control type selection according to the FW") Signed-off-by: Feng Fang <fangfeng4(a)huawei.com> Signed-off-by: Junxian Huang <huangjunxian6(a)hisilicon.com> Link: https://patch.msgid.link/20241112055553.3681129-1-huangjunxian6@hisilicon.c… Signed-off-by: Leon Romanovsky <leon(a)kernel.org> --- drivers/infiniband/hw/hns/hns_roce_device.h | 11 +-- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 96 +++++++++++++++------ drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 2 +- drivers/infiniband/hw/hns/hns_roce_main.c | 2 - drivers/infiniband/hw/hns/hns_roce_qp.c | 8 +- 5 files changed, 75 insertions(+), 44 deletions(-) diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h index fdc1fe5e6a81..e3303cc3584a 100644 --- a/drivers/infiniband/hw/hns/hns_roce_device.h +++ b/drivers/infiniband/hw/hns/hns_roce_device.h @@ -570,12 +570,6 @@ struct hns_roce_bank { u32 next; /* Next ID to allocate. */ }; -struct hns_roce_idx_table { - u32 *spare_idx; - u32 head; - u32 tail; -}; - struct hns_roce_qp_table { struct hns_roce_hem_table qp_table; struct hns_roce_hem_table irrl_table; @@ -584,7 +578,7 @@ struct hns_roce_qp_table { struct mutex scc_mutex; struct hns_roce_bank bank[HNS_ROCE_QP_BANK_NUM]; struct mutex bank_mutex; - struct hns_roce_idx_table idx_table; + struct xarray dip_xa; }; struct hns_roce_cq_table { @@ -742,6 +736,7 @@ struct hns_roce_qp { bool delayed_destroy_flag; struct hns_roce_mtr_node *mtr_node; spinlock_t flush_lock; + struct hns_roce_dip *dip; }; struct hns_roce_ib_iboe { @@ -1102,8 +1097,6 @@ struct hns_roce_dev { enum hns_roce_device_state state; struct list_head qp_list; /* list of all qps on this dev */ spinlock_t qp_list_lock; /* protect qp_list */ - struct list_head dip_list; /* list of all dest ips on this dev */ - spinlock_t dip_list_lock; /* protect dip_list */ struct list_head pgdir_list; struct mutex pgdir_mutex; diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c index 3f254ac48b42..88bd75c5743e 100644 --- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c @@ -2720,20 +2720,19 @@ static void hns_roce_free_link_table(struct hns_roce_dev *hr_dev) free_link_table_buf(hr_dev, &priv->ext_llm); } -static void free_dip_list(struct hns_roce_dev *hr_dev) +static void free_dip_entry(struct hns_roce_dev *hr_dev) { struct hns_roce_dip *hr_dip; - struct hns_roce_dip *tmp; - unsigned long flags; + unsigned long idx; - spin_lock_irqsave(&hr_dev->dip_list_lock, flags); + xa_lock(&hr_dev->qp_table.dip_xa); - list_for_each_entry_safe(hr_dip, tmp, &hr_dev->dip_list, node) { - list_del(&hr_dip->node); + xa_for_each(&hr_dev->qp_table.dip_xa, idx, hr_dip) { + __xa_erase(&hr_dev->qp_table.dip_xa, hr_dip->dip_idx); kfree(hr_dip); } - spin_unlock_irqrestore(&hr_dev->dip_list_lock, flags); + xa_unlock(&hr_dev->qp_table.dip_xa); } static int hns_roce_v2_get_reset_page(struct hns_roce_dev *hr_dev) @@ -3182,7 +3181,7 @@ static void hns_roce_v2_exit(struct hns_roce_dev *hr_dev) hns_roce_v2_put_reset_page(hr_dev); if (hr_dev->pci_dev->revision == PCI_REVISION_ID_HIP09) - free_dip_list(hr_dev); + free_dip_entry(hr_dev); } static inline void mbox_desc_init(struct hns_roce_post_mbox *mb, @@ -5042,26 +5041,49 @@ static int modify_qp_rtr_to_rts(struct ib_qp *ibqp, int attr_mask, return 0; } +static int alloc_dip_entry(struct xarray *dip_xa, u32 qpn) +{ + struct hns_roce_dip *hr_dip; + int ret; + + hr_dip = xa_load(dip_xa, qpn); + if (hr_dip) + return 0; + + hr_dip = kzalloc(sizeof(*hr_dip), GFP_KERNEL); + if (!hr_dip) + return -ENOMEM; + + ret = xa_err(xa_store(dip_xa, qpn, hr_dip, GFP_KERNEL)); + if (ret) + kfree(hr_dip); + + return ret; +} + static int get_dip_ctx_idx(struct ib_qp *ibqp, const struct ib_qp_attr *attr, u32 *dip_idx) { const struct ib_global_route *grh = rdma_ah_read_grh(&attr->ah_attr); struct hns_roce_dev *hr_dev = to_hr_dev(ibqp->device); - u32 *spare_idx = hr_dev->qp_table.idx_table.spare_idx; - u32 *head = &hr_dev->qp_table.idx_table.head; - u32 *tail = &hr_dev->qp_table.idx_table.tail; + struct xarray *dip_xa = &hr_dev->qp_table.dip_xa; + struct hns_roce_qp *hr_qp = to_hr_qp(ibqp); struct hns_roce_dip *hr_dip; - unsigned long flags; + unsigned long idx; int ret = 0; - spin_lock_irqsave(&hr_dev->dip_list_lock, flags); + ret = alloc_dip_entry(dip_xa, ibqp->qp_num); + if (ret) + return ret; - spare_idx[*tail] = ibqp->qp_num; - *tail = (*tail == hr_dev->caps.num_qps - 1) ? 0 : (*tail + 1); + xa_lock(dip_xa); - list_for_each_entry(hr_dip, &hr_dev->dip_list, node) { - if (!memcmp(grh->dgid.raw, hr_dip->dgid, GID_LEN_V2)) { + xa_for_each(dip_xa, idx, hr_dip) { + if (hr_dip->qp_cnt && + !memcmp(grh->dgid.raw, hr_dip->dgid, GID_LEN_V2)) { *dip_idx = hr_dip->dip_idx; + hr_dip->qp_cnt++; + hr_qp->dip = hr_dip; goto out; } } @@ -5069,19 +5091,24 @@ static int get_dip_ctx_idx(struct ib_qp *ibqp, const struct ib_qp_attr *attr, /* If no dgid is found, a new dip and a mapping between dgid and * dip_idx will be created. */ - hr_dip = kzalloc(sizeof(*hr_dip), GFP_ATOMIC); - if (!hr_dip) { - ret = -ENOMEM; - goto out; + xa_for_each(dip_xa, idx, hr_dip) { + if (hr_dip->qp_cnt) + continue; + + *dip_idx = idx; + memcpy(hr_dip->dgid, grh->dgid.raw, sizeof(grh->dgid.raw)); + hr_dip->dip_idx = idx; + hr_dip->qp_cnt++; + hr_qp->dip = hr_dip; + break; } - memcpy(hr_dip->dgid, grh->dgid.raw, sizeof(grh->dgid.raw)); - hr_dip->dip_idx = *dip_idx = spare_idx[*head]; - *head = (*head == hr_dev->caps.num_qps - 1) ? 0 : (*head + 1); - list_add_tail(&hr_dip->node, &hr_dev->dip_list); + /* This should never happen. */ + if (WARN_ON_ONCE(!hr_qp->dip)) + ret = -ENOSPC; out: - spin_unlock_irqrestore(&hr_dev->dip_list_lock, flags); + xa_unlock(dip_xa); return ret; } @@ -6005,6 +6032,20 @@ static int hns_roce_v2_destroy_qp_common(struct hns_roce_dev *hr_dev, return ret; } +static void put_dip_ctx_idx(struct hns_roce_dev *hr_dev, + struct hns_roce_qp *hr_qp) +{ + struct hns_roce_dip *hr_dip = hr_qp->dip; + + xa_lock(&hr_dev->qp_table.dip_xa); + + hr_dip->qp_cnt--; + if (!hr_dip->qp_cnt) + memset(hr_dip->dgid, 0, GID_LEN_V2); + + xa_unlock(&hr_dev->qp_table.dip_xa); +} + int hns_roce_v2_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) { struct hns_roce_dev *hr_dev = to_hr_dev(ibqp->device); @@ -6018,6 +6059,9 @@ int hns_roce_v2_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) spin_unlock_irqrestore(&hr_qp->flush_lock, flags); flush_work(&hr_qp->flush_work.work); + if (hr_qp->cong_type == CONG_TYPE_DIP) + put_dip_ctx_idx(hr_dev, hr_qp); + ret = hns_roce_v2_destroy_qp_common(hr_dev, hr_qp, udata); if (ret) ibdev_err_ratelimited(&hr_dev->ib_dev, diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.h b/drivers/infiniband/hw/hns/hns_roce_hw_v2.h index 201902dff611..f43444be0308 100644 --- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.h +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.h @@ -1366,7 +1366,7 @@ struct hns_roce_v2_priv { struct hns_roce_dip { u8 dgid[GID_LEN_V2]; u32 dip_idx; - struct list_head node; /* all dips are on a list */ + u32 qp_cnt; }; struct fmea_ram_ecc { diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c index d488c3d5986f..520112bd43d5 100644 --- a/drivers/infiniband/hw/hns/hns_roce_main.c +++ b/drivers/infiniband/hw/hns/hns_roce_main.c @@ -1250,8 +1250,6 @@ static int hns_roce_setup_hca(struct hns_roce_dev *hr_dev) INIT_LIST_HEAD(&hr_dev->qp_list); spin_lock_init(&hr_dev->qp_list_lock); - INIT_LIST_HEAD(&hr_dev->dip_list); - spin_lock_init(&hr_dev->dip_list_lock); INIT_LIST_HEAD(&hr_dev->uctx_list); mutex_init(&hr_dev->uctx_list_mutex); diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c index 5ed2647567aa..77ec0c8678d3 100644 --- a/drivers/infiniband/hw/hns/hns_roce_qp.c +++ b/drivers/infiniband/hw/hns/hns_roce_qp.c @@ -1701,14 +1701,10 @@ int hns_roce_init_qp_table(struct hns_roce_dev *hr_dev) unsigned int reserved_from_bot; unsigned int i; - qp_table->idx_table.spare_idx = kcalloc(hr_dev->caps.num_qps, - sizeof(u32), GFP_KERNEL); - if (!qp_table->idx_table.spare_idx) - return -ENOMEM; - mutex_init(&qp_table->scc_mutex); mutex_init(&qp_table->bank_mutex); xa_init(&hr_dev->qp_table_xa); + xa_init(&qp_table->dip_xa); reserved_from_bot = hr_dev->caps.reserved_qps; @@ -1733,7 +1729,7 @@ void hns_roce_cleanup_qp_table(struct hns_roce_dev *hr_dev) for (i = 0; i < HNS_ROCE_QP_BANK_NUM; i++) ida_destroy(&hr_dev->qp_table.bank[i].ida); + xa_destroy(&hr_dev->qp_table.dip_xa); mutex_destroy(&hr_dev->qp_table.bank_mutex); mutex_destroy(&hr_dev->qp_table.scc_mutex); - kfree(hr_dev->qp_table.idx_table.spare_idx); } -- 2.33.0
2 1
0 0
  • ← Newer
  • 1
  • ...
  • 504
  • 505
  • 506
  • 507
  • 508
  • 509
  • 510
  • ...
  • 1978
  • Older →

HyperKitty Powered by HyperKitty