Kernel
Threads by month
- ----- 2025 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 43 participants
- 20352 discussions

[openeuler:OLK-6.6] BUILD REGRESSION 95d9bb49cd2a9acbcf01f5f0caa6820d443ac296
by kernel test robot 17 Sep '25
by kernel test robot 17 Sep '25
17 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 95d9bb49cd2a9acbcf01f5f0caa6820d443ac296 !18015 arm64: cca_base: On the Adaptation of CCA and virtCCA.
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508210857.2ksxM8sj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508211208.pMTZ4FXY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508271625.s6br6gQM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282115.FeEkHc1L-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282129.EDKxrS6o-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292128.aB60Q1zq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292223.h9TBg6O5-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300025.VFiF17aE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300119.FVignUFM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300319.Biz2ibcG-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020626.0JaPbty4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020837.kUUC5gs7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091546.3rklFVnn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091707.YxEsJCE3-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509100832.WdxoWFgC-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101135.XUImZv6b-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101407.yFi7BLHu-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101646.6hsrX8dz-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509122354.VZ9a8UaA-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509130621.eY2Y6kXo-lkp@intel.com
arch/arm64/kernel/idle.c:51:5: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:176:5: warning: no previous prototype for function 'zxi2c_fifo_irq_xfer' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:314:5: warning: no previous prototype for function 'zxi2c_xfer' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:123:6: warning: no previous prototype for function 'wakeup_and_poll' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:130:5: warning: no previous prototype for function 'polling_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:147:5: warning: no previous prototype for function 'polling_awaken_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for function 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/pci/pci.c:181:17: error: expected ')'
drivers/pci/pci.c:181:17: error: redefinition of 'suspend_state_t' as different kind of symbol
include/linux/fortify-string.h:597:4: warning: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
kernel/dma/phytium/pswiotlb-mapping.c:400:30: warning: no previous prototype for function 'pswiotlb_clone_orig_dma_ops' [-Wmissing-prototypes]
kernel/dma/phytium/pswiotlb.c:1005: warning: Function parameter or member 'nid' not described in 'pswiotlb_area_find_slots'
kernel/dma/phytium/pswiotlb.c:1115: warning: Function parameter or member 'nid' not described in 'pswiotlb_pool_find_slots'
kernel/dma/phytium/pswiotlb.c:1153: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_slots'
kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used [-Wunused-but-set-variable]
kernel/dma/phytium/pswiotlb.c:1523: warning: Function parameter or member 'dev' not described in 'is_pswiotlb_allocated'
kernel/dma/phytium/pswiotlb.c:1542: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_base'
kernel/dma/phytium/pswiotlb.c:1556: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_limit'
kernel/dma/phytium/pswiotlb.c:474: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_tlb'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'transient' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:806: warning: Function parameter or member 'nid' not described in 'alloc_dma_pages'
kernel/dma/phytium/pswiotlb.c:836: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_pool'
kernel/sched/fair.c:15434:12: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
mm/damon/core.c:116:5: warning: no previous prototype for function 'damon_target_init_kfifo' [-Wmissing-prototypes]
mm/damon/core.c:132:6: warning: no previous prototype for function 'damon_target_deinit_kfifo' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for function 'force_swapin_vma' [-Wmissing-prototypes]
mm/mem_sampling.c:72:6: warning: no previous prototype for function 'mem_sampling_record_cb_register' [-Wmissing-prototypes]
mm/mem_sampling.c:89:6: warning: no previous prototype for function 'mem_sampling_record_cb_unregister' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for function 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1611: warning: expecting prototype for memblock_alloc_internal(). Prototype was for __memblock_alloc_internal() instead
mm/memcontrol.c:3496:6: warning: no previous prototype for function 'hisi_oom_recover' [-Wmissing-prototypes]
mm/mempolicy.c:1123:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/mempolicy.c:1123:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/oom_kill.c:319: warning: Function parameter or member 'oc' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'points' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'task' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: expecting prototype for We choose the task in low(). Prototype was for oom_next_task() instead
mm/page_cache_limit.c:61:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/share_pool.c:1510: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc'
mm/share_pool.c:2425: warning: duplicate section name 'Return'
mm/share_pool.c:2796:7: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable]
mm/share_pool.c:2844: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare'
mm/share_pool.c:975: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead
mm/vmalloc.c:4976: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
net/oenetcls/oenetcls_flow.c:18:6: warning: no previous prototype for function 'is_oecls_config_netdev' [-Wmissing-prototypes]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-kernel-idle.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-cq_polling
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_awaken_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-wakeup_and_poll
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- kernel-dma-phytium-pswiotlb-mapping.c:warning:no-previous-prototype-for-function-pswiotlb_clone_orig_dma_ops
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_base
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_limit
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-is_pswiotlb_allocated
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-alloc_dma_pages
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_tlb
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_area_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_pool_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-transient-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:variable-cpuid-set-but-not-used
| |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_deinit_kfifo
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_init_kfifo
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_register
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_unregister
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-function-hisi_oom_recover
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-share_pool.c:warning:Function-parameter-or-member-node_id-not-described-in-sp_area_alloc
| |-- mm-share_pool.c:warning:Function-parameter-or-member-spg_id-not-described-in-mg_sp_unshare
| |-- mm-share_pool.c:warning:duplicate-section-name-Return
| |-- mm-share_pool.c:warning:expecting-prototype-for-mp_sp_group_id_by_pid().-Prototype-was-for-mg_sp_group_id_by_pid()-instead
| |-- mm-share_pool.c:warning:variable-is_hugepage-set-but-not-used
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- arm64-allnoconfig
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-001-20250916
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-002-20250916
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-003-20250916
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-004-20250916
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allmodconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- loongarch-allnoconfig
| |-- arch-loongarch-kernel-efi.c:error:assigning-to-pmd_t-from-incompatible-type-int
| |-- arch-loongarch-kernel-efi.c:error:call-to-undeclared-function-pmd_mkhuge-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- arch-loongarch-kernel-legacy_boot.c:error:call-to-undeclared-function-nid_to_addrbase-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-pci-pci.c:error:expected-)
| |-- drivers-pci-pci.c:error:redefinition-of-suspend_state_t-as-different-kind-of-symbol
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-002-20250916
| |-- drivers-pci-pci.c:error:expected-)
| |-- drivers-pci-pci.c:error:redefinition-of-suspend_state_t-as-different-kind-of-symbol
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allnoconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allyesconfig
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- x86_64-buildonly-randconfig-001-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-002-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-003-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-004-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-005-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-006-20250916
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-defconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
`-- x86_64-randconfig-161-20250917
|-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
|-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
|-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
|-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
`-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
elapsed time: 729m
configs tested: 20
configs skipped: 116
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250916 clang-18
arm64 randconfig-002-20250916 clang-22
arm64 randconfig-003-20250916 clang-22
arm64 randconfig-004-20250916 clang-22
loongarch allmodconfig clang-19
loongarch allnoconfig clang-22
loongarch randconfig-001-20250916 clang-16
loongarch randconfig-002-20250916 clang-22
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250916 gcc-14
x86_64 buildonly-randconfig-002-20250916 clang-20
x86_64 buildonly-randconfig-003-20250916 clang-20
x86_64 buildonly-randconfig-004-20250916 clang-20
x86_64 buildonly-randconfig-005-20250916 clang-20
x86_64 buildonly-randconfig-006-20250916 clang-20
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-20
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS] BUILD REGRESSION 1d593bdfdaff241dea4989a81386a6f45887adf2
by kernel test robot 17 Sep '25
by kernel test robot 17 Sep '25
17 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: 1d593bdfdaff241dea4989a81386a6f45887adf2 !8566 [openEuler-1.0-LTS] Update a series of xhci-related Zhaoxin patches
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508301637.4sfu6N2M-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020546.DO94LENh-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020919.PwhZw5yj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509152248.Glnloqtx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509160016.RjCI0LQf-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509160041.xVp7j0qx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509162016.H2iGR5dg-lkp@intel.com
block/blk-rq-qos.o: warning: objtool: missing symbol for section .text
drivers/usb/early/../host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
drivers/usb/host/xhci-mem.c:2210:17: warning: 'minor_revision' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/usb/host/xhci.h:1877: warning: "XHCI_ZHAOXIN_HOST" redefined
drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' redefined
mm/.tmp_ioremap.o: warning: objtool: missing symbol for section .text
mm/.tmp_util.o: warning: objtool: missing symbol for section .text
mm/ioremap.o: warning: objtool: missing symbol for section .text
mm/khugepaged.c:1387: warning: Function parameter or member 'reliable' not described in 'collapse_shmem'
mm/maccess.c:85:6: warning: no previous prototype for function '__probe_user_read' [-Wmissing-prototypes]
mm/memory_hotplug.c:925:16: warning: unused variable 'start_pfn' [-Wunused-variable]
mm/memory_hotplug.c:925:23: warning: unused variable 'start_pfn' [-Wunused-variable]
mm/memory_hotplug.c:970:13: warning: 'rollback_node_hotadd' defined but not used [-Wunused-function]
mm/page_alloc.c:3123: warning: Function parameter or member 'mt' not described in '__putback_isolated_page'
mm/vmalloc.c:231:16: warning: variable 'start' set but not used [-Wunused-but-set-variable]
mm/vmalloc.c:231:23: warning: variable 'start' set but not used [-Wunused-but-set-variable]
Unverified Error/Warning (likely false positive, kindly check if interested):
mm/memory.c:4803:3: warning: cast from 'int (*)(unsigned long, unsigned long, struct cgp_args *)' to 'ktask_thread_func' (aka 'int (*)(void *, void *, void *)') converts to incompatible function type [-Wcast-function-type-mismatch]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_deinit_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_detach
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_stop
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_init_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:variable-fault_level-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:variable-pcie_src-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_io_flush.c:error:no-previous-prototype-for-sss_hwdev_flush_io
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_mgmt_info.c:error:no-previous-prototype-for-sss_deinit_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_mgmt_info.c:error:no-previous-prototype-for-sss_init_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:error:no-previous-prototype-for-sss_sync_send_adm_msg
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_complete_adm_event
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_hwif_deinit_adm
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_hwif_init_adm
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:error:no-previous-prototype-for-sss_ceq_intr_handle
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:error:no-previous-prototype-for-sss_init_ceqe_desc
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_ctrlq_flush_sync_cmd
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_deinit_ctrlq
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_deinit_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_init_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_reinit_ctrlq_ctx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_wait_ctrlq_stop
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_alloc_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_chip_set_msix_auto_mask
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_chip_set_msix_state
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_free_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_func_type
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_glb_pf_vf_offset
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_global_func_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_pcie_itf_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_pf_id_of_vf
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_ppf_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_irq.c:error:no-previous-prototype-for-sss_deinit_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_irq.c:error:no-previous-prototype-for-sss_init_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_hwif_deinit_mbx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_hwif_init_mbx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_init_func_mbx_msg
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_recv_mbx_aeq_handler
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_flush_mgmt_workq
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_force_complete_all
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_mgmt_msg_aeqe_handler
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_error.c:error:no-previous-prototype-for-sss_detect_pci_error
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_attach_is_enable
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_get_uld_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_get_uld_names
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_init_uld_lock
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_lock_uld
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_unlock_uld
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_probe.c:error:no-previous-prototype-for-sss_attach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_probe.c:error:no-previous-prototype-for-sss_pci_probe
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_adapter
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_function
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_pci_dev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_detach_all_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_detach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_dettach_uld_dev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_pci_remove
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_unmap_pci_bar
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_shutdown.c:error:no-previous-prototype-for-sss_pci_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool.c:error:no-previous-prototype-for-sss_nic_set_ethtool_ops
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.c:error:no-previous-prototype-for-sss_nic_get_strings
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_filter.c:error:no-previous-prototype-for-sss_nic_set_rx_mode_work
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-sss_nic_release_qp_irq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-sss_nic_request_qp_irq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-get_nic_uld_info
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-sss_nic_port_module_link_err
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:error:no-previous-prototype-for-sss_nic_set_netdev_ops
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_delete_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_get_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_update_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_rx_flow_rule
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_tcam
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_tcam_list
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_alloc_rq_res_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_free_rq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_free_rq_res_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_init_rq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_reset_rx_rss
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_update_rx_rss
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_alloc_sq_resource
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_flush_all_sq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_free_sq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_free_sq_resource
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_init_all_sq
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-redefined
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory_hotplug.c:warning:rollback_node_hotadd-defined-but-not-used
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- arm64-allnoconfig
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-wait-in-((struct-list_head-)x)-.prev
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-waiter-in-(struct-list_head-)((char-)sem-).prev
| |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-001-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-host-xhci-mem.c:warning:minor_revision-may-be-used-uninitialized-in-this-function
| |-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-redefined
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- arm64-randconfig-003-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-memory_hotplug.c:warning:rollback_node_hotadd-defined-but-not-used
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-r121-20250729
| |-- crypto-algif_aead.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-algif_hash.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-xcbc.c:sparse:sparse:Variable-length-array-is-used.
| |-- drivers-crypto-cavium-cpt-cptvf_main.c:sparse:sparse:symbol-cptvf_device_init-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_mbox.c:sparse:sparse:symbol-cptvf_mbox_send_ack-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_mbox.c:sparse:sparse:symbol-cptvf_mbox_send_nack-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-do_post_process-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-do_request_cleanup-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-send_cpt_command-was-not-declared.-Should-it-be-static
| |-- drivers-gpu-drm-mgag200-mgag200_cursor.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-asn-addr-got-void
| |-- drivers-gpu-drm-mgag200-mgag200_cursor.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-gpu-drm-mgag200-mgag200_fb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-irqchip-irq-mbigen.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-chip_data-got-void-noderef-asn-base
| |-- drivers-irqchip-irq-mbigen.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-noderef-asn-base-got-void-chip_data
| |-- drivers-power-reset-xgene-reboot.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-void-csr
| |-- drivers-power-reset-xgene-reboot.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-csr-got-void-noderef-asn
| |-- drivers-tty-synclinkmp.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-unsigned-char-usertype-memory_base
| |-- fs-file.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-new_fds-got-struct-file-noderef-asn-fd
| |-- fs-proc-etmem_scan.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-noderef-asn-buf-got-void-buf
| |-- include-linux-bpf-cgroup.h:sparse:sparse:Using-plain-integer-as-NULL-pointer
| |-- include-trace-events-vmscan.h:sparse:sparse:cast-to-restricted-isolate_mode_t
| |-- kernel-sys.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-int-noderef-asn-noderef-asn-got-int-noderef-asn-tid_addr
| `-- kernel-trace-ftrace.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-ftrace_ops-ops-got-struct-ftrace_ops-noderef-asn-static-addressable-toplevel-ftrace_ops_list
|-- x86_64-allnoconfig
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-allyesconfig
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-early-..-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
| |-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
| |-- mm-.tmp_ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- x86_64-buildonly-randconfig-001-20250718
| |-- block-cmdline-parser.o:warning:objtool:missing-symbol-for-section-.text
| `-- mm-swap_state.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-002-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- x86_64-buildonly-randconfig-003-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- kernel-sched-core.c:error:use-of-undeclared-identifier-root_task_group
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- x86_64-buildonly-randconfig-004-20250916
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-early-..-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
| |-- mm-.tmp_ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-.tmp_util.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-005-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- x86_64-buildonly-randconfig-006-20250916
| |-- block-blk-rq-qos.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
`-- x86_64-rhel-9.4-rust
|-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
|-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
|-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
|-- drivers-usb-early-..-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
|-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
|-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
|-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
|-- mm-memcontrol.c:warning:bad-line:otherwise.
|-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
|-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
|-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
|-- mm-rmap.c:warning:variable-cstart-set-but-not-used
`-- mm-vmalloc.c:warning:variable-start-set-but-not-used
elapsed time: 779m
configs tested: 16
configs skipped: 115
tested configs:
arm64 allmodconfig gcc-15.1.0
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250916 gcc-9.5.0
arm64 randconfig-002-20250916 gcc-6.5.0
arm64 randconfig-003-20250916 gcc-7.5.0
arm64 randconfig-004-20250916 gcc-5.5.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250916 gcc-14
x86_64 buildonly-randconfig-002-20250916 clang-20
x86_64 buildonly-randconfig-003-20250916 clang-20
x86_64 buildonly-randconfig-004-20250916 clang-20
x86_64 buildonly-randconfig-005-20250916 clang-20
x86_64 buildonly-randconfig-006-20250916 clang-20
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10] BUILD REGRESSION 035f58b2325cc422e20831455ed9faddb6bd5674
by kernel test robot 16 Sep '25
by kernel test robot 16 Sep '25
16 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: 035f58b2325cc422e20831455ed9faddb6bd5674 !17999 gfs2: Validate i_depth for exhash directories
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202509020441.cS6vg9iy-lkp@intel.com
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:546:5: error: no previous prototype for function 'ps3_pci_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:900:5: error: no previous prototype for function 'ps3_pci_init_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:946:6: error: no previous prototype for function 'ps3_pci_init_complete_exit' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1060:5: error: no previous prototype for function 'ps3_dump_context_show' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:41:19: error: unused function 'time_for_log' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:65:19: error: unused function 'time_for_file_name' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:160:5: error: no previous prototype for function 'ps3_dump_file_write' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:201:5: error: no previous prototype for function 'ps3_dump_file_close' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:29:5: error: no previous prototype for function 'ps3_dump_local_time' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:51:5: error: no previous prototype for function 'ps3_dump_filename_build' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:77:5: error: no previous prototype for function 'ps3_dump_file_open' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:132:6: error: no previous prototype for function 'ps3_trigger_irq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:244:5: error: no previous prototype for function 'ps3_resp_status_convert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:404:6: error: no previous prototype for function 'ps3_io_recv_ok_stat_inc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:86:6: error: no previous prototype for function 'ps3_cmd_stat_content_clear' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_debug.c:884:5: error: no previous prototype for function 'ps3_dump_dir_length' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1582:5: error: no previous prototype for function 'ps3_scsi_private_init_pd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1664:5: error: no previous prototype for function 'ps3_scsi_private_init_vd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1633:5: error: no previous prototype for function 'ps3_sas_expander_phys_refresh' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:148:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_hba' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:37:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_switch' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:89:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_raid' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:308:5: error: no previous prototype for function 'ps3_hard_reset_to_ready' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:786:6: error: no previous prototype for function 'ps3_clean_mgr_cmd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: unused variable 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: unused variable 'PS3_INTERRUPT_CMD_ENABLE_MSIX' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: unused variable 'PS3_INTERRUPT_MASK_DISABLE' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: unused variable 'PS3_INTERRUPT_STATUS_EXIST_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:26:27: error: unused variable 'PS3_INTERRUPT_CLEAR_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: unused variable 'PS3_SSD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:29:27: error: unused variable 'PS3_HDD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_module_para.c:610:14: error: no previous prototype for function 'ps3_cli_ver_query' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1059:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2020:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2041:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2101:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:212:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2464:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2828:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2937:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3024:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3280:15: error: no previous prototype for function 'ps3_raid_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3335:6: error: no previous prototype for function 'ps3_qos_mgrq_resend' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:336:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3479:6: error: no previous prototype for function 'ps3_raid_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:352:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:364:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3822:15: error: no previous prototype for function 'ps3_raid_qos_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:750:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:877:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:893:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1174:5: error: no previous prototype for function 'ps3_range_check_and_insert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1232:5: error: no previous prototype for function 'ps3_r1x_hash_range_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1313:6: error: no previous prototype for function 'ps3_r1x_hash_range_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:579:5: error: no previous prototype for function 'ps3_r1x_hash_bit_check' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:679:6: error: no previous prototype for function 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:731:5: error: no previous prototype for function 'ps3_r1x_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:989:6: error: no previous prototype for function 'ps3_r1x_hash_bit_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:155:6: error: no previous prototype for function 'rbtDelNodeDo' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:205:6: error: no previous prototype for function 'ps3_recovery_irq_queue_destroy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2701:6: error: no previous prototype for function 'ps3_hard_recovery_state_finish' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:364:5: error: no previous prototype for function 'ps3_recovery_state_transfer' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:73:30: error: no previous prototype for function 'ps3_recovery_context_alloc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:83:6: error: no previous prototype for function 'ps3_recovery_context_free' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:89:6: error: no previous prototype for function 'ps3_recovery_context_delete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:408:5: error: no previous prototype for function 'ps3_sas_update_phy_info' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1111:5: error: no previous prototype for function 'ps3_wait_for_outstanding_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:877:6: error: no previous prototype for function 'ps3_set_task_manager_busy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsih.c:1959:1: error: unused function 'ps3_scsih_dev_id_get' [-Werror,-Wunused-function]
mm/filemap.c:823:14: warning: no previous prototype for function '__add_to_page_cache_locked' [-Wmissing-prototypes]
mm/page_alloc.c:3040:6: warning: no previous prototype for '__drain_all_pages' [-Wmissing-prototypes]
mm/page_alloc.c:3040:6: warning: no previous prototype for function '__drain_all_pages' [-Wmissing-prototypes]
mm/page_alloc.c:6912:6: warning: no previous prototype for '__zone_set_pageset_high_and_batch' [-Wmissing-prototypes]
mm/page_alloc.c:6912:6: warning: no previous prototype for function '__zone_set_pageset_high_and_batch' [-Wmissing-prototypes]
mm/slub.o: warning: objtool: kmem_cache_free()+0x434: unreachable instruction
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allnoconfig
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-allnoconfig
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-allyesconfig
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete_exit-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-function-ps3_dump_context_show-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_file_name-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_log-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_close-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_open-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_write-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_filename_build-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_local_time-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_resp_status_convert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_trigger_irq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_cmd_stat_content_clear-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_io_recv_ok_stat_inc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-function-ps3_dump_dir_length-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_pd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_vd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-function-ps3_sas_expander_phys_refresh-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_hba-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_raid-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_switch-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-function-ps3_hard_reset_to_ready-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-function-ps3_clean_mgr_cmd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_HDD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CLEAR_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_ENABLE_MSIX-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_MASK_DISABLE-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_STATUS_EXIST_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_SSD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-function-ps3_cli_ver_query-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_cmd_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_reset-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clean-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_all_pd_rc_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_cmd_waitq_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_exclusive_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_mgrq_resend-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_pd_waitq_ratio_update-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_tg_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_vd_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_conflict_queue_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_check-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_range_check_and_insert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-function-rbtDelNodeDo-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_hard_recovery_state_finish-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_alloc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_delete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_irq_queue_destroy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_state_transfer-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-function-ps3_sas_update_phy_info-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_set_task_manager_busy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_wait_for_outstanding_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsih.c:error:unused-function-ps3_scsih_dev_id_get-Werror-Wunused-function
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-001-20250916
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-bfqg_and_blkg_get
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-buildonly-randconfig-002-20250916
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-003-20250916
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-004-20250916
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-005-20250916
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-006-20250916
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-defconfig
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-randconfig-161-20250916
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
`-- x86_64-rhel-9.4-rust
|-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
|-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
|-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
|-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
`-- mm-slub.o:warning:objtool:kmem_cache_free:unreachable-instruction
elapsed time: 753m
configs tested: 16
configs skipped: 115
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250916 clang-18
arm64 randconfig-002-20250916 clang-22
arm64 randconfig-003-20250916 clang-22
arm64 randconfig-004-20250916 clang-22
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250916 gcc-14
x86_64 buildonly-randconfig-002-20250916 clang-20
x86_64 buildonly-randconfig-003-20250916 clang-20
x86_64 buildonly-randconfig-004-20250916 clang-20
x86_64 buildonly-randconfig-005-20250916 clang-20
x86_64 buildonly-randconfig-006-20250916 clang-20
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Guenter Roeck <linux(a)roeck-us.net>
mainline inclusion
from mainline-v6.17-rc4
commit ab1396af7595e7d49a3850481b24d7fe7cbdfd31
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICYBCS
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Commit edede7a6dcd7 ("trace/fgraph: Fix the warning caused by missing
unregister notifier") added a call to unregister the PM notifier if
register_ftrace_graph() failed. It does so unconditionally. However,
the PM notifier is only registered with the first call to
register_ftrace_graph(). If the first registration was successful and
a subsequent registration failed, the notifier is now unregistered even
if ftrace graphs are still registered.
Fix the problem by only unregistering the PM notifier during error handling
if there are no active fgraph registrations.
Fixes: edede7a6dcd7 ("trace/fgraph: Fix the warning caused by missing unregister notifier")
Closes: https://lore.kernel.org/all/63b0ba5a-a928-438e-84f9-93028dd72e54@roeck-us.n…
Cc: Ye Weihua <yeweihua4(a)huawei.com>
Cc: Masami Hiramatsu <mhiramat(a)kernel.org>
Cc: Mark Rutland <mark.rutland(a)arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers(a)efficios.com>
Link: https://lore.kernel.org/20250906050618.2634078-1-linux@roeck-us.net
Signed-off-by: Guenter Roeck <linux(a)roeck-us.net>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Conflicts:
kernel/trace/fgraph.c
[Context conflict, need to integrate the two err handling codes
together]
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/trace/fgraph.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
index fd8f06c5dcc3..c920a7556764 100644
--- a/kernel/trace/fgraph.c
+++ b/kernel/trace/fgraph.c
@@ -609,11 +609,8 @@ int register_ftrace_graph(struct fgraph_ops *gops)
ftrace_graph_active++;
ret = start_graph_tracing();
- if (ret) {
- ftrace_graph_active--;
- unregister_pm_notifier(&ftrace_suspend_notifier);
- goto out;
- }
+ if (ret)
+ goto out_err;
ftrace_graph_return = gops->retfunc;
@@ -628,8 +625,12 @@ int register_ftrace_graph(struct fgraph_ops *gops)
update_function_graph_func();
ret = ftrace_startup(&graph_ops, FTRACE_START_FUNC_RET);
- if (ret)
- unregister_pm_notifier(&ftrace_suspend_notifier);
+out_err:
+ if (ret) {
+ ftrace_graph_active--;
+ if (!ftrace_graph_active)
+ unregister_pm_notifier(&ftrace_suspend_notifier);
+ }
out:
mutex_unlock(&ftrace_lock);
return ret;
--
2.34.1
2
1
From: Guenter Roeck <linux(a)roeck-us.net>
mainline inclusion
from mainline-v6.17-rc4
commit ab1396af7595e7d49a3850481b24d7fe7cbdfd31
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICYBCS
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Commit edede7a6dcd7 ("trace/fgraph: Fix the warning caused by missing
unregister notifier") added a call to unregister the PM notifier if
register_ftrace_graph() failed. It does so unconditionally. However,
the PM notifier is only registered with the first call to
register_ftrace_graph(). If the first registration was successful and
a subsequent registration failed, the notifier is now unregistered even
if ftrace graphs are still registered.
Fix the problem by only unregistering the PM notifier during error handling
if there are no active fgraph registrations.
Fixes: edede7a6dcd7 ("trace/fgraph: Fix the warning caused by missing unregister notifier")
Closes: https://lore.kernel.org/all/63b0ba5a-a928-438e-84f9-93028dd72e54@roeck-us.n…
Cc: Ye Weihua <yeweihua4(a)huawei.com>
Cc: Masami Hiramatsu <mhiramat(a)kernel.org>
Cc: Mark Rutland <mark.rutland(a)arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers(a)efficios.com>
Link: https://lore.kernel.org/20250906050618.2634078-1-linux@roeck-us.net
Signed-off-by: Guenter Roeck <linux(a)roeck-us.net>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Conflicts:
kernel/trace/fgraph.c
[Context conflict, need to integrate the two err handling codes
together]
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/trace/fgraph.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
index 7956a799b5e8..35d14657a28b 100644
--- a/kernel/trace/fgraph.c
+++ b/kernel/trace/fgraph.c
@@ -646,11 +646,8 @@ int register_ftrace_graph(struct fgraph_ops *gops)
ftrace_graph_active++;
ret = start_graph_tracing();
- if (ret) {
- ftrace_graph_active--;
- unregister_pm_notifier(&ftrace_suspend_notifier);
- goto out;
- }
+ if (ret)
+ goto out_err;
ftrace_graph_return = gops->retfunc;
@@ -665,8 +662,12 @@ int register_ftrace_graph(struct fgraph_ops *gops)
update_function_graph_func();
ret = ftrace_startup(&graph_ops, FTRACE_START_FUNC_RET);
- if (ret)
- unregister_pm_notifier(&ftrace_suspend_notifier);
+out_err:
+ if (ret) {
+ ftrace_graph_active--;
+ if (!ftrace_graph_active)
+ unregister_pm_notifier(&ftrace_suspend_notifier);
+ }
out:
mutex_unlock(&ftrace_lock);
return ret;
--
2.34.1
2
1

[PATCH OLK-6.6 v2] arm64: Do not enable hardware xcall/xint in guest temporarily
by Jinjie Ruan 16 Sep '25
by Jinjie Ruan 16 Sep '25
16 Sep '25
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/release-management/issues/IBV2E4
--------------------------------
In guest VM, ID register is needed to do VM migration, but currently 920G
do not have an ID register to identify hardware xcall/xint feature, which
will be supported by AIDR_EL1.xcall in the next generation, so check
the bit for non-920G hardware and do not enable xcall/xint in guest
for 920G to avoid the problem in guest.
Fixes: 7f2e02718bba ("arm64: entry: Support hardware xcall and xint")
Signed-off-by: Jinjie Ruan <ruanjinjie(a)huawei.com>
---
arch/arm64/kernel/cpufeature.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index 5c9d2f98e488..8d4c913d699c 100644
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
@@ -2443,15 +2443,35 @@ static void mpam_extra_caps(void)
#include <asm/xcall.h>
DEFINE_STATIC_KEY_FALSE(xcall_enable);
+#define AIDR_ELx_XCALL_SHIFT 32
+#define AIDR_ELx_XCALL (UL(1) << AIDR_ELx_XCALL_SHIFT)
+
static bool is_arch_xcall_xint_support(void)
{
+ u64 aidr_el1 = read_sysreg_s(SYS_AIDR_EL1);
+ u64 el = read_sysreg(CurrentEL);
+
/* List of CPUs that support Xcall/Xint */
- static const struct midr_range xcall_xint_cpus[] = {
+ static const struct midr_range kunpeng_920g_cpus[] = {
MIDR_ALL_VERSIONS(MIDR_HISI_HIP12),
{ /* sentinel */ }
};
- if (is_midr_in_range_list(read_cpuid_id(), xcall_xint_cpus))
+ if (is_midr_in_range_list(read_cpuid_id(), kunpeng_920g_cpus)) {
+ if (el == CurrentEL_EL2)
+ return true;
+ else
+ return false;
+ }
+
+ /*
+ * Before 1650v100, AIDR[33:32] is reserved zero, Xcall/Xint v1
+ * is not supported.
+ *
+ * After 1650v100, if AIDR[33:32] = 0x01, Xcall/Xint v1 and v2
+ * is supported, else if AIDR[33:32] = 0x0, none of them supported.
+ */
+ if (aidr_el1 & AIDR_ELx_XCALL)
return true;
return false;
--
2.34.1
2
1

[openeuler:openEuler-1.0-LTS 1784/1784] drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined
by kernel test robot 16 Sep '25
by kernel test robot 16 Sep '25
16 Sep '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 1d593bdfdaff241dea4989a81386a6f45887adf2
commit: 8a64dc868d76ad19b65c65fd8168f46b4cb662cb [1784/1784] xhci: Show ZHAOXIN xHCI root hub speed correctly
config: x86_64-buildonly-randconfig-002-20250916 (https://download.01.org/0day-ci/archive/20250916/202509162016.H2iGR5dg-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250916/202509162016.H2iGR5dg-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/202509162016.H2iGR5dg-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/usb/host/xhci-plat.c:22:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
--
In file included from drivers/usb/host/xhci-ext-caps.c:9:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
In file included from drivers/usb/host/xhci-ext-caps.c:9:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
--
In file included from drivers/usb/host/xhci-mem.c:17:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
drivers/usb/host/xhci-mem.c:936:6: warning: no previous prototype for function 'xhci_free_virt_devices_depth_first' [-Wmissing-prototypes]
936 | void xhci_free_virt_devices_depth_first(struct xhci_hcd *xhci, int slot_id)
| ^
drivers/usb/host/xhci-mem.c:936:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
936 | void xhci_free_virt_devices_depth_first(struct xhci_hcd *xhci, int slot_id)
| ^
| static
2 warnings generated.
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'xhci' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'num_segs' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'cycle_state' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'type' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'max_packet' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'flags' not described in 'xhci_ring_alloc'
--
In file included from drivers/usb/host/xhci.c:21:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
drivers/usb/host/xhci.c:1258: warning: Function parameter or member 'desc' not described in 'xhci_get_endpoint_index'
In file included from drivers/usb/host/xhci.c:21:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
vim +/XHCI_ZHAOXIN_HOST +1877 drivers/usb/host/xhci.h
1732
1733 /* There is one xhci_hcd structure per controller */
1734 struct xhci_hcd {
1735 struct usb_hcd *main_hcd;
1736 struct usb_hcd *shared_hcd;
1737 /* glue to PCI and HCD framework */
1738 struct xhci_cap_regs __iomem *cap_regs;
1739 struct xhci_op_regs __iomem *op_regs;
1740 struct xhci_run_regs __iomem *run_regs;
1741 struct xhci_doorbell_array __iomem *dba;
1742 /* Our HCD's current interrupter register set */
1743 struct xhci_intr_reg __iomem *ir_set;
1744
1745 /* Cached register copies of read-only HC data */
1746 __u32 hcs_params1;
1747 __u32 hcs_params2;
1748 __u32 hcs_params3;
1749 __u32 hcc_params;
1750 __u32 hcc_params2;
1751
1752 spinlock_t lock;
1753
1754 /* packed release number */
1755 u8 sbrn;
1756 u16 hci_version;
1757 u8 max_slots;
1758 u8 max_interrupters;
1759 u8 max_ports;
1760 u8 isoc_threshold;
1761 /* imod_interval in ns (I * 250ns) */
1762 u32 imod_interval;
1763 int event_ring_max;
1764 /* 4KB min, 128MB max */
1765 int page_size;
1766 /* Valid values are 12 to 20, inclusive */
1767 int page_shift;
1768 /* msi-x vectors */
1769 int msix_count;
1770 /* optional clocks */
1771 struct clk *clk;
1772 struct clk *reg_clk;
1773 /* data structures */
1774 struct xhci_device_context_array *dcbaa;
1775 struct xhci_ring *cmd_ring;
1776 unsigned int cmd_ring_state;
1777 #define CMD_RING_STATE_RUNNING (1 << 0)
1778 #define CMD_RING_STATE_ABORTED (1 << 1)
1779 #define CMD_RING_STATE_STOPPED (1 << 2)
1780 struct list_head cmd_list;
1781 unsigned int cmd_ring_reserved_trbs;
1782 struct delayed_work cmd_timer;
1783 struct completion cmd_ring_stop_completion;
1784 struct xhci_command *current_cmd;
1785 struct xhci_ring *event_ring;
1786 struct xhci_erst erst;
1787 /* Scratchpad */
1788 struct xhci_scratchpad *scratchpad;
1789 /* Store LPM test failed devices' information */
1790 struct list_head lpm_failed_devs;
1791
1792 /* slot enabling and address device helpers */
1793 /* these are not thread safe so use mutex */
1794 struct mutex mutex;
1795 /* For USB 3.0 LPM enable/disable. */
1796 struct xhci_command *lpm_command;
1797 /* Internal mirror of the HW's dcbaa */
1798 struct xhci_virt_device *devs[MAX_HC_SLOTS];
1799 /* For keeping track of bandwidth domains per roothub. */
1800 struct xhci_root_port_bw_info *rh_bw;
1801
1802 /* DMA pools */
1803 struct dma_pool *device_pool;
1804 struct dma_pool *segment_pool;
1805 struct dma_pool *small_streams_pool;
1806 struct dma_pool *medium_streams_pool;
1807
1808 /* Host controller watchdog timer structures */
1809 unsigned int xhc_state;
1810
1811 u32 command;
1812 struct s3_save s3;
1813 /* Host controller is dying - not responding to commands. "I'm not dead yet!"
1814 *
1815 * xHC interrupts have been disabled and a watchdog timer will (or has already)
1816 * halt the xHCI host, and complete all URBs with an -ESHUTDOWN code. Any code
1817 * that sees this status (other than the timer that set it) should stop touching
1818 * hardware immediately. Interrupt handlers should return immediately when
1819 * they see this status (any time they drop and re-acquire xhci->lock).
1820 * xhci_urb_dequeue() should call usb_hcd_check_unlink_urb() and return without
1821 * putting the TD on the canceled list, etc.
1822 *
1823 * There are no reports of xHCI host controllers that display this issue.
1824 */
1825 #define XHCI_STATE_DYING (1 << 0)
1826 #define XHCI_STATE_HALTED (1 << 1)
1827 #define XHCI_STATE_REMOVING (1 << 2)
1828 unsigned long long quirks;
1829 #define XHCI_LINK_TRB_QUIRK BIT_ULL(0)
1830 #define XHCI_RESET_EP_QUIRK BIT_ULL(1)
1831 #define XHCI_NEC_HOST BIT_ULL(2)
1832 #define XHCI_AMD_PLL_FIX BIT_ULL(3)
1833 #define XHCI_SPURIOUS_SUCCESS BIT_ULL(4)
1834 /*
1835 * Certain Intel host controllers have a limit to the number of endpoint
1836 * contexts they can handle. Ideally, they would signal that they can't handle
1837 * anymore endpoint contexts by returning a Resource Error for the Configure
1838 * Endpoint command, but they don't. Instead they expect software to keep track
1839 * of the number of active endpoints for them, across configure endpoint
1840 * commands, reset device commands, disable slot commands, and address device
1841 * commands.
1842 */
1843 #define XHCI_EP_LIMIT_QUIRK BIT_ULL(5)
1844 #define XHCI_BROKEN_MSI BIT_ULL(6)
1845 #define XHCI_RESET_ON_RESUME BIT_ULL(7)
1846 #define XHCI_SW_BW_CHECKING BIT_ULL(8)
1847 #define XHCI_AMD_0x96_HOST BIT_ULL(9)
1848 #define XHCI_TRUST_TX_LENGTH BIT_ULL(10)
1849 #define XHCI_LPM_SUPPORT BIT_ULL(11)
1850 #define XHCI_INTEL_HOST BIT_ULL(12)
1851 #define XHCI_SPURIOUS_REBOOT BIT_ULL(13)
1852 #define XHCI_COMP_MODE_QUIRK BIT_ULL(14)
1853 #define XHCI_AVOID_BEI BIT_ULL(15)
1854 #define XHCI_PLAT BIT_ULL(16)
1855 #define XHCI_SLOW_SUSPEND BIT_ULL(17)
1856 #define XHCI_SPURIOUS_WAKEUP BIT_ULL(18)
1857 /* For controllers with a broken beyond repair streams implementation */
1858 #define XHCI_BROKEN_STREAMS BIT_ULL(19)
1859 #define XHCI_PME_STUCK_QUIRK BIT_ULL(20)
1860 #define XHCI_MTK_HOST BIT_ULL(21)
1861 #define XHCI_SSIC_PORT_UNUSED BIT_ULL(22)
1862 #define XHCI_NO_64BIT_SUPPORT BIT_ULL(23)
1863 #define XHCI_MISSING_CAS BIT_ULL(24)
1864 /* For controller with a broken Port Disable implementation */
1865 #define XHCI_BROKEN_PORT_PED BIT_ULL(25)
1866 #define XHCI_LIMIT_ENDPOINT_INTERVAL_7 BIT_ULL(26)
1867 #define XHCI_U2_DISABLE_WAKE BIT_ULL(27)
1868 #define XHCI_ASMEDIA_MODIFY_FLOWCONTROL BIT_ULL(28)
1869 #define XHCI_HW_LPM_DISABLE BIT_ULL(29)
1870 #define XHCI_SUSPEND_DELAY BIT_ULL(30)
1871 #define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31)
1872 #define XHCI_ZERO_64B_REGS BIT_ULL(32)
1873 #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
1874 #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
1875 #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
1876 #define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
> 1877 #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
1878
1879 unsigned int num_active_eps;
1880 unsigned int limit_active_eps;
1881 /* There are two roothubs to keep track of bus suspend info for */
1882 struct xhci_bus_state bus_state[2];
1883 struct xhci_port *hw_ports;
1884 struct xhci_hub usb2_rhub;
1885 struct xhci_hub usb3_rhub;
1886 /* support xHCI 0.96 spec USB2 software LPM */
1887 unsigned sw_lpm_support:1;
1888 /* support xHCI 1.0 spec USB2 hardware LPM */
1889 unsigned hw_lpm_support:1;
1890 /* Broken Suspend flag for SNPS Suspend resume issue */
1891 unsigned broken_suspend:1;
1892 /* cached usb2 extened protocol capabilites */
1893 u32 *ext_caps;
1894 unsigned int num_ext_caps;
1895 /* cached extended protocol port capabilities */
1896 struct xhci_port_cap *port_caps;
1897 unsigned int num_port_caps;
1898 /* Compliance Mode Recovery Data */
1899 struct timer_list comp_mode_recovery_timer;
1900 u32 port_status_u0;
1901 u16 test_mode;
1902 /* Compliance Mode Timer Triggered every 2 seconds */
1903 #define COMP_MODE_RCVRY_MSECS 2000
1904
1905 struct dentry *debugfs_root;
1906 struct dentry *debugfs_slots;
1907 struct list_head regset_list;
1908
1909 void *dbc;
1910 /* platform-specific data -- must come last */
1911 unsigned long priv[0] __aligned(sizeof(s64));
1912 };
1913
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH openEuler-1.0-LTS] ALSA: usb-audio: Validate UAC3 power domain descriptors, too
by Liu Kai 16 Sep '25
by Liu Kai 16 Sep '25
16 Sep '25
From: Takashi Iwai <tiwai(a)suse.de>
mainline inclusion
from mainline-v6.17-rc2
commit d832ccbc301fbd9e5a1d691bdcf461cdb514595f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWGHZ
CVE: CVE-2025-38729
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
UAC3 power domain descriptors need to be verified with its variable
bLength for avoiding the unexpected OOB accesses by malicious
firmware, too.
Fixes: 9a2fe9b801f5 ("ALSA: usb: initial USB Audio Device Class 3.0 support")
Reported-and-tested-by: Youngjun Lee <yjjuny.lee(a)samsung.com>
Cc: <stable(a)vger.kernel.org>
Link: https://patch.msgid.link/20250814081245.8902-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
Signed-off-by: Liu Kai <liukai284(a)huawei.com>
---
sound/usb/validate.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/sound/usb/validate.c b/sound/usb/validate.c
index 389e8657434ac..5aa20c41cc928 100644
--- a/sound/usb/validate.c
+++ b/sound/usb/validate.c
@@ -221,6 +221,17 @@ static bool validate_uac3_feature_unit(const void *p,
return d->bLength >= sizeof(*d) + 4 + 2;
}
+static bool validate_uac3_power_domain_unit(const void *p,
+ const struct usb_desc_validator *v)
+{
+ const struct uac3_power_domain_descriptor *d = p;
+
+ if (d->bLength < sizeof(*d))
+ return false;
+ /* baEntities[] + wPDomainDescrStr */
+ return d->bLength >= sizeof(*d) + d->bNrEntities + 2;
+}
+
static bool validate_midi_out_jack(const void *p,
const struct usb_desc_validator *v)
{
@@ -285,6 +296,7 @@ static struct usb_desc_validator audio_validators[] = {
struct uac3_clock_multiplier_descriptor),
/* UAC_VERSION_3, UAC3_SAMPLE_RATE_CONVERTER: not implemented yet */
/* UAC_VERSION_3, UAC3_CONNECTORS: not implemented yet */
+ FUNC(UAC_VERSION_3, UAC3_POWER_DOMAIN, validate_uac3_power_domain_unit),
{ } /* terminator */
};
--
2.34.1
2
1

16 Sep '25
cleanup:
1) Add a macro to simplify obtaining the packet size
2) Remove redundant checks for cmd and size, as they are always true
3) Use memcpy instead of for loop statements
4) Remove the redundant initialization of ras_rsp_data to 0
5) Other minor cleanup
refactor:
During the dump file process, do not repeatedly open and close the file
No need to subtract the packet header length, then simplify the code for
obtaining the file buffer size.
Add helper of ras_get_rasdfx_header
Add a check to verify if cmd_ret->rsp_data_num is 0
Add a check to verify whether f_header.pkt_num exceeds the maximum value
The header.pkt_length indicates the size in bytes, which needs to be
converted to DWORD size, and then compared with DFX_REG_PACKET_HEAD_LEN
to address potential division by zero issues.
Refactoring of parseing payload.
Signed-off-by: Junhao He <hejunhao3(a)h-partners.com>
---
ras/ras_func/ras_common.h | 26 --
ras/ras_func/ras_dump_data.c | 541 +++++++++++++------------------
ras/ras_func/ras_dump_data.h | 101 +++---
ras/user_cmd/ras_cmd_dump.c | 37 +--
ras/user_cmd/ras_tools_include.h | 25 --
5 files changed, 282 insertions(+), 448 deletions(-)
delete mode 100644 ras/ras_func/ras_common.h
delete mode 100644 ras/user_cmd/ras_tools_include.h
diff --git a/ras/ras_func/ras_common.h b/ras/ras_func/ras_common.h
deleted file mode 100644
index 9b9a486..0000000
--- a/ras/ras_func/ras_common.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2022 Hisilicon Technologies Co., Ltd.
- * Hikptool is licensed under Mulan PSL v2.
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
- * You may obtain a copy of Mulan PSL v2 at:
- * http://license.coscl.org.cn/MulanPSL2
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
- *
- * See the Mulan PSL v2 for more details.
- */
-
-#ifndef RAS_COMMON_H
-#define RAS_COMMON_H
-
-enum {
- RAS_DUMP,
-};
-
-enum ras_dump_cmd_type {
- DUMP_DFX = 0,
- DUMP_CLEAR,
-};
-
-#endif /* RAS_COMMON_H */
diff --git a/ras/ras_func/ras_dump_data.c b/ras/ras_func/ras_dump_data.c
index f4238e3..5d0ec8e 100644
--- a/ras/ras_func/ras_dump_data.c
+++ b/ras/ras_func/ras_dump_data.c
@@ -13,384 +13,299 @@
#include <unistd.h>
#include <stdint.h>
#include <stdlib.h>
+#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <time.h>
#include "hikptdev_plug.h"
#include "op_logs.h"
-#include "ras_common.h"
+#include "hikpt_rciep.h"
+#include "tool_lib.h"
#include "ras_dump_data.h"
-static struct dfx_reg_dump_header header;
+static void __attribute__((format(printf, 2, 3))) __THROWNL
+rasdfx_wr2buf(struct file_seq *s, const char *fmt, ...);
-static int ras_get_data(uint32_t ras_cmd_type, struct ras_dump_req_para *req_data,
- struct ras_rsp *ras_rsp_data)
+#define RAS_DUMP 0
+
+#define RASDFX_FILE_HEADER_LEN 6
+#define MAX_DFX_PACKET_LEN 256
+#define DFX_REG_PACKET_HEAD_LEN 3U
+
+#define DFX_DATA_CLEARED_MAGIC 0
+#define DFX_DATA_DUMPED_MAGIC 0x5aa5a55a
+
+#define RASDFX_PACKET_HEAD_SIZE 256
+#define RASDFX_PACKET_SIZE(reg_num) (RASDFX_PACKET_HEAD_SIZE + (reg_num) * 10)
+#define RASDFX_PACKET_NUM_MAX 1000000
+
+static void __THROWNL rasdfx_wr2buf(struct file_seq *s, const char *fmt, ...)
+{
+ size_t size = s->buf_size - s->buf_offs;
+ va_list argp;
+ int len;
+
+ va_start(argp, fmt);
+ len = vsnprintf(s->buf + s->buf_offs, size, fmt, argp);
+ va_end(argp);
+
+ if (len < 0 || (size_t)len >= size)
+ HIKP_WARN_PRINT("rasdfx_wr2buf failed, the dfx data is incomplete\n");
+ else
+ s->buf_offs += (size_t)len;
+}
+
+static struct hikp_cmd_ret *ras_get_rsp_data(struct ras_dump_cmd *cmd)
{
- uint32_t i;
- struct hikp_cmd_ret *cmd_ret;
struct hikp_cmd_header req_header;
+ struct hikp_cmd_ret *cmd_ret;
+
+ hikp_cmd_init(&req_header, RAS_MOD, RAS_DUMP, cmd->cmd_type);
+ cmd_ret = hikp_cmd_alloc(&req_header, &cmd->cmd_id, sizeof(cmd->cmd_id));
+ if (!cmd_ret) {
+ HIKP_ERROR_PRINT("alloc cmd failed, cmd: %u\n", cmd->cmd_id);
+ return NULL;
+ }
- hikp_cmd_init(&req_header, RAS_MOD, RAS_DUMP, ras_cmd_type);
- cmd_ret = hikp_cmd_alloc(&req_header, req_data, RAS_REQ_DATA_LEN);
- if (cmd_ret == NULL || cmd_ret->status != 0 ||
- cmd_ret->rsp_data_num > HIKP_RSP_ALL_DATA_MAX) {
- printf("hikp_data_proc err\n");
+ if (cmd_ret->status) {
+ HIKP_ERROR_PRINT("hikp_data_proc err, status: %u\n", cmd_ret->status);
hikp_cmd_free(&cmd_ret);
- return -1;
+ return NULL;
}
- ras_rsp_data->rsp_data_num = cmd_ret->rsp_data_num;
- for (i = 0; i < ras_rsp_data->rsp_data_num; i++) {
- ras_rsp_data->rsp_data[i] = cmd_ret->rsp_data[i];
- }
+ return cmd_ret;
+}
+
+static int ras_get_rasdfx_header(struct ras_dump_cmd *cmd, struct rasdfx_file_header *f_header)
+{
+ struct hikp_cmd_ret *cmd_ret;
+
+ cmd->cmd_id = 0;
+ cmd_ret = ras_get_rsp_data(cmd);
+ if (!cmd_ret)
+ return -ENOMEM;
+ if (cmd_ret->rsp_data_num != RASDFX_FILE_HEADER_LEN) {
+ HIKP_ERROR_PRINT("invalid number of response data: %u\n", cmd_ret->rsp_data_num);
+ hikp_cmd_free(&cmd_ret);
+ return -1;
+ }
+
+ memcpy(f_header, cmd_ret->rsp_data, sizeof(struct rasdfx_file_header));
hikp_cmd_free(&cmd_ret);
+
return 0;
}
-static void ras_print_time(struct file_seq *s)
+static bool ras_check_header(struct rasdfx_file_header *f_header)
{
+ if (f_header->pkt_size_dwords % REP_DATA_BLK_SIZE) {
+ HIKP_ERROR_PRINT("packet size is not aligned: %u\n", f_header->pkt_size_dwords);
+ return false;
+ }
+
+ /* Converted to DWORD units to simplify subsequent calculations */
+ f_header->pkt_size_dwords = f_header->pkt_size_dwords / REP_DATA_BLK_SIZE;
+ if (f_header->pkt_size_dwords < DFX_REG_PACKET_HEAD_LEN ||
+ f_header->pkt_size_dwords > MAX_DFX_PACKET_LEN) {
+ HIKP_ERROR_PRINT("packet size is out of bounds: %u\n", f_header->pkt_size_dwords);
+ return false;
+ }
+
+ if (f_header->pkt_num == 0 || f_header->pkt_num > RASDFX_PACKET_NUM_MAX) {
+ HIKP_ERROR_PRINT("packet number is out of bounds: %u\n", f_header->pkt_num);
+ return false;
+ }
+
+ return true;
+}
+
+static int ras_open_rasdfx_file_seq(struct file_seq *s, struct rasdfx_file_header *f_header)
+{
+ char file_path[OP_LOG_FILE_PATH_MAXLEN];
time_t time_seconds = time(0);
struct tm timeinfo;
+ s->buf_offs = 0;
+ s->buf_size = RASDFX_PACKET_SIZE(f_header->pkt_size_dwords);
+ s->buf = (char *)malloc(s->buf_size);
+ if (!s->buf) {
+ HIKP_ERROR_PRINT("malloc file_seq buffer is failed\n");
+ return -ENOMEM;
+ }
+
(void)localtime_r(&time_seconds, &timeinfo);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Time: %d-%d-%d %d:%d:%d\n",
- timeinfo.tm_year + START_YEAR, timeinfo.tm_mon + 1, timeinfo.tm_mday,
- timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
+ snprintf(file_path, sizeof(file_path), "%srasdfx_%04d_%02d_%02d_%02d_%02d_%02d.log",
+ HIKP_LOG_DIR_PATH, timeinfo.tm_year + START_YEAR, timeinfo.tm_mon + 1,
+ timeinfo.tm_mday, timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
+
+ // creat and open file, set file permissiion 0440
+ s->fd = open(file_path, O_WRONLY | O_CREAT, S_IRUSR | S_IRGRP);
+ if (s->fd < 0) {
+ HIKP_ERROR_PRINT("open %s failed: %s\n", file_path, strerror(errno));
+ free(s->buf);
+ return -errno;
+ }
+
+ printf("dump dfx log start, log file: %s\n", file_path);
+ return 0;
}
-static int ras_parse_data(uint32_t *reg_save, uint32_t reg_num, uint32_t reg_off, struct file_seq *s)
+static void ras_close_rasdfx_file_seq(struct file_seq *s)
{
- uint32_t i, j;
- uint32_t cycle;
- uint32_t reg_count, pkt_reg_num;
- uint32_t off = reg_off;
-
- pkt_reg_num = header.pkt_length / sizeof(uint32_t);
- cycle = reg_num / pkt_reg_num;
- if (!cycle)
- return -1;
-
- for (i = 0; i < cycle; i++) {
- if ((off + pkt_reg_num) > HIKP_RSP_ALL_DATA_MAX) {
- HIKP_ERROR_PRINT("off is %u, pkt_reg_num is %u,\
- reg_save index will exceed max reg_save length\n",
- off, pkt_reg_num);
- return -1;
- }
-
- ras_print_time(s);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Socket: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW0] >> DFX_HEAD_SKT_ID_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "DIE: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW0] >> DFX_HEAD_DIE_ID_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Module: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW1] >> DFX_HEAD_MODULE_ID_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Sub Module: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW1] >> DFX_HEAD_SUBMODULE_ID_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "SequenceNum: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW1] >> DFX_HEAD_SEQUENCE_NUM_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Version: 0X%hhX\n",
- (reg_save[off + DFX_HEAD_INFO_DW0] >> DFX_HEAD_VERSION_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len,
- "----------------------- DFX REGISTER DUMP -----------------------\n");
-
- reg_count = (reg_save[off + DFX_HEAD_INFO_DW1] >> DFX_HEAD_REG_COUNT_OFF) & 0xff;
- if (!reg_count || reg_count > pkt_reg_num - DFX_REG_PACKET_HEAD_LEN) {
- HIKP_ERROR_PRINT("reg_count is %u, value is not within the reasonable range(1-%u).\n",
- reg_count, pkt_reg_num - DFX_REG_PACKET_HEAD_LEN);
- return -1;
- }
-
- for (j = 0; j < reg_count; j++)
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "0X%08X\n",
- reg_save[off + DFX_COMMON_MAIN_TEXT_BEGIN + j]);
-
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "\n");
- off += pkt_reg_num;
- }
-
- return 0;
+ (void)close(s->fd);
+ free(s->buf);
}
-static int ras_generate_file_name(struct file_seq *s)
+static void ras_parse_rasdfx_pkt_header(struct file_seq *s, struct rasdfx_pkt *pkt)
{
time_t time_seconds = time(0);
struct tm timeinfo;
- int ret;
(void)localtime_r(&time_seconds, &timeinfo);
- ret = snprintf(s->file_name, MAX_LOG_NAME_LEN, "rasdfx_%d_%d_%d_%d_%d_%d.log",
- timeinfo.tm_year + START_YEAR, timeinfo.tm_mon + 1, timeinfo.tm_mday,
- timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
- if (ret < 0 || (uint32_t)ret >= MAX_LOG_NAME_LEN) {
- HIKP_ERROR_PRINT("generate file name failed, errno is %d\n", errno);
- return -errno;
- }
-
- return 0;
+ rasdfx_wr2buf(s, "Time: %d-%d-%d %d:%d:%d\n",
+ timeinfo.tm_year + START_YEAR, timeinfo.tm_mon + 1, timeinfo.tm_mday,
+ timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
+ rasdfx_wr2buf(s, "Socket: 0X%hhX ", pkt->dw0.skt_id);
+ rasdfx_wr2buf(s, "DIE: 0X%hhX ", pkt->dw0.die_id);
+ rasdfx_wr2buf(s, "Module: 0X%hhX ", pkt->dw1.module_id);
+ rasdfx_wr2buf(s, "Sub Module: 0X%hhX ", pkt->dw1.submodule_id);
+ rasdfx_wr2buf(s, "SequenceNum: 0X%hhX ", pkt->dw1.sequence_num);
+ rasdfx_wr2buf(s, "Version: 0X%hhX\n", pkt->dw0.version);
+ rasdfx_wr2buf(s, "----------------------- DFX REGISTER DUMP -----------------------\n");
}
-static int ras_store_data(struct file_seq *s)
+static int ras_parse_rasdfx_payload(struct file_seq *s, uint32_t *buf,
+ struct rasdfx_file_header *f_header)
{
- char file_path[OP_LOG_FILE_PATH_MAXLEN];
- size_t write_cnt;
- FILE *fp;
- int rc;
-
- rc = snprintf(file_path, sizeof(file_path), HIKP_LOG_DIR_PATH"%s", s->file_name);
- if (rc < 0) {
- HIKP_ERROR_PRINT("creat log file path fail.\n");
- return -EIO;
- }
+ struct rasdfx_pkt *pkt = (struct rasdfx_pkt *)buf;
+ uint32_t reg_offs, i;
+ ssize_t write_cnt;
- fp = fopen(file_path, "a");
- if (fp == NULL) {
- HIKP_ERROR_PRINT("open %s failed, errno is %d\n", file_path, errno);
- return -errno;
- }
+ rasdfx_wr2buf(s, "SocID: %u\n\n", pkt->dw0.soc_id);
- write_cnt = fwrite(s->buffer, 1, s->len, fp);
- if (write_cnt != (uint32_t)s->len) {
- fclose(fp);
- HIKP_ERROR_PRINT("write %s failed, write cnt %zu.\n", file_path, write_cnt);
- return -EAGAIN;
- }
+ for (i = 0; i < f_header->pkt_num; i++) {
+ ras_parse_rasdfx_pkt_header(s, pkt);
+ if (pkt->dw1.reg_count > f_header->pkt_size_dwords - DFX_REG_PACKET_HEAD_LEN) {
+ HIKP_ERROR_PRINT("ras dfx register number is incorrect\n");
+ return -1;
+ }
- printf("dump dfx log completed, log file: %s.\n", file_path);
- /* Set the file permission to 0440 */
- if (chmod(file_path, 0440))
- HIKP_ERROR_PRINT("chmod %s failed, errno is %d\n", file_path, errno);
+ for (reg_offs = 0; reg_offs < pkt->dw1.reg_count; reg_offs++)
+ rasdfx_wr2buf(s, "0X%08X\n", pkt->reg_base[reg_offs]);
+ rasdfx_wr2buf(s, "\n");
- if (fclose(fp)) {
- HIKP_ERROR_PRINT("close %s failed, errno is %d\n", file_path, errno);
- return -errno;
- }
+ write_cnt = write(s->fd, s->buf, s->buf_offs);
+ if (write_cnt != (ssize_t)s->buf_offs) {
+ HIKP_ERROR_PRINT("write rasdfx file failed: %s\n", strerror(errno));
+ return -1;
+ }
- s->len = 0;
+ s->buf_offs = 0;
+ pkt = (struct rasdfx_pkt *)((uint32_t *)pkt + f_header->pkt_size_dwords);
+ }
return 0;
}
-static int file_seq_init(struct file_seq *s, uint32_t size)
+static int ras_dump_data_into_buf(struct ras_dump_cmd *cmd, uint32_t *buf, uint32_t buf_max)
{
- if (!size)
- return -1;
+ struct hikp_cmd_ret *cmd_ret;
+ uint32_t copy_len = 0;
+ uint32_t data_num;
+
+ while (copy_len < buf_max) {
+ cmd->cmd_id++;
+ cmd_ret = ras_get_rsp_data(cmd);
+ if (!cmd_ret)
+ return -ENOMEM;
+
+ data_num = cmd_ret->rsp_data_num;
+ if (data_num == 0 || data_num > HIKP_RSP_ALL_DATA_MAX) {
+ HIKP_ERROR_PRINT("invalid response data number: %u\n", data_num);
+ hikp_cmd_free(&cmd_ret);
+ return -1;
+ }
- s->buffer_size = size;
- s->len = 0;
- s->buffer = (char*)malloc(s->buffer_size);
- if (!s->buffer)
- return -1;
+ if (copy_len + data_num > buf_max) {
+ HIKP_ERROR_PRINT("response data is more than expected\n");
+ hikp_cmd_free(&cmd_ret);
+ return -1;
+ }
- return 0;
-}
+ memcpy(buf + copy_len, cmd_ret->rsp_data, data_num * REP_DATA_BLK_SIZE);
+ copy_len += data_num;
+ hikp_cmd_free(&cmd_ret);
+ }
-static void file_seq_destroy(struct file_seq *s)
-{
- free(s->buffer);
- s->buffer = NULL;
+ return 0;
}
-static void ras_rsp_init(struct ras_rsp *ras_rsp_data)
+static int ras_get_rasdfx_payload(struct ras_dump_cmd *cmd, struct rasdfx_file_header *f_header)
{
- ras_rsp_data->first_pkt_begin = 0;
- ras_rsp_data->last_pkt_end = 0;
- ras_rsp_data->rsp_data_num = 0;
- ras_rsp_data->packet_buffer_len = 0;
+ uint32_t buf_max = f_header->pkt_size_dwords * f_header->pkt_num;
+ uint32_t *total_buf;
+ struct file_seq s;
+ int ret;
- memset(ras_rsp_data->rsp_data, 0, sizeof(ras_rsp_data->rsp_data));
- memset(ras_rsp_data->packet_buffer, 0, sizeof(ras_rsp_data->packet_buffer));
-}
+ total_buf = (uint32_t *)malloc(buf_max * REP_DATA_BLK_SIZE);
+ if (!total_buf) {
+ HIKP_ERROR_PRINT("malloc total_buf failed\n");
+ return -ENOMEM;
+ }
-static int parse_packet_buffer_data(struct ras_rsp *ras_rsp_data,
- uint32_t pkt_reg_num, struct file_seq *s)
-{
- int ret;
+ ret = ras_dump_data_into_buf(cmd, total_buf, buf_max);
+ if (ret)
+ goto release_total_buf;
- if (ras_rsp_data->packet_buffer_len) {
- uint32_t rest_pkt_length;
+ ret = ras_open_rasdfx_file_seq(&s, f_header);
+ if (ret)
+ goto release_total_buf;
- rest_pkt_length = pkt_reg_num - ras_rsp_data->packet_buffer_len;
- if (rest_pkt_length > ras_rsp_data->rsp_data_num) {
- HIKP_ERROR_PRINT("The rest of packet_buffer is %u and rsp_data_num is %u, \
- memcpy will out of bounds\n",
- rest_pkt_length, ras_rsp_data->rsp_data_num);
- return -1;
- }
- memcpy(ras_rsp_data->packet_buffer + ras_rsp_data->packet_buffer_len,
- ras_rsp_data->rsp_data, rest_pkt_length);
-
- ras_rsp_data->first_pkt_begin = rest_pkt_length;
- ret = ras_parse_data(ras_rsp_data->packet_buffer, pkt_reg_num, 0, s);
- if (ret) {
- HIKP_ERROR_PRINT("ras parse packet_buffer_data is failed\n");
- return ret;
- }
- } else {
- ras_rsp_data->first_pkt_begin = 0;
- }
-
- if (ras_rsp_data->first_pkt_begin == ras_rsp_data->rsp_data_num)
- return 0;
-
- ras_rsp_data->packet_buffer_len =
- (ras_rsp_data->rsp_data_num - ras_rsp_data->first_pkt_begin) % pkt_reg_num;
- ras_rsp_data->last_pkt_end = ras_rsp_data->rsp_data_num - ras_rsp_data->packet_buffer_len - 1;
- ras_rsp_data->rsp_data_num = ras_rsp_data->last_pkt_end - ras_rsp_data->first_pkt_begin + 1;
-
- memcpy(ras_rsp_data->packet_buffer, ras_rsp_data->rsp_data + ras_rsp_data->last_pkt_end + 1,
- ras_rsp_data->packet_buffer_len);
-
- return 0;
-}
+ ret = ras_parse_rasdfx_payload(&s, total_buf, f_header);
-static int ras_dump_pkt_pre(struct ras_rsp *ras_rsp_data, struct file_seq *s)
-{
- int ret;
- uint32_t reg_num, max_pkt_num, s_buffer_size;
-
- max_pkt_num = (HIKP_RSP_DATA_SIZE_MAX / header.pkt_length) + 1;
- reg_num = header.pkt_length / sizeof(uint32_t) - DFX_REG_PACKET_HEAD_LEN;
- s_buffer_size = max_pkt_num *
- (reg_num * DFX_FILE_SINGLE_REG_SIZE + DFX_FILE_SINGLE_PACKET_HEAD_SIZE);
- ras_rsp_data->rsp_data_num = 0;
-
- ret = file_seq_init(s, s_buffer_size);
- if (ret) {
- HIKP_ERROR_PRINT("malloc file_seq buffer is failed\n");
- return ret;
- }
-
- ret = ras_generate_file_name(s);
- if (ret) {
- HIKP_ERROR_PRINT("ras generate file name is failed\n");
- file_seq_destroy(s);
- return ret;
- }
-
- return ret;
+ ras_close_rasdfx_file_seq(&s);
+release_total_buf:
+ free(total_buf);
+ return ret;
}
-static int ras_dump_packet(struct tool_ras_cmd *cmd, struct ras_rsp *ras_rsp_data,
- struct ras_dump_req_para *req_data)
+int ras_data_dump(void)
{
- int ret;
- uint32_t i, cmd_num;
- bool has_printed_socid = false;
- struct file_seq s;
-
- ret = ras_dump_pkt_pre(ras_rsp_data, &s);
- if (ret)
- return ret;
-
- cmd_num = (header.pkt_num * header.pkt_length +
- HIKP_RSP_DATA_SIZE_MAX - 1) / HIKP_RSP_DATA_SIZE_MAX;
- /* 0: get header info; 1-n: get packet data */
- for (i = 0; i < cmd_num; i++) {
- req_data->cmd_id = i + 1;
- ret = ras_get_data(cmd->ras_cmd_type, req_data, ras_rsp_data);
- if (ret) {
- HIKP_ERROR_PRINT("ras dump cmd %u is failed\n", req_data->cmd_id);
- goto err_out_free;
- }
-
- if (!has_printed_socid) {
- s.len += snprintf(s.buffer + s.len, s.buffer_size - s.len, "SocID: %u\n",
- (ras_rsp_data->rsp_data[DFX_HEAD_INFO_DW0] >> DFX_HEAD_SOC_ID_OFF) & 0xff);
- s.len += snprintf(s.buffer + s.len, s.buffer_size - s.len, "\n");
-
- has_printed_socid = true;
- }
-
- ret = parse_packet_buffer_data(ras_rsp_data, header.pkt_length / sizeof(uint32_t), &s);
- if (ret) {
- HIKP_ERROR_PRINT("ras parse packet buffer data is failed\n");
- goto err_out_free;
- }
-
- if (ras_rsp_data->first_pkt_begin != ras_rsp_data->rsp_data_num) {
- ret = ras_parse_data(ras_rsp_data->rsp_data, ras_rsp_data->rsp_data_num,
- ras_rsp_data->first_pkt_begin, &s);
- if (ret) {
- HIKP_ERROR_PRINT("ras parse rsp_data is failed\n");
- goto err_out_free;
- }
- }
-
- ret = ras_store_data(&s);
- if (ret) {
- HIKP_ERROR_PRINT("ras store rsp_data is failed\n");
- goto err_out_free;
- }
- }
-
-err_out_free:
- file_seq_destroy(&s);
- return ret;
+ struct ras_dump_cmd cmd = { .cmd_type = DUMP_DFX };
+ struct rasdfx_file_header f_header;
+ int ret;
+
+ ret = ras_get_rasdfx_header(&cmd, &f_header);
+ if (ret)
+ return ret;
+
+ if (f_header.head_magic != DFX_DATA_DUMPED_MAGIC) {
+ HIKP_ERROR_PRINT("data does not exist or has been cleared.\n");
+ return -1;
+ }
+
+ if (!ras_check_header(&f_header))
+ return -1;
+
+ return ras_get_rasdfx_payload(&cmd, &f_header);
}
-int ras_data_dump(struct tool_ras_cmd *cmd)
+int ras_data_clear(void)
{
+ struct ras_dump_cmd cmd = { .cmd_type = DUMP_CLEAR };
+ struct rasdfx_file_header f_header;
int ret;
- struct ras_rsp ras_rsp_data;
- struct ras_dump_req_para req_data = {0};
-
- if (cmd == NULL)
- return -ENOSPC;
-
- ras_rsp_init(&ras_rsp_data);
- ret = ras_get_data(cmd->ras_cmd_type, &req_data, &ras_rsp_data);
- if (ret || (ras_rsp_data.rsp_data_num != DFX_REG_DUMP_HEADER_LEN)) {
- HIKP_ERROR_PRINT("ras dump header is failed, rsp_data_num is %u\n",
- ras_rsp_data.rsp_data_num);
- return -1;
- }
-
- if (!ras_rsp_data.rsp_data[HEAD_MAGIC]) {
- HIKP_ERROR_PRINT("ras dfx dump is failed, data does not exist or has been cleared.\n");
- return -1;
- }
-
- header.pkt_num = ras_rsp_data.rsp_data[PKT_NUM];
- header.pkt_length = ras_rsp_data.rsp_data[PKT_LENGTH];
- if (header.pkt_num == 0 || header.pkt_length < DFX_REG_PACKET_HEAD_LEN ||
- header.pkt_length > MAX_DFX_PACKET_LEN * sizeof(uint32_t)) {
- HIKP_ERROR_PRINT("ras dfx dump is failed, pkt_num is %u, pkt_length is %u\n",
- header.pkt_num, header.pkt_length);
- return -1;
- }
-
- ret = ras_dump_packet(cmd, &ras_rsp_data, &req_data);
- if (ret)
- HIKP_ERROR_PRINT("ras dump packet is failed\n");
-
- return ret;
-}
-int ras_data_clear(struct tool_ras_cmd *cmd)
-{
- int ret;
- struct ras_rsp ras_rsp_data;
- struct ras_dump_req_para req_data = { 0 };
-
- if (cmd == NULL)
- return -ENOSPC;
-
- ras_rsp_init(&ras_rsp_data);
- ret = ras_get_data(cmd->ras_cmd_type, &req_data, &ras_rsp_data);
- if (ret || ras_rsp_data.rsp_data_num != DFX_REG_DUMP_HEADER_LEN ||
- ras_rsp_data.rsp_data[HEAD_MAGIC] != DFX_DATA_IS_CLEARED) {
- HIKP_ERROR_PRINT("ras dfx data clear is failed\n");
- return -1;
- }
-
- return 0;
-}
+ ret = ras_get_rasdfx_header(&cmd, &f_header);
+ if (ret)
+ return ret;
+ if (f_header.head_magic != DFX_DATA_CLEARED_MAGIC) {
+ HIKP_ERROR_PRINT("ras dfx data clear is failed\n");
+ return -1;
+ }
+
+ return 0;
+}
diff --git a/ras/ras_func/ras_dump_data.h b/ras/ras_func/ras_dump_data.h
index b54efce..a5e8749 100644
--- a/ras/ras_func/ras_dump_data.h
+++ b/ras/ras_func/ras_dump_data.h
@@ -11,78 +11,59 @@
* See the Mulan PSL v2 for more details.
*/
-#ifndef RAS_DUMP_REG_H
-#define RAS_DUMP_REG_H
+#ifndef RAS_DUMP_DATA_H
+#define RAS_DUMP_DATA_H
-#include "ras_tools_include.h"
-#include "hikpt_rciep.h"
-#include "tool_lib.h"
+#include <stdint.h>
-#define RAS_FILE_HEAD_BUF_LEN 256
-#define MAX_DFX_PACKET_LEN 256
-#define RAS_REQ_DATA_LEN 4
-#define DFX_REG_DUMP_HEADER_LEN 6
-#define DFX_REG_PACKET_HEAD_LEN 3
-
-struct dfx_reg_dump_header {
- uint32_t head_magic; // 文件头的magic数字,特定值表示有效记录。
- uint32_t version; // 存储格式版本
- uint32_t cap_bits; // bit0表示是否开启crc,其余bit保留。
- uint32_t pkt_num; // packet数量
- uint32_t pkt_length; // 单个packet占用内存空间,单位bytes
- uint32_t reserved;
-};
-
-struct file_seq {
- char *buffer;
- uint32_t buffer_size;
- int len;
- char file_name[MAX_LOG_NAME_LEN];
+struct rasdfx_file_header {
+ uint32_t head_magic; // 文件头的magic数字,特定值表示有效记录。
+ uint32_t version; // 存储格式版本
+ uint32_t cap_bits; // bit0表示是否开启crc,其余bit保留。
+ uint32_t pkt_num; // packet数量
+ uint32_t pkt_size_dwords; // 单个packet内DWord个数,单位4bytes
+ uint32_t reserved;
};
-struct ras_rsp {
- uint32_t rsp_data[HIKP_RSP_ALL_DATA_MAX];
- uint32_t first_pkt_begin;
- uint32_t last_pkt_end;
- uint32_t rsp_data_num;
- uint32_t packet_buffer[MAX_DFX_PACKET_LEN];
- uint32_t packet_buffer_len;
+struct rasdfx_pkt_header_dw0 {
+ uint32_t version : 8;
+ uint32_t soc_id : 8;
+ uint32_t skt_id : 8;
+ uint32_t die_id : 8;
};
-struct ras_dump_req_para {
- uint32_t cmd_id;
+struct rasdfx_pkt_header_dw1 {
+ uint32_t module_id : 8;
+ uint32_t submodule_id : 8;
+ uint32_t sequence_num : 8;
+ uint32_t reg_count : 8;
};
-enum reg_dump_header_index {
- HEAD_MAGIC,
- VERSION,
- CAP_BITS,
- PKT_NUM,
- PKT_LENGTH
+struct rasdfx_pkt {
+ struct rasdfx_pkt_header_dw0 dw0;
+ struct rasdfx_pkt_header_dw1 dw1;
+ uint32_t reserved;
+ uint32_t reg_base[0];
};
-enum dfx_packet_index {
- DFX_HEAD_INFO_DW0,
- DFX_HEAD_INFO_DW1,
- DFX_COMMON_MAIN_TEXT_BEGIN = 3
+struct file_seq {
+ int fd;
+ char *buf;
+ size_t buf_size;
+ size_t buf_offs;
};
-#define DFX_HEAD_VERSION_OFF 0
-#define DFX_HEAD_SOC_ID_OFF 8
-#define DFX_HEAD_SKT_ID_OFF 16
-#define DFX_HEAD_DIE_ID_OFF 24
-#define DFX_HEAD_MODULE_ID_OFF 0
-#define DFX_HEAD_SUBMODULE_ID_OFF 8
-#define DFX_HEAD_SEQUENCE_NUM_OFF 16
-#define DFX_HEAD_REG_COUNT_OFF 24
-
-#define DFX_DATA_IS_CLEARED 0
-
-#define DFX_FILE_SINGLE_PACKET_HEAD_SIZE 256
-#define DFX_FILE_SINGLE_REG_SIZE 10
+enum ras_dump_cmd_type {
+ DUMP_DFX,
+ DUMP_CLEAR
+ };
+struct ras_dump_cmd {
+ enum ras_dump_cmd_type cmd_type;
+ uint32_t cmd_id; /* 0: get header info, 1-n: get packet data */
+};
-int ras_data_dump(struct tool_ras_cmd *cmd);
-int ras_data_clear(struct tool_ras_cmd *cmd);
+int ras_data_dump(void);
+int ras_data_clear(void);
-#endif /* RAS_DUMP_REG_H */
+#endif /* RAS_DUMP_DATA_H */
diff --git a/ras/user_cmd/ras_cmd_dump.c b/ras/user_cmd/ras_cmd_dump.c
index f8ae828..e0df98f 100644
--- a/ras/user_cmd/ras_cmd_dump.c
+++ b/ras/user_cmd/ras_cmd_dump.c
@@ -13,11 +13,12 @@
#include <stdint.h>
#include "tool_cmd.h"
-#include "ras_tools_include.h"
+#include "hikptdev_plug.h"
+#include "tool_lib.h"
#include "ras_dump_data.h"
-struct tool_ras_cmd g_ras_dump_cmd = {
- .ras_cmd_type = DUMP_DFX,
+struct ras_dump_cmd g_cmd = {
+ .cmd_type = DUMP_DFX
};
static int ras_dump_help(struct major_cmd_ctrl *self, const char *argv)
@@ -34,33 +35,21 @@ static int ras_dump_help(struct major_cmd_ctrl *self, const char *argv)
return 0;
}
-static enum ras_dump_cmd_type ras_get_cmd_type(void)
-{
- return g_ras_dump_cmd.ras_cmd_type;
-}
-
-static void ras_set_cmd_type(enum ras_dump_cmd_type type)
-{
- g_ras_dump_cmd.ras_cmd_type = type;
-}
-
static int ras_set_clear(struct major_cmd_ctrl *self, const char *argv)
{
HIKP_SET_USED(self);
HIKP_SET_USED(argv);
- ras_set_cmd_type(DUMP_CLEAR);
+ g_cmd.cmd_type = DUMP_CLEAR;
return 0;
}
-static int ras_dump_execute_process(void)
+static int ras_dump_execute_process(enum ras_dump_cmd_type cmd_type)
{
- if (ras_get_cmd_type() == DUMP_DFX)
- return ras_data_dump(&g_ras_dump_cmd);
- else if (ras_get_cmd_type() == DUMP_CLEAR)
- return ras_data_clear(&g_ras_dump_cmd);
- else
- return -EINVAL;
+ if (cmd_type == DUMP_CLEAR)
+ return ras_data_clear();
+ else
+ return ras_data_dump();
}
static void ras_dump_execute(struct major_cmd_ctrl *self)
@@ -75,12 +64,12 @@ static void ras_dump_execute(struct major_cmd_ctrl *self)
"ras dfx data clear error."
};
- ret = ras_dump_execute_process();
+ ret = ras_dump_execute_process(g_cmd.cmd_type);
if (ret == 0) {
- printf("%s\n", suc_msg[ras_get_cmd_type()]);
+ printf("%s\n", suc_msg[g_cmd.cmd_type]);
} else {
snprintf(self->err_str, sizeof(self->err_str), "%s\n",
- err_msg[ras_get_cmd_type()]);
+ err_msg[g_cmd.cmd_type]);
self->err_no = ret;
}
}
diff --git a/ras/user_cmd/ras_tools_include.h b/ras/user_cmd/ras_tools_include.h
deleted file mode 100644
index a999b8a..0000000
--- a/ras/user_cmd/ras_tools_include.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2022 Hisilicon Technologies Co., Ltd.
- * Hikptool is licensed under Mulan PSL v2.
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
- * You may obtain a copy of Mulan PSL v2 at:
- * http://license.coscl.org.cn/MulanPSL2
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
- *
- * See the Mulan PSL v2 for more details.
- */
-
-#ifndef RAS_TOOLS_INCLUDE_H
-#define RAS_TOOLS_INCLUDE_H
-
-#include "hikptdev_plug.h"
-#include "tool_lib.h"
-#include "ras_common.h"
-
-struct tool_ras_cmd {
- enum ras_dump_cmd_type ras_cmd_type;
-};
-
-#endif /* RAS_TOOLS_INCLUDE_H */
--
2.33.0
1
0
---
tools/container/client_kill.sh | 8 ++++
tools/container/create.sh | 75 ++++++++++++++++++++++++++++++++
tools/container/edit_client.sh | 34 +++++++++++++++
tools/container/env.sh | 31 +++++++++++++
tools/container/get_specific.sh | 19 ++++++++
tools/container/run_all.sh | 13 ++++++
tools/container/run_bk.sh | 16 +++++++
tools/container/run_bk_117.sh | 7 +++
tools/container/runc_parallel.sh | 41 +++++++++++++++++
tools/container/usage.rst | 56 ++++++++++++++++++++++++
10 files changed, 300 insertions(+)
create mode 100644 tools/container/client_kill.sh
create mode 100644 tools/container/create.sh
create mode 100644 tools/container/edit_client.sh
create mode 100644 tools/container/env.sh
create mode 100644 tools/container/get_specific.sh
create mode 100644 tools/container/run_all.sh
create mode 100644 tools/container/run_bk.sh
create mode 100644 tools/container/run_bk_117.sh
create mode 100644 tools/container/runc_parallel.sh
create mode 100644 tools/container/usage.rst
diff --git a/tools/container/client_kill.sh b/tools/container/client_kill.sh
new file mode 100644
index 000000000000..a12c5be1edef
--- /dev/null
+++ b/tools/container/client_kill.sh
@@ -0,0 +1,8 @@
+source /home/name/common/env.sh
+
+for IP in "${CLIENT[@]}"
+do
+ echo $IP
+ ssh root@$IP "pgrep -f redis-benchmark | xargs kill -9"
+done
+ssh root@$CLIENT_OBSERVE "pgrep -f redis-benchmark | xargs kill -9"
diff --git a/tools/container/create.sh b/tools/container/create.sh
new file mode 100644
index 000000000000..3f507bfc39cd
--- /dev/null
+++ b/tools/container/create.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+source /home/name/common/env.sh
+
+nr=$1
+mode=${2:-"sequential"} # 默认顺序模式,可选:sequential(顺序)或interleave(交错)
+[[ -z $nr ]] && { echo "Usage: $0 <number> [sequential|interleave]"; exit 1; }
+
+docker stop $(docker ps -aq) 2>/dev/null
+docker rm $(docker ps -aq) 2>/dev/null
+
+mkdir -p /var/run/netns
+systemctl stop irqbalance
+
+if [[ $mode == "interleave" ]]; then
+ deployment_order=()
+ for i in $(seq 0 $((nr - 1))); do
+ for j in $(seq $numa_start $numa_end); do
+ deployment_order+=("$j $i")
+ done
+ done
+else
+ deployment_order=()
+ for j in $(seq $numa_start $numa_end); do
+ for i in $(seq 0 $((nr - 1))); do
+ deployment_order+=("$j $i")
+ done
+ done
+fi
+
+ip_count=0
+for deployment in "${deployment_order[@]}"; do
+ j=$(echo $deployment | awk '{print $1}')
+ i=$(echo $deployment | awk '{print $2}')
+
+ docker run --cpus=2 --cpuset-cpus=${cpus_numa[$j]} --cpuset-mems=$j -m 8g \
+ --cap-add CAP_SYS_ADMIN --privileged=true -itd \
+ --name redis-docker-bridge-numa$j-$i \
+ -v /home/name/redis_image:/home -v /usr:/usr -v /mnt:/mnt \
+ -v /lib/modules:/lib/modules -v /data:/data -v /etc:/etc \
+ openeuler-22.03-lts-sp4 /bin/bash
+
+ pid=$(docker inspect -f '{{.State.Pid}}' redis-docker-bridge-numa$j-$i)
+ vf=$((j * nr + i))
+ ip_count=$((ip_count + 1))
+ IP=${UNREACHABLE_IPS[$((ip_count))]}
+
+ echo "vf: ${vf} IP: ${IP}"
+
+ ln -sf /proc/$pid/ns/net /var/run/netns/redis-docker-bridge-numa$j-$i
+ ip link set enp24s0f0v$vf netns redis-docker-bridge-numa$j-$i
+ docker exec redis-docker-bridge-numa$j-$i ifconfig enp24s0f0v$vf $IP/16
+
+ docker exec -d redis-docker-bridge-numa$j-$i \
+ /home/c00838100/redis-origin/src/redis-server \
+ /home/c00838100/redis.conf --bind 0.0.0.0 --port 6379
+
+ while ! docker exec redis-docker-bridge-numa$j-$i ps -ef | grep -q "[r]edis-server"; do
+ sleep 0.5
+ done
+
+ pid=$(docker exec redis-docker-bridge-numa$j-$i pgrep -f redis-server)
+ core_array=(${cpus[$j]})
+ cpu_core=${core_array[$((i * CPU_DIST))]}
+ docker exec redis-docker-bridge-numa$j-$i taskset -pc $cpu_core $pid
+
+ vf_num=$vf
+ vf_dev=$(ls -la /sys/class/net/enp24s0f0np0/device/virtfn${vf_num} | awk '{print $11}' | sed "s|../||g")
+ irq_core=$((cpu_core + 1))
+
+ for irq in `cat /proc/interrupts | grep $vf_dev | awk -F ':' '{print $1}'`; do
+ echo $irq_core > /proc/irq/$irq/smp_affinity_list
+ done
+done
+
+echo "部署完成! 模式: $mode, 容器数量: $((nr * (numa_end - numa_start + 1)))"
diff --git a/tools/container/edit_client.sh b/tools/container/edit_client.sh
new file mode 100644
index 000000000000..7242d49de753
--- /dev/null
+++ b/tools/container/edit_client.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+source /home/name/common/env.sh
+
+connection=40
+data_len=3
+thread=50
+data_num=2000000
+data_num_large=200000000
+
+mod=0
+for IP in "${CLIENT[@]}"
+do
+echo $IP
+ cp run_bk.sh run.sh
+ echo $mod
+ sed -i "s|xx|$mod|g" run.sh
+ sed -i "s|aa|$connection|g" run.sh
+ sed -i "s|bb|$data_len|g" run.sh
+ sed -i "s|cc|$thread|g" run.sh
+ sed -i "s|dd|$data_num_large|g" run.sh
+
+ ssh root@$IP mkdir -p /home/name/common
+ scp /home/name/common/env.sh root@$IP:/home/name/common
+ scp run.sh root@$IP:/home/name/redis/client/
+ mod=$((mod + 1))
+done
+
+cp run_bk_117.sh run_117.sh
+sed -i "s|aa|$connection|g" run_117.sh
+sed -i "s|bb|$data_len|g" run_117.sh
+sed -i "s|cc|$thread|g" run_117.sh
+sed -i "s|dd|$data_num|g" run_117.sh
+scp run_117.sh root@$CLIENT_OBSERVE:/home/name/redis/client/run.sh
diff --git a/tools/container/env.sh b/tools/container/env.sh
new file mode 100644
index 000000000000..8ec051d67708
--- /dev/null
+++ b/tools/container/env.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+CPU_DIST=4
+
+cpus_numa=(
+"0-79" // todo
+)
+
+vf_core=317 // todo
+redis_core=316
+
+numa_start=0
+numa_end=3
+
+cpus=(
+"0 1"// todo
+"80 81"
+)
+
+CLIENT=(
+ip1 // todo
+ip2 // todo
+)
+
+count=80
+CLIENT_OBSERVE=ip3 // todo
+
+UNREACHABLE_IPS=(
+ip1 // todo
+ip2 // todo
+)
diff --git a/tools/container/get_specific.sh b/tools/container/get_specific.sh
new file mode 100644
index 000000000000..4bbbdac6e0b2
--- /dev/null
+++ b/tools/container/get_specific.sh
@@ -0,0 +1,19 @@
+nr=$1
+DIST=4
+
+dir=/home/name/redis_image/test_inbalance_new/result
+echo "****************"
+cat ${dir}/test_1/log_specific | grep throughput | awk '{print $3}'
+for i in $(seq 1 $nr); do
+cat ${dir}/test_$((i * DIST))/log_specific | grep throughput | awk '{print $3}'
+done
+echo "****************"
+cat ${dir}/test_1/log_specific | grep -A 2 "latency summary" | tail -n 1 | awk '{print $1}'
+for i in $(seq 1 $nr); do
+cat ${dir}/test_$((i * DIST))/log_specific | grep -A 2 "latency summary" | tail -n 1 | awk '{print $1}'
+done
+echo "****************"
+cat ${dir}/test_1/log_specific | grep -A 2 "latency summary" | tail -n 1 | awk '{print $5}'
+for i in $(seq 1 $nr); do
+cat ${dir}/test_$((i * DIST))/log_specific | grep -A 2 "latency summary" | tail -n 1 | awk '{print $5}'
+done
diff --git a/tools/container/run_all.sh b/tools/container/run_all.sh
new file mode 100644
index 000000000000..33d40b7d397e
--- /dev/null
+++ b/tools/container/run_all.sh
@@ -0,0 +1,13 @@
+source /home/name/common/env.sh
+
+rm -rf result/test*
+ssh root@$CLIENT_OBSERVE rm -rf /home/name/redis/client/test*
+nr=$1
+
+sh runc_parallel.sh 1
+sleep 3
+
+for i in $(seq 1 $nr); do
+sh runc_parallel.sh $((i * 4))
+sleep 3
+done
diff --git a/tools/container/run_bk.sh b/tools/container/run_bk.sh
new file mode 100644
index 000000000000..794d390b536e
--- /dev/null
+++ b/tools/container/run_bk.sh
@@ -0,0 +1,16 @@
+nr=$1
+
+source /home/name/common/env.sh
+dir=/home/name/redis/client/test_$((nr + 1))
+
+rm -rf $dir
+mkdir $dir
+
+for (( i=1; i<=$nr; i++ ))
+do
+ if [ $((i % 4)) -eq xx ]; then
+ redis-benchmark -h ${UNREACHABLE_IPS[$i]} -p 6379 -c aa -d bb -n dd -r 10000000 -t get --threads cc > $dir/log_${i} &
+# redis-benchmark -h ${UNREACHABLE_IPS[$((80-i))]} -p 6379 -c aa -d bb -n dd -r 10000000 -t get --threads cc > $dir/log_${i} &
+fi
+done
+wait
diff --git a/tools/container/run_bk_117.sh b/tools/container/run_bk_117.sh
new file mode 100644
index 000000000000..16315a256632
--- /dev/null
+++ b/tools/container/run_bk_117.sh
@@ -0,0 +1,7 @@
+nr=$1
+IP=ip_observe // todo
+
+#sleep 8
+rm -rf /home/name/redis/client/test_$nr
+mkdir /home/name/redis/client/test_$nr
+redis-benchmark -h $IP -p 6379 -c aa -d bb -n dd -r 10000000 -t get --threads cc > /home/name/redis/client/test_$nr/log_specific
diff --git a/tools/container/runc_parallel.sh b/tools/container/runc_parallel.sh
new file mode 100644
index 000000000000..47b48e88e703
--- /dev/null
+++ b/tools/container/runc_parallel.sh
@@ -0,0 +1,41 @@
+nr=$1
+
+source /home/name/common/env.sh
+sh client_kill.sh
+function cleanup() {
+ssh root@$CLIENT_OBSERVE "rm -rf /home/name/redis/client/test_*"
+for IP in "${CLIENT[@]}"
+do
+ ssh root@$IP "rm -rf /home/name/redis/client/test_*"
+done
+}
+
+function copy() {
+scp -r root@$CLIENT_OBSERVE:/home/name/redis/client/test_$((nr + 1)) result
+for IP in "${CLIENT[@]}"
+do
+ scp -r root@$IP:/home/name/redis/client/test_$((nr + 1)) result &> /dev/null
+done
+}
+
+function stress() {
+nr=$1
+for IP in "${CLIENT[@]}"
+do
+echo -n $IP
+ ssh root@$IP "sh /home/name/redis/client/run.sh $nr" &
+echo done
+done
+}
+
+nr=$((nr - 1))
+
+cleanup
+stress $nr
+sleep 2
+ssh root@$CLIENT_OBSERVE "sh /home/name/redis/client/run.sh $((nr + 1))"
+
+sleep 15
+mkdir result
+copy
+cat result/test_$((nr + 1))/log_specific | grep -A 4 throughput
diff --git a/tools/container/usage.rst b/tools/container/usage.rst
new file mode 100644
index 000000000000..beb2593b8142
--- /dev/null
+++ b/tools/container/usage.rst
@@ -0,0 +1,56 @@
+镜像下载:wget https://dl-cdn.openeuler.openatom.cn/openEuler-22.03-LTS-SP4/docker_img/aar…
+导入容器镜像:docker load < ./openEuler-docker.aarch64.tar.xz
+redis下载:https://redis.io/downloads/ 版本6.2
+修改点:
+protected-mode no
+daemonize yes
+cd redis-xx && make && make install
+
+# 1. runc
+基线测试方法: 6.6.0-92.0.0.96.oe2403sp2.aarch64
+1. 硬件:服务器,CX5双网口网卡共160个vf
+2. redis容器:每个2u8g容器1个核绑定redis实例,另1个核绑定VF中断;且两个核同属一个SMT
+3. 部署方式:numa 3的最后一个cluster部署1个观察容器,其他背景容器按顺序部署在numa 0-3
+4. 客户端:一台客户端单独加压观察容器,保证客户端不是瓶颈;其他四台客户端加压背景容器
+5. 组网方式:每个容器一个VF
+
+echo 80 > /sys/class/net/enp24s0f0np0/device/sriov_numvfs
+echo 80 > /sys/class/net/enp24s0f1np1/device/sriov_numvfs
+cd /home/name/redis_image/test_inbalance_refactor
+sh create_runc_passthrough.sh 20
+
+# 同时跑4个redis
+sh runc_parallel.sh 4
+# 同时跑80个redis
+sh runc_parallel.sh 80
+
+# 2. vm:6.6.0-95.0.0
+1. BIOS配置:开启SMMU、开启GiCv4.1
+2. 服务器内核配置:开启中断直通kvm-arm.vgic_v4_enable=1、1G大页:default_hugepagesz=1G hugepagesz=1G
+3. 虚拟机规格:2台虚机,单虚机2个numa,160U,240G内存,40个VF直通网卡
+4. host和虚拟机内开启调度策略优化(echo IRQ_AVG > /sys/kernel/debug/sched/features)
+
+
+smt开关:Advanced -> AMD CBS-> CPU Common Options -> performance -> SMU Common Options
+IOMMU开关:Advanced -> AMD CBS-> NBIO Common Options -> IOMMU/security -> IOMMU
+
+分配大页:
+echo 120 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
+echo 120 > /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages
+echo 120 > /sys/devices/system/node/node2/hugepages/hugepages-1048576kB/nr_hugepages
+echo 120 > /sys/devices/system/node/node3/hugepages/hugepages-1048576kB/nr_hugepages
+
+virsh create /home/name/vms/vm1/vm1.xml
+virsh create /home/name/vms/vm2/vm2.xml
+
+ssh root@vm_ip1
+cd /home/name/redis_image/test_inbalance_refactor
+sh create_runc_passthrough.sh 20
+
+ssh root@vm_ip2
+cd /home/name/redis_image/test_inbalance_refactor
+sh create_runc_passthrough.sh 20
+
+# host上
+cd /home/name/redis_image/test_inbalance_refactor
+sh runc_parallel.sh 80
--
2.33.0
2
1