Kernel
Threads by month
- ----- 2025 -----
- October
- 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
- 35 participants
- 20707 discussions

[PATCH openEuler-1.0-LTS] btrfs: fix BUG_ON condition in btrfs_cancel_balance
by Zizhi Wo 20 Sep '25
by Zizhi Wo 20 Sep '25
20 Sep '25
From: xiaoshoukui <xiaoshoukui(a)gmail.com>
stable inclusion
from stable-v4.19.293
commit 7c93b89cd46636b5e74c12fa21dd86167bc6ea8d
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYJ02
CVE: CVE-2023-53339
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 29eefa6d0d07e185f7bfe9576f91e6dba98189c2 upstream.
Pausing and canceling balance can race to interrupt balance lead to BUG_ON
panic in btrfs_cancel_balance. The BUG_ON condition in btrfs_cancel_balance
does not take this race scenario into account.
However, the race condition has no other side effects. We can fix that.
Reproducing it with panic trace like this:
kernel BUG at fs/btrfs/volumes.c:4618!
RIP: 0010:btrfs_cancel_balance+0x5cf/0x6a0
Call Trace:
<TASK>
? do_nanosleep+0x60/0x120
? hrtimer_nanosleep+0xb7/0x1a0
? sched_core_clone_cookie+0x70/0x70
btrfs_ioctl_balance_ctl+0x55/0x70
btrfs_ioctl+0xa46/0xd20
__x64_sys_ioctl+0x7d/0xa0
do_syscall_64+0x38/0x80
entry_SYSCALL_64_after_hwframe+0x63/0xcd
Race scenario as follows:
> mutex_unlock(&fs_info->balance_mutex);
> --------------------
> .......issue pause and cancel req in another thread
> --------------------
> ret = __btrfs_balance(fs_info);
>
> mutex_lock(&fs_info->balance_mutex);
> if (ret == -ECANCELED && atomic_read(&fs_info->balance_pause_req)) {
> btrfs_info(fs_info, "balance: paused");
> btrfs_exclop_balance(fs_info, BTRFS_EXCLOP_BALANCE_PAUSED);
> }
CC: stable(a)vger.kernel.org # 4.19+
Signed-off-by: xiaoshoukui <xiaoshoukui(a)ruijie.com.cn>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zizhi Wo <wozizhi(a)huawei.com>
---
fs/btrfs/volumes.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index abda01208a69..2fce0ea3bc99 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -4089,8 +4089,7 @@ int btrfs_cancel_balance(struct btrfs_fs_info *fs_info)
}
}
- BUG_ON(fs_info->balance_ctl ||
- test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags));
+ ASSERT(!test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags));
atomic_dec(&fs_info->balance_cancel_req);
mutex_unlock(&fs_info->balance_mutex);
return 0;
--
2.39.2
2
1

[openeuler:OLK-6.6] BUILD REGRESSION d2ab0ef5426f62c54839e37f3ea78cde33366993
by kernel test robot 20 Sep '25
by kernel test robot 20 Sep '25
20 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: d2ab0ef5426f62c54839e37f3ea78cde33366993 !18054 arm64 kvm: 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/clocksource/arm_arch_timer.c:371:33: warning: 'hisi_165010801_oem_info' defined but not used [-Wunused-variable]
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/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-20250919
| |-- 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-002-20250919
| |-- drivers-clocksource-arm_arch_timer.c:warning:hisi_165010801_oem_info-defined-but-not-used
| |-- 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-003-20250919
| |-- 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
|-- arm64-randconfig-004-20250919
| |-- 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-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
|-- 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-001-20250919
| |-- 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
|-- loongarch-randconfig-002-20250919
| |-- 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
|-- 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-20250919
| |-- 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
|-- x86_64-buildonly-randconfig-002-20250919
| |-- 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-003-20250919
| |-- 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-004-20250919
| |-- 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-20250919
| |-- 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
|-- x86_64-buildonly-randconfig-006-20250919
| |-- 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
elapsed time: 770m
configs tested: 20
configs skipped: 111
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250919 gcc-15.1.0
arm64 randconfig-002-20250919 gcc-8.5.0
arm64 randconfig-003-20250919 gcc-12.5.0
arm64 randconfig-004-20250919 gcc-11.5.0
loongarch allmodconfig clang-19
loongarch allnoconfig clang-22
loongarch randconfig-001-20250919 gcc-15.1.0
loongarch randconfig-002-20250919 clang-22
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250919 clang-20
x86_64 buildonly-randconfig-002-20250919 gcc-14
x86_64 buildonly-randconfig-003-20250919 gcc-14
x86_64 buildonly-randconfig-004-20250919 clang-20
x86_64 buildonly-randconfig-005-20250919 clang-20
x86_64 buildonly-randconfig-006-20250919 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

[PATCH OLK-6.6] net: bridge: fix soft lockup in br_multicast_query_expired()
by Bowen You 19 Sep '25
by Bowen You 19 Sep '25
19 Sep '25
From: Wang Liang <wangliang74(a)huawei.com>
mainline inclusion
from mainline-v6.12-rc1
commit d1547bf460baec718b3398365f8de33d25c5f36f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICXMCM
CVE: CVE-2025-39773
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
When set multicast_query_interval to a large value, the local variable
'time' in br_multicast_send_query() may overflow. If the time is smaller
than jiffies, the timer will expire immediately, and then call mod_timer()
again, which creates a loop and may trigger the following soft lockup
issue.
watchdog: BUG: soft lockup - CPU#1 stuck for 221s! [rb_consumer:66]
CPU: 1 UID: 0 PID: 66 Comm: rb_consumer Not tainted 6.16.0+ #259 PREEMPT(none)
Call Trace:
<IRQ>
__netdev_alloc_skb+0x2e/0x3a0
br_ip6_multicast_alloc_query+0x212/0x1b70
__br_multicast_send_query+0x376/0xac0
br_multicast_send_query+0x299/0x510
br_multicast_query_expired.constprop.0+0x16d/0x1b0
call_timer_fn+0x3b/0x2a0
__run_timers+0x619/0x950
run_timer_softirq+0x11c/0x220
handle_softirqs+0x18e/0x560
__irq_exit_rcu+0x158/0x1a0
sysvec_apic_timer_interrupt+0x76/0x90
</IRQ>
This issue can be reproduced with:
ip link add br0 type bridge
echo 1 > /sys/class/net/br0/bridge/multicast_querier
echo 0xffffffffffffffff >
/sys/class/net/br0/bridge/multicast_query_interval
ip link set dev br0 up
The multicast_startup_query_interval can also cause this issue. Similar to
the commit 99b40610956a ("net: bridge: mcast: add and enforce query
interval minimum"), add check for the query interval maximum to fix this
issue.
Link: https://lore.kernel.org/netdev/20250806094941.1285944-1-wangliang74@huawei.…
Link: https://lore.kernel.org/netdev/20250812091818.542238-1-wangliang74@huawei.c…
Fixes: d902eee43f19 ("bridge: Add multicast count/interval sysfs entries")
Suggested-by: Nikolay Aleksandrov <razor(a)blackwall.org>
Signed-off-by: Wang Liang <wangliang74(a)huawei.com>
Reviewed-by: Ido Schimmel <idosch(a)nvidia.com>
Acked-by: Nikolay Aleksandrov <razor(a)blackwall.org>
Link: https://patch.msgid.link/20250813021054.1643649-1-wangliang74@huawei.com
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
Signed-off-by: Bowen You <youbowen2(a)huawei.com>
---
net/bridge/br_multicast.c | 16 ++++++++++++++++
net/bridge/br_private.h | 2 ++
2 files changed, 18 insertions(+)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 0793df3a2a1b..d27a2f3addf3 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -4729,6 +4729,14 @@ void br_multicast_set_query_intvl(struct net_bridge_mcast *brmctx,
intvl_jiffies = BR_MULTICAST_QUERY_INTVL_MIN;
}
+ if (intvl_jiffies > BR_MULTICAST_QUERY_INTVL_MAX) {
+ br_info(brmctx->br,
+ "trying to set multicast query interval above maximum, setting to %lu (%ums)\n",
+ jiffies_to_clock_t(BR_MULTICAST_QUERY_INTVL_MAX),
+ jiffies_to_msecs(BR_MULTICAST_QUERY_INTVL_MAX));
+ intvl_jiffies = BR_MULTICAST_QUERY_INTVL_MAX;
+ }
+
brmctx->multicast_query_interval = intvl_jiffies;
}
@@ -4745,6 +4753,14 @@ void br_multicast_set_startup_query_intvl(struct net_bridge_mcast *brmctx,
intvl_jiffies = BR_MULTICAST_STARTUP_QUERY_INTVL_MIN;
}
+ if (intvl_jiffies > BR_MULTICAST_STARTUP_QUERY_INTVL_MAX) {
+ br_info(brmctx->br,
+ "trying to set multicast startup query interval above maximum, setting to %lu (%ums)\n",
+ jiffies_to_clock_t(BR_MULTICAST_STARTUP_QUERY_INTVL_MAX),
+ jiffies_to_msecs(BR_MULTICAST_STARTUP_QUERY_INTVL_MAX));
+ intvl_jiffies = BR_MULTICAST_STARTUP_QUERY_INTVL_MAX;
+ }
+
brmctx->multicast_startup_query_interval = intvl_jiffies;
}
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index bbb07ede9dad..3ebc3f521a4f 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -31,6 +31,8 @@
#define BR_MULTICAST_DEFAULT_HASH_MAX 4096
#define BR_MULTICAST_QUERY_INTVL_MIN msecs_to_jiffies(1000)
#define BR_MULTICAST_STARTUP_QUERY_INTVL_MIN BR_MULTICAST_QUERY_INTVL_MIN
+#define BR_MULTICAST_QUERY_INTVL_MAX msecs_to_jiffies(86400000) /* 24 hours */
+#define BR_MULTICAST_STARTUP_QUERY_INTVL_MAX BR_MULTICAST_QUERY_INTVL_MAX
#define BR_HWDOM_MAX BITS_PER_LONG
--
2.34.1
2
1

[openeuler:OLK-6.6] BUILD REGRESSION 91f2ceb19b28a04870aaeb92beaae0a0978520aa
by kernel test robot 19 Sep '25
by kernel test robot 19 Sep '25
19 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 91f2ceb19b28a04870aaeb92beaae0a0978520aa !17972 arm64/mpam: Add quirk for L3 CSU counters
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/202508212350.cdtYa1wJ-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/livepatch/core.c:2105:12: warning: no previous prototype for function 'arch_klp_check_breakpoint' [-Wmissing-prototypes]
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]
Unverified Error/Warning (likely false positive, kindly check if interested):
warning: unsafe strlcpy() usage lacked '__write_overflow' warning in lib/test_fortify/write_overflow-strlcpy-src.c
warning: unsafe strlcpy() usage lacked '__write_overflow' warning in lib/test_fortify/write_overflow-strlcpy.c
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-20250918
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- kernel-livepatch-core.c:warning:no-previous-prototype-for-function-arch_klp_check_breakpoint
| |-- 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
| |-- warning:unsafe-strlcpy()-usage-lacked-__write_overflow-warning-in-lib-test_fortify-write_overflow-strlcpy-src.c
| `-- warning:unsafe-strlcpy()-usage-lacked-__write_overflow-warning-in-lib-test_fortify-write_overflow-strlcpy.c
|-- arm64-randconfig-002-20250918
| |-- 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-003-20250918
| |-- 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-20250918
| |-- 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-001-20250918
| |-- 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
| |-- 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-20250918
| |-- 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
|-- x86_64-alldefconfig
| |-- 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-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-20250918
| |-- 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-002-20250918
| |-- 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-20250918
| |-- 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
|-- x86_64-buildonly-randconfig-004-20250918
| |-- 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-20250918
| |-- 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-20250918
| |-- 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
elapsed time: 763m
configs tested: 21
configs skipped: 102
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250918 clang-22
arm64 randconfig-002-20250918 gcc-11.5.0
arm64 randconfig-003-20250918 clang-22
arm64 randconfig-004-20250918 clang-22
loongarch allmodconfig clang-19
loongarch allnoconfig clang-22
loongarch randconfig-001-20250918 clang-17
loongarch randconfig-002-20250918 clang-22
x86_64 alldefconfig gcc-14
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250918 clang-20
x86_64 buildonly-randconfig-002-20250918 clang-20
x86_64 buildonly-randconfig-003-20250918 clang-20
x86_64 buildonly-randconfig-004-20250918 clang-20
x86_64 buildonly-randconfig-005-20250918 clang-20
x86_64 buildonly-randconfig-006-20250918 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 1732/1732] drivers/spi/spi-phytium-plat.c:192:36: warning: unused variable 'phytium_spi_acpi_match'
by kernel test robot 19 Sep '25
by kernel test robot 19 Sep '25
19 Sep '25
Hi Malloy,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 1d593bdfdaff241dea4989a81386a6f45887adf2
commit: e8483fcd43fc1dbb8d21bb7eacce804cbab6a7c6 [1732/1732] spi: add phytium spi support
config: x86_64-buildonly-randconfig-001-20250718 (https://download.01.org/0day-ci/archive/20250919/202509190259.vGmXHuui-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/20250919/202509190259.vGmXHuui-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/202509190259.vGmXHuui-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/spi/spi-phytium-plat.c:192:36: warning: unused variable 'phytium_spi_acpi_match' [-Wunused-const-variable]
192 | static const struct acpi_device_id phytium_spi_acpi_match[] = {
| ^~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +/phytium_spi_acpi_match +192 drivers/spi/spi-phytium-plat.c
191
> 192 static const struct acpi_device_id phytium_spi_acpi_match[] = {
193 {"PHYT000E", 0},
194 {}
195 };
196 MODULE_DEVICE_TABLE(acpi, phytium_spi_acpi_match);
197
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Wang Liang (4):
net/oenetcls: Fix oecls_numa_info_table memleak
net/oenetcls: use raw_smp_processor_id() instead of smp_processor_id()
net/oenetcls: remove oenetcls trace hook
net/oenetcls: use workqueue for ntuple cfg
arch/arm64/configs/openeuler_defconfig | 1 -
arch/x86/configs/openeuler_defconfig | 2 +-
drivers/hooks/Kconfig | 10 --
drivers/hooks/vendor_hooks.c | 7 -
include/linux/oenetcls.h | 81 +++++++++++
include/trace/hooks/oenetcls.h | 44 ------
net/core/dev.c | 23 ++--
net/ipv4/af_inet.c | 9 +-
net/ipv4/tcp.c | 13 +-
net/oenetcls/Kconfig | 2 +-
net/oenetcls/oenetcls.h | 14 +-
net/oenetcls/oenetcls_flow.c | 49 ++++---
net/oenetcls/oenetcls_main.c | 29 ++--
net/oenetcls/oenetcls_ntuple.c | 181 ++++++++++++++++---------
14 files changed, 289 insertions(+), 176 deletions(-)
create mode 100644 include/linux/oenetcls.h
delete mode 100644 include/trace/hooks/oenetcls.h
--
2.34.1
2
5

[PATCH openEuler-1.0-LTS] scsi: target: iscsi: Fix a race condition between login_work and the login thread
by Yifan Qiao 18 Sep '25
by Yifan Qiao 18 Sep '25
18 Sep '25
From: Maurizio Lombardi <mlombard(a)redhat.com>
mainline inclusion
from mainline-v6.2-rc1
commit fec1b2fa62c162d03f5dcd7b03e3c89d3116d49f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYBVS
CVE: CVE-2022-50350
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
In case a malicious initiator sends some random data immediately after a
login PDU; the iscsi_target_sk_data_ready() callback will schedule the
login_work and, at the same time, the negotiation may end without clearing
the LOGIN_FLAGS_INITIAL_PDU flag (because no additional PDU exchanges are
required to complete the login).
The login has been completed but the login_work function will find the
LOGIN_FLAGS_INITIAL_PDU flag set and will never stop from rescheduling
itself; at this point, if the initiator drops the connection, the
iscsit_conn structure will be freed, login_work will dereference a released
socket structure and the kernel crashes.
BUG: kernel NULL pointer dereference, address: 0000000000000230
PF: supervisor write access in kernel mode
PF: error_code(0x0002) - not-present page
Workqueue: events iscsi_target_do_login_rx [iscsi_target_mod]
RIP: 0010:_raw_read_lock_bh+0x15/0x30
Call trace:
iscsi_target_do_login_rx+0x75/0x3f0 [iscsi_target_mod]
process_one_work+0x1e8/0x3c0
Fix this bug by forcing login_work to stop after the login has been
completed and the socket callbacks have been restored.
Add a comment to clearify the return values of iscsi_target_do_login()
Signed-off-by: Maurizio Lombardi <mlombard(a)redhat.com>
Link: https://lore.kernel.org/r/20221115125638.102517-1-mlombard@redhat.com
Reviewed-by: Mike Christie <michael.christie(a)oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Yifan Qiao <qiaoyifan4(a)huawei.com>
---
drivers/target/iscsi/iscsi_target_nego.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/target/iscsi/iscsi_target_nego.c b/drivers/target/iscsi/iscsi_target_nego.c
index 5db8842a8026..e4f9da45931a 100644
--- a/drivers/target/iscsi/iscsi_target_nego.c
+++ b/drivers/target/iscsi/iscsi_target_nego.c
@@ -969,6 +969,13 @@ static int iscsi_target_handle_csg_one(struct iscsi_conn *conn, struct iscsi_log
return 0;
}
+/*
+ * RETURN VALUE:
+ *
+ * 1 = Login successful
+ * -1 = Login failed
+ * 0 = More PDU exchanges required
+ */
static int iscsi_target_do_login(struct iscsi_conn *conn, struct iscsi_login *login)
{
int pdu_count = 0;
@@ -1316,12 +1323,13 @@ int iscsi_target_start_negotiation(
ret = -1;
if (ret < 0) {
- cancel_delayed_work_sync(&conn->login_work);
iscsi_target_restore_sock_callbacks(conn);
iscsi_remove_failed_auth_entry(conn);
}
- if (ret != 0)
+ if (ret != 0) {
+ cancel_delayed_work_sync(&conn->login_work);
iscsi_target_nego_release(conn);
+ }
return ret;
}
--
2.39.2
2
1
From: Shuhao Fu <sfual(a)cse.ust.hk>
mainline inclusion
from mainline-v6.17-rc4
commit ab529e6ca1f67bcf31f3ea80c72bffde2e9e053e
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICYBJ5
CVE: CVE-2025-39819
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
A possible inconsistent update of refcount was identified in `smb2_compound_op`.
Such inconsistent update could lead to possible resource leaks.
Why it is a possible bug:
1. In the comment section of the function, it clearly states that the
reference to `cfile` should be dropped after calling this function.
2. Every control flow path would check and drop the reference to
`cfile`, except the patched one.
3. Existing callers would not handle refcount update of `cfile` if
-ENOMEM is returned.
To fix the bug, an extra goto label "out" is added, to make sure that the
cleanup logic would always be respected. As the problem is caused by the
allocation failure of `vars`, the cleanup logic between label "finished"
and "out" can be safely ignored. According to the definition of function
`is_replayable_error`, the error code of "-ENOMEM" is not recoverable.
Therefore, the replay logic also gets ignored.
Signed-off-by: Shuhao Fu <sfual(a)cse.ust.hk>
Acked-by: Paulo Alcantara (Red Hat) <pc(a)manguebit.org>
Cc: stable(a)vger.kernel.org
Signed-off-by: Steve French <stfrench(a)microsoft.com>
Signed-off-by: Yifan Qiao <qiaoyifan4(a)huawei.com>
---
fs/smb/client/smb2inode.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
index e1078a1decdf..0cc80f472432 100644
--- a/fs/smb/client/smb2inode.c
+++ b/fs/smb/client/smb2inode.c
@@ -206,8 +206,10 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
server = cifs_pick_channel(ses);
vars = kzalloc(sizeof(*vars), GFP_ATOMIC);
- if (vars == NULL)
- return -ENOMEM;
+ if (vars == NULL) {
+ rc = -ENOMEM;
+ goto out;
+ }
rqst = &vars->rqst[0];
rsp_iov = &vars->rsp_iov[0];
@@ -828,6 +830,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
smb2_should_replay(tcon, &retries, &cur_sleep))
goto replay_again;
+out:
if (cfile)
cifsFileInfo_put(cfile);
--
2.39.2
2
1

[PATCH openEuler-1.0-LTS] ata: ahci: Match EM_MAX_SLOTS with SATA_PMP_MAX_PORTS
by Yifan Qiao 18 Sep '25
by Yifan Qiao 18 Sep '25
18 Sep '25
From: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
stable inclusion
from stable-v4.19.264
commit 67a00c299c5c143817c948fbc7de1a2fa1af38fb
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICY4BK
CVE: CVE-2022-50315
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 1e41e693f458eef2d5728207dbd327cd3b16580a upstream.
UBSAN complains about array-index-out-of-bounds:
[ 1.980703] kernel: UBSAN: array-index-out-of-bounds in /build/linux-9H675w/linux-5.15.0/drivers/ata/libahci.c:968:41
[ 1.980709] kernel: index 15 is out of range for type 'ahci_em_priv [8]'
[ 1.980713] kernel: CPU: 0 PID: 209 Comm: scsi_eh_8 Not tainted 5.15.0-25-generic #25-Ubuntu
[ 1.980716] kernel: Hardware name: System manufacturer System Product Name/P5Q3, BIOS 1102 06/11/2010
[ 1.980718] kernel: Call Trace:
[ 1.980721] kernel: <TASK>
[ 1.980723] kernel: show_stack+0x52/0x58
[ 1.980729] kernel: dump_stack_lvl+0x4a/0x5f
[ 1.980734] kernel: dump_stack+0x10/0x12
[ 1.980736] kernel: ubsan_epilogue+0x9/0x45
[ 1.980739] kernel: __ubsan_handle_out_of_bounds.cold+0x44/0x49
[ 1.980742] kernel: ahci_qc_issue+0x166/0x170 [libahci]
[ 1.980748] kernel: ata_qc_issue+0x135/0x240
[ 1.980752] kernel: ata_exec_internal_sg+0x2c4/0x580
[ 1.980754] kernel: ? vprintk_default+0x1d/0x20
[ 1.980759] kernel: ata_exec_internal+0x67/0xa0
[ 1.980762] kernel: sata_pmp_read+0x8d/0xc0
[ 1.980765] kernel: sata_pmp_read_gscr+0x3c/0x90
[ 1.980768] kernel: sata_pmp_attach+0x8b/0x310
[ 1.980771] kernel: ata_eh_revalidate_and_attach+0x28c/0x4b0
[ 1.980775] kernel: ata_eh_recover+0x6b6/0xb30
[ 1.980778] kernel: ? ahci_do_hardreset+0x180/0x180 [libahci]
[ 1.980783] kernel: ? ahci_stop_engine+0xb0/0xb0 [libahci]
[ 1.980787] kernel: ? ahci_do_softreset+0x290/0x290 [libahci]
[ 1.980792] kernel: ? trace_event_raw_event_ata_eh_link_autopsy_qc+0xe0/0xe0
[ 1.980795] kernel: sata_pmp_eh_recover.isra.0+0x214/0x560
[ 1.980799] kernel: sata_pmp_error_handler+0x23/0x40
[ 1.980802] kernel: ahci_error_handler+0x43/0x80 [libahci]
[ 1.980806] kernel: ata_scsi_port_error_handler+0x2b1/0x600
[ 1.980810] kernel: ata_scsi_error+0x9c/0xd0
[ 1.980813] kernel: scsi_error_handler+0xa1/0x180
[ 1.980817] kernel: ? scsi_unjam_host+0x1c0/0x1c0
[ 1.980820] kernel: kthread+0x12a/0x150
[ 1.980823] kernel: ? set_kthread_struct+0x50/0x50
[ 1.980826] kernel: ret_from_fork+0x22/0x30
[ 1.980831] kernel: </TASK>
This happens because sata_pmp_init_links() initialize link->pmp up to
SATA_PMP_MAX_PORTS while em_priv is declared as 8 elements array.
I can't find the maximum Enclosure Management ports specified in AHCI
spec v1.3.1, but "12.2.1 LED message type" states that "Port Multiplier
Information" can utilize 4 bits, which implies it can support up to 16
ports. Hence, use SATA_PMP_MAX_PORTS as EM_MAX_SLOTS to resolve the
issue.
BugLink: https://bugs.launchpad.net/bugs/1970074
Cc: stable(a)vger.kernel.org
Signed-off-by: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Signed-off-by: Damien Le Moal <damien.lemoal(a)opensource.wdc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Yifan Qiao <qiaoyifan4(a)huawei.com>
---
drivers/ata/ahci.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index 52d0851653e5..ae69409d316e 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -266,7 +266,7 @@ enum {
PCS_7 = 0x94, /* 7+ port PCS (Denverton) */
/* em constants */
- EM_MAX_SLOTS = 8,
+ EM_MAX_SLOTS = SATA_PMP_MAX_PORTS,
EM_MAX_RETRY = 5,
/* em_ctl bits */
--
2.39.2
2
1

[openeuler:OLK-6.6 2904/2904] net/oenetcls/oenetcls_ntuple.c:14:27: sparse: sparse: symbol 'oecls_sk_rules' was not declared. Should it be static?
by kernel test robot 18 Sep '25
by kernel test robot 18 Sep '25
18 Sep '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 8ba53a0f68c5722dd787f872e161bbd850b225c4
commit: 22d4075bf5ef29ba4b329f954ac28a7de1d69a65 [2904/2904] net/oenetcls: remove oenetcls trace hook
config: loongarch-randconfig-r111-20250918 (https://download.01.org/0day-ci/archive/20250918/202509181257.lJX7E7VA-lkp@…)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250918/202509181257.lJX7E7VA-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/202509181257.lJX7E7VA-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> net/oenetcls/oenetcls_ntuple.c:14:27: sparse: sparse: symbol 'oecls_sk_rules' was not declared. Should it be static?
>> net/oenetcls/oenetcls_ntuple.c:14:43: sparse: sparse: symbol 'oecls_sk_list' was not declared. Should it be static?
>> net/oenetcls/oenetcls_ntuple.c:147:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] dip4 @@ got restricted __be32 [usertype] ifa_local @@
net/oenetcls/oenetcls_ntuple.c:147:38: sparse: expected unsigned int [usertype] dip4
net/oenetcls/oenetcls_ntuple.c:147:38: sparse: got restricted __be32 [usertype] ifa_local
>> net/oenetcls/oenetcls_ntuple.c:161:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __be16 [usertype] @@
net/oenetcls/oenetcls_ntuple.c:161:16: sparse: expected unsigned short [usertype]
net/oenetcls/oenetcls_ntuple.c:161:16: sparse: got restricted __be16 [usertype]
>> net/oenetcls/oenetcls_ntuple.c:169:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] skc_rcv_saddr @@
net/oenetcls/oenetcls_ntuple.c:169:23: sparse: expected unsigned int [usertype]
net/oenetcls/oenetcls_ntuple.c:169:23: sparse: got restricted __be32 [usertype] skc_rcv_saddr
>> net/oenetcls/oenetcls_ntuple.c:393:9: sparse: sparse: cast to restricted __be16
>> net/oenetcls/oenetcls_ntuple.c:393:9: sparse: sparse: cast to restricted __be16
>> net/oenetcls/oenetcls_ntuple.c:393:9: sparse: sparse: cast to restricted __be16
>> net/oenetcls/oenetcls_ntuple.c:406:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4dst @@ got unsigned int [usertype] dip4 @@
net/oenetcls/oenetcls_ntuple.c:406:38: sparse: expected restricted __be32 [usertype] ip4dst
net/oenetcls/oenetcls_ntuple.c:406:38: sparse: got unsigned int [usertype] dip4
>> net/oenetcls/oenetcls_ntuple.c:407:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] pdst @@ got unsigned short [usertype] dport @@
net/oenetcls/oenetcls_ntuple.c:407:36: sparse: expected restricted __be16 [usertype] pdst
net/oenetcls/oenetcls_ntuple.c:407:36: sparse: got unsigned short [usertype] dport
>> net/oenetcls/oenetcls_ntuple.c:409:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4dst @@ got unsigned int [usertype] @@
net/oenetcls/oenetcls_ntuple.c:409:46: sparse: expected restricted __be32 [usertype] ip4dst
net/oenetcls/oenetcls_ntuple.c:409:46: sparse: got unsigned int [usertype]
>> net/oenetcls/oenetcls_ntuple.c:410:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] pdst @@ got unsigned short [usertype] @@
net/oenetcls/oenetcls_ntuple.c:410:36: sparse: expected restricted __be16 [usertype] pdst
net/oenetcls/oenetcls_ntuple.c:410:36: sparse: got unsigned short [usertype]
net/oenetcls/oenetcls_ntuple.c:442:25: sparse: sparse: cast to restricted __be16
net/oenetcls/oenetcls_ntuple.c:442:25: sparse: sparse: cast to restricted __be16
net/oenetcls/oenetcls_ntuple.c:442:25: sparse: sparse: cast to restricted __be16
--
>> net/oenetcls/oenetcls_main.c:265:31: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void *useraddr @@ got void [noderef] __user *ifru_data @@
net/oenetcls/oenetcls_main.c:265:31: sparse: expected void *useraddr
net/oenetcls/oenetcls_main.c:265:31: sparse: got void [noderef] __user *ifru_data
>> net/oenetcls/oenetcls_main.c:344:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __user *[addressable] ifru_data @@ got void *cmd @@
net/oenetcls/oenetcls_main.c:344:22: sparse: expected void [noderef] __user *[addressable] ifru_data
net/oenetcls/oenetcls_main.c:344:22: sparse: got void *cmd
--
>> net/oenetcls/oenetcls_flow.c:18:6: sparse: sparse: symbol 'is_oecls_config_netdev' was not declared. Should it be static?
>> net/oenetcls/oenetcls_flow.c:40:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:40:22: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:40:22: sparse: void *
net/oenetcls/oenetcls_flow.c:149:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:149:15: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:149:15: sparse: void *
net/oenetcls/oenetcls_flow.c:235:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:235:15: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:235:15: sparse: void *
net/oenetcls/oenetcls_flow.c:258:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:258:23: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:258:23: sparse: void *
net/oenetcls/oenetcls_flow.c:260:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:260:17: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:260:17: sparse: void *
net/oenetcls/oenetcls_flow.c:309:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:309:17: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:309:17: sparse: void *
>> net/oenetcls/oenetcls_flow.c:258:23: sparse: sparse: dereference of noderef expression
vim +/oecls_sk_rules +14 net/oenetcls/oenetcls_ntuple.c
4bed6ba0e88f50 Wang Liang 2025-08-26 13
4bed6ba0e88f50 Wang Liang 2025-08-26 @14 struct oecls_sk_rule_list oecls_sk_rules, oecls_sk_list;
4bed6ba0e88f50 Wang Liang 2025-08-26 15
4bed6ba0e88f50 Wang Liang 2025-08-26 16 static void init_oecls_sk_rules(void)
4bed6ba0e88f50 Wang Liang 2025-08-26 17 {
4bed6ba0e88f50 Wang Liang 2025-08-26 18 unsigned int i;
4bed6ba0e88f50 Wang Liang 2025-08-26 19
4bed6ba0e88f50 Wang Liang 2025-08-26 20 for (i = 0; i < OECLS_SK_RULE_HASHSIZE; i++)
4bed6ba0e88f50 Wang Liang 2025-08-26 21 INIT_HLIST_HEAD(oecls_sk_rules.hash + i);
4bed6ba0e88f50 Wang Liang 2025-08-26 22 mutex_init(&oecls_sk_rules.mutex);
4bed6ba0e88f50 Wang Liang 2025-08-26 23 }
4bed6ba0e88f50 Wang Liang 2025-08-26 24
4bed6ba0e88f50 Wang Liang 2025-08-26 25 static inline struct hlist_head *get_rule_hashlist(u32 dip4, u16 dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 26 {
4bed6ba0e88f50 Wang Liang 2025-08-26 27 return oecls_sk_rules.hash + (jhash_2words(dip4, dport, 0) & OECLS_SK_RULE_HASHMASK);
4bed6ba0e88f50 Wang Liang 2025-08-26 28 }
4bed6ba0e88f50 Wang Liang 2025-08-26 29
4bed6ba0e88f50 Wang Liang 2025-08-26 30 static inline struct hlist_head *get_sk_hashlist(void *sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 31 {
4bed6ba0e88f50 Wang Liang 2025-08-26 32 return oecls_sk_list.hash + (jhash(sk, sizeof(sk), 0) & OECLS_SK_RULE_HASHMASK);
4bed6ba0e88f50 Wang Liang 2025-08-26 33 }
4bed6ba0e88f50 Wang Liang 2025-08-26 34
4bed6ba0e88f50 Wang Liang 2025-08-26 35 static void add_sk_rule(int devid, u32 dip4, u16 dport, void *sk, int action,
4bed6ba0e88f50 Wang Liang 2025-08-26 36 int ruleid, int nid)
4bed6ba0e88f50 Wang Liang 2025-08-26 37 {
4bed6ba0e88f50 Wang Liang 2025-08-26 38 struct hlist_head *hlist = get_rule_hashlist(dip4, dport);
4bed6ba0e88f50 Wang Liang 2025-08-26 39 struct hlist_head *sk_hlist = get_sk_hashlist(sk);
4bed6ba0e88f50 Wang Liang 2025-08-26 40 struct oecls_sk_rule *rule;
4bed6ba0e88f50 Wang Liang 2025-08-26 41 struct oecls_sk_entry *entry;
4bed6ba0e88f50 Wang Liang 2025-08-26 42
4bed6ba0e88f50 Wang Liang 2025-08-26 43 rule = kzalloc(sizeof(*rule), GFP_ATOMIC);
4bed6ba0e88f50 Wang Liang 2025-08-26 44 entry = kzalloc(sizeof(*entry), GFP_ATOMIC);
4bed6ba0e88f50 Wang Liang 2025-08-26 45 if (!rule || !entry)
4bed6ba0e88f50 Wang Liang 2025-08-26 46 goto out;
4bed6ba0e88f50 Wang Liang 2025-08-26 47
4bed6ba0e88f50 Wang Liang 2025-08-26 48 rule->sk = sk;
4bed6ba0e88f50 Wang Liang 2025-08-26 49 rule->dip4 = dip4;
4bed6ba0e88f50 Wang Liang 2025-08-26 50 rule->dport = dport;
4bed6ba0e88f50 Wang Liang 2025-08-26 51 rule->devid = devid;
4bed6ba0e88f50 Wang Liang 2025-08-26 52 rule->action = action;
4bed6ba0e88f50 Wang Liang 2025-08-26 53 rule->ruleid = ruleid;
4bed6ba0e88f50 Wang Liang 2025-08-26 54 rule->nid = nid;
4bed6ba0e88f50 Wang Liang 2025-08-26 55 hlist_add_head(&rule->node, hlist);
4bed6ba0e88f50 Wang Liang 2025-08-26 56
4bed6ba0e88f50 Wang Liang 2025-08-26 57 entry->sk = sk;
4bed6ba0e88f50 Wang Liang 2025-08-26 58 entry->sk_rule_hash = jhash_2words(dip4, dport, 0);
4bed6ba0e88f50 Wang Liang 2025-08-26 59 hlist_add_head(&entry->node, sk_hlist);
4bed6ba0e88f50 Wang Liang 2025-08-26 60 return;
4bed6ba0e88f50 Wang Liang 2025-08-26 61 out:
4bed6ba0e88f50 Wang Liang 2025-08-26 62 oecls_debug("alloc failed rule:%p entry:%p\n", rule, entry);
4bed6ba0e88f50 Wang Liang 2025-08-26 63 kfree(entry);
4bed6ba0e88f50 Wang Liang 2025-08-26 64 kfree(rule);
4bed6ba0e88f50 Wang Liang 2025-08-26 65 }
4bed6ba0e88f50 Wang Liang 2025-08-26 66
4bed6ba0e88f50 Wang Liang 2025-08-26 67 static struct oecls_sk_entry *get_sk_entry(void *sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 68 {
4bed6ba0e88f50 Wang Liang 2025-08-26 69 struct hlist_head *sk_hlist = get_sk_hashlist(sk);
4bed6ba0e88f50 Wang Liang 2025-08-26 70 struct oecls_sk_entry *entry = NULL;
4bed6ba0e88f50 Wang Liang 2025-08-26 71
4bed6ba0e88f50 Wang Liang 2025-08-26 72 hlist_for_each_entry(entry, sk_hlist, node) {
4bed6ba0e88f50 Wang Liang 2025-08-26 73 if (entry->sk == sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 74 break;
4bed6ba0e88f50 Wang Liang 2025-08-26 75 }
4bed6ba0e88f50 Wang Liang 2025-08-26 76 return entry;
4bed6ba0e88f50 Wang Liang 2025-08-26 77 }
4bed6ba0e88f50 Wang Liang 2025-08-26 78
4bed6ba0e88f50 Wang Liang 2025-08-26 79 static void del_sk_rule(struct oecls_sk_rule *rule)
4bed6ba0e88f50 Wang Liang 2025-08-26 80 {
4bed6ba0e88f50 Wang Liang 2025-08-26 81 struct oecls_sk_entry *entry;
4bed6ba0e88f50 Wang Liang 2025-08-26 82
4bed6ba0e88f50 Wang Liang 2025-08-26 83 entry = get_sk_entry(rule->sk);
4bed6ba0e88f50 Wang Liang 2025-08-26 84 if (!entry)
4bed6ba0e88f50 Wang Liang 2025-08-26 85 return;
4bed6ba0e88f50 Wang Liang 2025-08-26 86 hlist_del_init(&entry->node);
4bed6ba0e88f50 Wang Liang 2025-08-26 87 kfree(entry);
4bed6ba0e88f50 Wang Liang 2025-08-26 88
4bed6ba0e88f50 Wang Liang 2025-08-26 89 oecls_debug("del rule=%p\n", rule);
4bed6ba0e88f50 Wang Liang 2025-08-26 90 hlist_del_init(&rule->node);
4bed6ba0e88f50 Wang Liang 2025-08-26 91 kfree(rule);
4bed6ba0e88f50 Wang Liang 2025-08-26 92 }
4bed6ba0e88f50 Wang Liang 2025-08-26 93
4bed6ba0e88f50 Wang Liang 2025-08-26 94 static struct oecls_sk_rule *get_sk_rule(int devid, u32 dip4, u16 dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 95 {
4bed6ba0e88f50 Wang Liang 2025-08-26 96 struct hlist_head *hlist = get_rule_hashlist(dip4, dport);
4bed6ba0e88f50 Wang Liang 2025-08-26 97 struct oecls_sk_rule *rule = NULL;
4bed6ba0e88f50 Wang Liang 2025-08-26 98
4bed6ba0e88f50 Wang Liang 2025-08-26 99 hlist_for_each_entry(rule, hlist, node) {
4bed6ba0e88f50 Wang Liang 2025-08-26 100 if (rule->devid == devid && rule->dip4 == dip4 && rule->dport == dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 101 break;
4bed6ba0e88f50 Wang Liang 2025-08-26 102 }
4bed6ba0e88f50 Wang Liang 2025-08-26 103 return rule;
4bed6ba0e88f50 Wang Liang 2025-08-26 104 }
4bed6ba0e88f50 Wang Liang 2025-08-26 105
4bed6ba0e88f50 Wang Liang 2025-08-26 106 static struct oecls_sk_rule *get_rule_from_sk(int devid, void *sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 107 {
4bed6ba0e88f50 Wang Liang 2025-08-26 108 struct oecls_sk_rule *rule = NULL;
4bed6ba0e88f50 Wang Liang 2025-08-26 109 struct oecls_sk_entry *entry;
4bed6ba0e88f50 Wang Liang 2025-08-26 110 struct hlist_head *hlist;
4bed6ba0e88f50 Wang Liang 2025-08-26 111
4bed6ba0e88f50 Wang Liang 2025-08-26 112 entry = get_sk_entry(sk);
4bed6ba0e88f50 Wang Liang 2025-08-26 113 if (!entry)
4bed6ba0e88f50 Wang Liang 2025-08-26 114 return NULL;
4bed6ba0e88f50 Wang Liang 2025-08-26 115
4bed6ba0e88f50 Wang Liang 2025-08-26 116 hlist = oecls_sk_rules.hash + (entry->sk_rule_hash & OECLS_SK_RULE_HASHMASK);
4bed6ba0e88f50 Wang Liang 2025-08-26 117 hlist_for_each_entry(rule, hlist, node) {
4bed6ba0e88f50 Wang Liang 2025-08-26 118 if (rule->devid == devid && rule->sk == sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 119 break;
4bed6ba0e88f50 Wang Liang 2025-08-26 120 }
4bed6ba0e88f50 Wang Liang 2025-08-26 121 return rule;
4bed6ba0e88f50 Wang Liang 2025-08-26 122 }
4bed6ba0e88f50 Wang Liang 2025-08-26 123
4bed6ba0e88f50 Wang Liang 2025-08-26 124 static inline bool reuseport_check(int devid, u32 dip4, u16 dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 125 {
4bed6ba0e88f50 Wang Liang 2025-08-26 126 return !!get_sk_rule(devid, dip4, dport);
4bed6ba0e88f50 Wang Liang 2025-08-26 127 }
4bed6ba0e88f50 Wang Liang 2025-08-26 128
4bed6ba0e88f50 Wang Liang 2025-08-26 129 static u32 get_first_ip4_addr(struct net *net)
4bed6ba0e88f50 Wang Liang 2025-08-26 130 {
4bed6ba0e88f50 Wang Liang 2025-08-26 131 struct in_device *in_dev;
4bed6ba0e88f50 Wang Liang 2025-08-26 132 struct net_device *dev;
4bed6ba0e88f50 Wang Liang 2025-08-26 133 struct in_ifaddr *ifa;
4bed6ba0e88f50 Wang Liang 2025-08-26 134 u32 dip4 = 0;
4bed6ba0e88f50 Wang Liang 2025-08-26 135
4bed6ba0e88f50 Wang Liang 2025-08-26 136 rtnl_lock();
4bed6ba0e88f50 Wang Liang 2025-08-26 137 rcu_read_lock();
4bed6ba0e88f50 Wang Liang 2025-08-26 138 for_each_netdev(net, dev) {
4bed6ba0e88f50 Wang Liang 2025-08-26 139 if (dev->flags & IFF_LOOPBACK || !(dev->flags & IFF_UP))
4bed6ba0e88f50 Wang Liang 2025-08-26 140 continue;
4bed6ba0e88f50 Wang Liang 2025-08-26 141 in_dev = __in_dev_get_rcu(dev);
4bed6ba0e88f50 Wang Liang 2025-08-26 142 if (!in_dev)
4bed6ba0e88f50 Wang Liang 2025-08-26 143 continue;
4bed6ba0e88f50 Wang Liang 2025-08-26 144
4bed6ba0e88f50 Wang Liang 2025-08-26 145 in_dev_for_each_ifa_rcu(ifa, in_dev) {
4bed6ba0e88f50 Wang Liang 2025-08-26 146 if (!strcmp(dev->name, ifa->ifa_label)) {
4bed6ba0e88f50 Wang Liang 2025-08-26 @147 dip4 = ifa->ifa_local;
4bed6ba0e88f50 Wang Liang 2025-08-26 148 oecls_debug("dev: %s, dip4:%pI4\n", dev->name, &dip4);
4bed6ba0e88f50 Wang Liang 2025-08-26 149 goto out;
4bed6ba0e88f50 Wang Liang 2025-08-26 150 }
4bed6ba0e88f50 Wang Liang 2025-08-26 151 }
4bed6ba0e88f50 Wang Liang 2025-08-26 152 }
4bed6ba0e88f50 Wang Liang 2025-08-26 153 out:
4bed6ba0e88f50 Wang Liang 2025-08-26 154 rcu_read_unlock();
4bed6ba0e88f50 Wang Liang 2025-08-26 155 rtnl_unlock();
4bed6ba0e88f50 Wang Liang 2025-08-26 156 return dip4;
4bed6ba0e88f50 Wang Liang 2025-08-26 157 }
4bed6ba0e88f50 Wang Liang 2025-08-26 158
4bed6ba0e88f50 Wang Liang 2025-08-26 159 static void get_sk_rule_addr(struct sock *sk, u32 *dip4, u16 *dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 160 {
4bed6ba0e88f50 Wang Liang 2025-08-26 @161 *dport = htons(sk->sk_num);
4bed6ba0e88f50 Wang Liang 2025-08-26 162
4bed6ba0e88f50 Wang Liang 2025-08-26 163 if (!match_ip_flag) {
4bed6ba0e88f50 Wang Liang 2025-08-26 164 *dip4 = 0;
4bed6ba0e88f50 Wang Liang 2025-08-26 165 return;
4bed6ba0e88f50 Wang Liang 2025-08-26 166 }
4bed6ba0e88f50 Wang Liang 2025-08-26 167
4bed6ba0e88f50 Wang Liang 2025-08-26 168 if (sk->sk_rcv_saddr)
4bed6ba0e88f50 Wang Liang 2025-08-26 @169 *dip4 = sk->sk_rcv_saddr;
4bed6ba0e88f50 Wang Liang 2025-08-26 170 else
4bed6ba0e88f50 Wang Liang 2025-08-26 171 *dip4 = get_first_ip4_addr(sock_net(sk));
4bed6ba0e88f50 Wang Liang 2025-08-26 172 }
4bed6ba0e88f50 Wang Liang 2025-08-26 173
:::::: The code at line 14 was first introduced by commit
:::::: 4bed6ba0e88f50484fd5fb06bd993727b981b718 net/oenetcls: introduce oenetcls for network optimization
:::::: TO: Wang Liang <wangliang74(a)huawei.com>
:::::: CC: Wang Liang <wangliang74(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0