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

[PATCH openEuler-1.0-LTS] nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm()
by Li Lingfeng 06 Sep '25
by Li Lingfeng 06 Sep '25
06 Sep '25
From: Jeff Layton <jlayton(a)kernel.org>
mainline inclusion
from mainline-v6.17-rc1
commit 908e4ead7f757504d8b345452730636e298cbf68
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWGI5
CVE: CVE-2025-38724
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Lei Lu recently reported that nfsd4_setclientid_confirm() did not check
the return value from get_client_locked(). a SETCLIENTID_CONFIRM could
race with a confirmed client expiring and fail to get a reference. That
could later lead to a UAF.
Fix this by getting a reference early in the case where there is an
extant confirmed client. If that fails then treat it as if there were no
confirmed client found at all.
In the case where the unconfirmed client is expiring, just fail and
return the result from get_client_locked().
Reported-by: lei lu <llfamsec(a)gmail.com>
Closes: https://lore.kernel.org/linux-nfs/CAEBF3_b=UvqzNKdnfD_52L05Mqrqui9vZ2eFamgA…
Fixes: d20c11d86d8f ("nfsd: Protect session creation and client confirm using client_lock")
Cc: stable(a)vger.kernel.org
Signed-off-by: Jeff Layton <jlayton(a)kernel.org>
Signed-off-by: Chuck Lever <chuck.lever(a)oracle.com>
Conflicts:
fs/nfsd/nfs4state.c
[Commit 237f91c85ace ("NFSD: Add tracepoints for SETCLIENTID edge cases")
removed comments in nfsd4_setclientid_confirm().]
Signed-off-by: Li Lingfeng <lilingfeng3(a)huawei.com>
---
fs/nfsd/nfs4state.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index d5d40aefd0a6..3ff2c23043b6 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -3426,10 +3426,16 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
}
status = nfs_ok;
if (conf) { /* case 1: callback update */
- old = unconf;
- unhash_client_locked(old);
- nfsd4_change_callback(conf, &unconf->cl_cb_conn);
- } else { /* case 3: normal case; new or rebooted client */
+ if (get_client_locked(conf) == nfs_ok) {
+ old = unconf;
+ unhash_client_locked(old);
+ nfsd4_change_callback(conf, &unconf->cl_cb_conn);
+ } else {
+ conf = NULL;
+ }
+ }
+
+ if (!conf) {
old = find_confirmed_client_by_name(&unconf->cl_name, nn);
if (old) {
status = nfserr_clid_inuse;
@@ -3443,10 +3449,14 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
goto out;
}
}
+ status = get_client_locked(unconf);
+ if (status != nfs_ok) {
+ old = NULL;
+ goto out;
+ }
move_to_confirmed(unconf);
conf = unconf;
}
- get_client_locked(conf);
spin_unlock(&nn->client_lock);
nfsd4_probe_callback(conf);
spin_lock(&nn->client_lock);
--
2.31.1
2
1

[PATCH openEuler-1.0-LTS] x86/smp: ignore reboot IPI when stopping_cpu contains value
by Lin Yujun 06 Sep '25
by Lin Yujun 06 Sep '25
06 Sep '25
From: Yipeng Zou <zouyipeng(a)huawei.com>
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICWP3B
CVE: NA
------------------------
Recently, A issue has been reported that CPU hang in x86 VM.
The CPU halted during Kdump likely due to IPI issues when one CPU was
rebooting and another was in Kdump:
CPU0 CPU2
======================== ======================
reboot Panic
machine shutdown Kdump
machine shutdown
stop other cpus
kdump_nmi_shootdown_cpus
... ...
local_irq_disable local_irq_disable
send_IPIs(REBOOT) [critical regions]
[critical regions] 1) send_IPIs(REBOOT)
wait timeout
2) send_IPIs(NMI);
Halt,NMI context
3) lapic_shutdown [IPI is pending]
...
second kernel start
4) init_bsp_APIC [IPI is pending]
...
local irq enable
Halt, IPI context
In simple terms, when the Kdump jump to the second kernel, the IPI that
was pending in the first kernel remains and is responded to by the
second kernel.
As the reboot IPI can only be sent after acquiring @stopping_cpu
by storing the CPU number, this case can be detected when
@stopping_cpu contains the bootup value -1. Just return and
ignore it.
Fixes: 7d007d21e539 ("x86/reboot: Use NMI to assist in shutting down if IRQ fails")
Signed-off-by: Yipeng Zou <zouyipeng(a)huawei.com>
Signed-off-by: Lin Yujun <linyujun809(a)h-partners.com>
---
arch/x86/kernel/smp.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
index b2b87b91f336..07ccda0ad531 100644
--- a/arch/x86/kernel/smp.c
+++ b/arch/x86/kernel/smp.c
@@ -176,6 +176,29 @@ static int smp_stop_nmi_callback(unsigned int val, struct pt_regs *regs)
asmlinkage __visible void smp_reboot_interrupt(void)
{
ipi_entering_ack_irq();
+
+ /*
+ * Handle the case where a reboot IPI is stale in the IRR. This
+ * happens when:
+ *
+ * a CPU crashes with interrupts disabled before handling the
+ * reboot IPI and jumps into a crash kernel. The reboot IPI
+ * vector is kept set in the APIC IRR across the APIC soft
+ * disabled phase and as there is no way to clear a pending IRR
+ * bit, it is delivered to the crash kernel immediately when
+ * interrupts are enabled.
+ *
+ * As the reboot IPI can only be sent after acquiring @stopping_cpu
+ * by storing the CPU number, this case can be detected when
+ * @stopping_cpu contains the bootup value -1. Just return and
+ * ignore it.
+ */
+ if (atomic_read(&stopping_cpu) == -1) {
+ pr_info("Ignoring stale reboot IPI\n");
+ irq_exit();
+ return;
+ }
+
cpu_emergency_vmxoff();
stop_this_cpu(NULL);
irq_exit();
--
2.34.1
2
1

[openeuler:openEuler-1.0-LTS] BUILD REGRESSION e0480ba0432569e9691f36270fde74a39a59fb0c
by kernel test robot 06 Sep '25
by kernel test robot 06 Sep '25
06 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: e0480ba0432569e9691f36270fde74a39a59fb0c !17905 [openEuler-1.0-LTS] perf/zhaoxin/uncore: Enhance uncore support and fix related
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508070154.VYnxHXi4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508070349.2ODYAkPf-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508070424.1zkCZb3G-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508301637.4sfu6N2M-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020546.DO94LENh-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020919.PwhZw5yj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509052100.LAoxUFGM-lkp@intel.com
block/bio-integrity.c:41:6: warning: no previous prototype for function '__bio_integrity_free' [-Wmissing-prototypes]
block/blk-cgroup.c:1851: warning: Function parameter or member 'q' not described in 'blkcg_schedule_throttle'
block/blk-cgroup.c:1851: warning: Function parameter or member 'use_memdelay' not described in 'blkcg_schedule_throttle'
block/blk-cgroup.c:1876: warning: Function parameter or member 'blkg' not described in 'blkcg_add_delay'
block/blk-cgroup.c:1876: warning: Function parameter or member 'delta' not described in 'blkcg_add_delay'
block/blk-cgroup.c:1876: warning: Function parameter or member 'now' not described in 'blkcg_add_delay'
block/blk-mq-sched.c:220:5: warning: no previous prototype for function '__blk_mq_sched_dispatch_requests' [-Wmissing-prototypes]
block/blk-wbt.c:589:6: warning: no previous prototype for function 'wbt_issue' [-Wmissing-prototypes]
block/blk-wbt.c:609:6: warning: no previous prototype for function 'wbt_requeue' [-Wmissing-prototypes]
block/genhd.c:642:5: warning: no previous prototype for function 'disk_scan_partitions' [-Wmissing-prototypes]
crypto/sm4_generic.o: warning: objtool: missing symbol for section .text
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.o: warning: objtool: amdgpu_vmid_grab()+0xd3e: unreachable instruction
fs/debugfs/file.o: warning: objtool: full_proxy_open()+0x55a: unreachable instruction
fs/ext4/mballoc.o: warning: objtool: ext4_mb_complex_scan_group()+0x11a4: unreachable instruction
include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used [-Wunused-function]
kernel/sched/core.c:5976:22: error: use of undeclared identifier 'root_task_group'; did you mean 'task_group'?
kernel/sched/debug.c:990:17: error: no member named 'nr_wakeups_preferred_cpus' in 'struct dyn_affinity_stats'
kernel/sched/debug.c:991:17: error: no member named 'nr_wakeups_force_preferred_cpus' in 'struct dyn_affinity_stats'
mm/.tmp_ioremap.o: warning: objtool: missing symbol for section .text
mm/debug.c:143:21: warning: more '%' conversions than data arguments [-Wformat-insufficient-args]
mm/debug.c:174:3: warning: format specifies type 'void *' but the argument has type 'int' [-Wformat]
mm/debug.c:175:18: warning: format specifies type 'unsigned long' but the argument has type 'const unsigned long *' [-Wformat]
mm/debug.c:175:3: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
mm/early_ioremap.o: warning: objtool: missing symbol for section .text
mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes]
mm/ioremap.o: warning: objtool: missing symbol for section .text
mm/khugepaged.c:1387: warning: Function parameter or member 'reliable' not described in 'collapse_shmem'
mm/maccess.c:85:6: warning: no previous prototype for function '__probe_user_read' [-Wmissing-prototypes]
mm/memory.c:1546:10: error: implicit declaration of function 'hugetlb_insert_hugepage_pte_by_pa'; did you mean 'hugetlb_insert__hugepage_pte_by_pa'? [-Werror=implicit-function-declaration]
mm/vmscan.c:3257:21: error: implicit declaration of function 'kernel_swap_enabled' [-Werror,-Wimplicit-function-declaration]
mm/vmscan.c:3257:21: error: implicit declaration of function 'kernel_swap_enabled'; did you mean 'kernfs_ns_enabled'? [-Werror=implicit-function-declaration]
Unverified Error/Warning (likely false positive, kindly check if interested):
arch/x86/platform/uv/tlb_uv.c:1674:37: warning: unused variable 'proc_uv_ptc_operations' [-Wunused-const-variable]
block/bfq-cgroup.o: warning: objtool: missing symbol for section .text
block/blk-mq-rdma.o: warning: objtool: missing symbol for section .text
block/cmdline-parser.o: warning: objtool: missing symbol for section .text
block/ioctl.o: warning: objtool: missing symbol for section .text
block/partitions/check.o: warning: objtool: missing symbol for section .text
block/scsi_ioctl.o: warning: objtool: missing symbol for section .text
crypto/asymmetric_keys/mscode_parser.o: warning: objtool: missing symbol for section .text
drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.o: warning: objtool: missing symbol for section .text
drivers/infiniband/sw/rxe/rxe_mr.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/isdn/mISDN/dsp_cmx.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/isdn/mISDN/dsp_hwec.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/media/pci/cx25821/cx25821-core.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/media/platform/xilinx/xilinx-vip.o: warning: objtool: missing symbol for section .text
drivers/misc/sgi-gru/gruprocfs.c:274:37: warning: unused variable 'statistics_fops' [-Wunused-const-variable]
drivers/misc/sgi-gru/gruprocfs.c:282:37: warning: unused variable 'mcs_statistics_fops' [-Wunused-const-variable]
drivers/misc/sgi-gru/gruprocfs.c:290:37: warning: unused variable 'options_fops' [-Wunused-const-variable]
drivers/misc/sgi-gru/gruprocfs.o: warning: objtool: missing symbol for section .text
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c:854:5: warning: 'new_state' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/net/can/usb/peak_usb/pcan_usb_core.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/net/ethernet/agere/et131x.c:1310:16: warning: 'reg' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/net/ethernet/mellanox/mlx5/core/en_dim.o: warning: objtool: missing symbol for section .text
drivers/net/ethernet/netronome/nfp/abm/ctrl.o: warning: objtool: missing symbol for section .text
drivers/net/ethernet/netronome/nfp/nfp_app.o: warning: objtool: missing symbol for section .text
drivers/net/wireless/ath/ath6kl/hif.o: warning: objtool: missing symbol for section .text
drivers/net/wireless/ath/ath6kl/init.o: warning: objtool: missing symbol for section .text
drivers/net/wireless/mediatek/mt76/mt76x2_eeprom.c:569:37: warning: 'data[2]' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/net/wireless/rsi/rsi_91x_sdio.c:1223:7: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/net/wireless/rsi/rsi_91x_sdio.c:237:12: warning: 'resp' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/nvdimm/label.o: warning: objtool: nd_blk_namespace_label_update()+0x1326: unreachable instruction
drivers/pinctrl/core.c:1338: error: Cannot parse struct or union!
drivers/scsi/qla2xxx/qla_nx2.c:1193:39: warning: 'agt_ctrl' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:2235:25: warning: 'read_value' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:2413:37: warning: 'r_data' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:2507:48: warning: 'c_value_r' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:3034:35: warning: 'temp' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:3084:37: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:3193:30: warning: 'r_value' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:3712:9: warning: 'spi_val' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:695:17: warning: 'value' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/tty/tty_buffer.c:170:2: error: implicit declaration of function 'printk_safe_enter'; did you mean 'printk_nmi_enter'? [-Werror=implicit-function-declaration]
drivers/tty/tty_buffer.c:172:2: error: implicit declaration of function 'printk_safe_exit'; did you mean 'printk_nmi_exit'? [-Werror=implicit-function-declaration]
drivers/xen/xen-pciback/conf_space_quirks.o: warning: objtool: missing symbol for section .text
include/linux/list.h:63:20: warning: storing the address of local variable 'wait' in '((struct list_head *)x)[1].prev' [-Wdangling-pointer=]
include/linux/list.h:63:20: warning: storing the address of local variable 'waiter' in '*(struct list_head *)((char *)sem + 8).prev' [-Wdangling-pointer=]
include/linux/printk.h:346:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
include/linux/signal.h:180:29: warning: this statement may fall through [-Wimplicit-fallthrough=]
include/linux/spinlock.h:279:3: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
include/linux/string.h:430:24: warning: '__builtin_strcpy' source argument is the same as destination [-Wrestrict]
include/scsi/scsi_cmnd.h:333:12: warning: 'scsi_cmnd' may be used uninitialized in this function [-Wmaybe-uninitialized]
init/calibrate.c:271:28: warning: no previous prototype for 'calibration_delay_done' [-Wmissing-prototypes]
kernel/time/posix-cpu-timers.c:1023:3: warning: 'now' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/debug.o: warning: objtool: missing symbol for section .text.unlikely.
mm/hugetlb_cgroup.o: warning: objtool: missing symbol for section .init.text
mm/memcontrol.c:6287: warning: bad line: | 0, otherwise.
mm/memcontrol.o: warning: objtool: missing symbol for section .text.unlikely.
mm/page_ext.o: warning: objtool: missing symbol for section .init.text
mm/page_owner.o: warning: objtool: missing symbol for section .text.unlikely.
mm/rmap.c:906:17: warning: variable 'cstart' set but not used [-Wunused-but-set-variable]
mm/rodata_test.o: warning: objtool: missing symbol for section .text
mm/swap_state.o: warning: objtool: missing symbol for section .text.unlikely.
net/9p/client.c:534:24: warning: 'type' may be used uninitialized in this function [-Wmaybe-uninitialized]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_deinit_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_detach
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_stop
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_init_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:variable-fault_level-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:variable-pcie_src-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_io_flush.c:error:no-previous-prototype-for-sss_hwdev_flush_io
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_mgmt_info.c:error:no-previous-prototype-for-sss_deinit_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_mgmt_info.c:error:no-previous-prototype-for-sss_init_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:error:no-previous-prototype-for-sss_sync_send_adm_msg
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_complete_adm_event
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_hwif_deinit_adm
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_hwif_init_adm
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:error:no-previous-prototype-for-sss_ceq_intr_handle
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:error:no-previous-prototype-for-sss_init_ceqe_desc
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_ctrlq_flush_sync_cmd
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_deinit_ctrlq
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_deinit_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_init_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_reinit_ctrlq_ctx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_wait_ctrlq_stop
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_alloc_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_chip_set_msix_auto_mask
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_chip_set_msix_state
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_free_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_func_type
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_glb_pf_vf_offset
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_global_func_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_pcie_itf_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_pf_id_of_vf
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_ppf_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_irq.c:error:no-previous-prototype-for-sss_deinit_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_irq.c:error:no-previous-prototype-for-sss_init_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_hwif_deinit_mbx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_hwif_init_mbx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_init_func_mbx_msg
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_recv_mbx_aeq_handler
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_flush_mgmt_workq
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_force_complete_all
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_mgmt_msg_aeqe_handler
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_error.c:error:no-previous-prototype-for-sss_detect_pci_error
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_attach_is_enable
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_get_uld_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_get_uld_names
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_init_uld_lock
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_lock_uld
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_unlock_uld
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_probe.c:error:no-previous-prototype-for-sss_attach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_probe.c:error:no-previous-prototype-for-sss_pci_probe
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_adapter
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_function
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_pci_dev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_detach_all_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_detach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_dettach_uld_dev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_pci_remove
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_unmap_pci_bar
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_shutdown.c:error:no-previous-prototype-for-sss_pci_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool.c:error:no-previous-prototype-for-sss_nic_set_ethtool_ops
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.c:error:no-previous-prototype-for-sss_nic_get_strings
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_filter.c:error:no-previous-prototype-for-sss_nic_set_rx_mode_work
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-sss_nic_release_qp_irq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-sss_nic_request_qp_irq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-get_nic_uld_info
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-sss_nic_port_module_link_err
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:error:no-previous-prototype-for-sss_nic_set_netdev_ops
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_delete_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_get_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_update_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_rx_flow_rule
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_tcam
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_tcam_list
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_alloc_rq_res_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_free_rq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_free_rq_res_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_init_rq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_reset_rx_rss
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_update_rx_rss
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_alloc_sq_resource
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_flush_all_sq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_free_sq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_free_sq_resource
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_init_all_sq
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
|-- arm64-allnoconfig
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-wait-in-((struct-list_head-)x)-.prev
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-waiter-in-(struct-list_head-)((char-)sem-).prev
| |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-001-20250705
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-tty-tty_buffer.c:error:implicit-declaration-of-function-printk_safe_enter
| |-- drivers-tty-tty_buffer.c:error:implicit-declaration-of-function-printk_safe_exit
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-001-20250905
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-kmemleak.c:error:implicit-declaration-of-function-printk_safe_enter
| |-- mm-kmemleak.c:error:implicit-declaration-of-function-printk_safe_exit
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-002-20250905
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-003-20250830
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- arm64-randconfig-003-20250905
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-004-20250702
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| `-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
|-- arm64-randconfig-004-20250704
| |-- drivers-net-can-usb-kvaser_usb-kvaser_usb_hydra.c:warning:new_state-may-be-used-uninitialized-in-this-function
| |-- drivers-net-ethernet-agere-et131x.c:warning:reg-may-be-used-uninitialized-in-this-function
| |-- drivers-net-wireless-mediatek-mt76-mt76x2_eeprom.c:warning:data-may-be-used-uninitialized-in-this-function
| |-- drivers-net-wireless-rsi-rsi_91x_sdio.c:warning:data-may-be-used-uninitialized-in-this-function
| |-- drivers-net-wireless-rsi-rsi_91x_sdio.c:warning:resp-may-be-used-uninitialized-in-this-function
| |-- include-scsi-scsi_cmnd.h:warning:scsi_cmnd-may-be-used-uninitialized-in-this-function
| |-- kernel-time-posix-cpu-timers.c:warning:now-may-be-used-uninitialized-in-this-function
| `-- net-9p-client.c:warning:type-may-be-used-uninitialized-in-this-function
|-- arm64-randconfig-004-20250729
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:agt_ctrl-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:c_value_r-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:data-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:r_data-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:r_value-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:read_value-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:spi_val-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:temp-may-be-used-uninitialized-in-this-function
| `-- drivers-scsi-qla2xxx-qla_nx2.c:warning:value-may-be-used-uninitialized-in-this-function
|-- arm64-randconfig-004-20250903
| `-- include-linux-string.h:warning:__builtin_strcpy-source-argument-is-the-same-as-destination
|-- arm64-randconfig-004-20250905
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-kmemleak.c:error:implicit-declaration-of-function-printk_safe_enter
| |-- mm-kmemleak.c:error:implicit-declaration-of-function-printk_safe_exit
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-r063-20250818
| `-- include-linux-spinlock.h:warning:flags-may-be-used-uninitialized-in-this-function
|-- arm64-randconfig-r121-20250728
| |-- block-blk-cgroup.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-address-spaces):
| |-- block-blk-merge.c:sparse:sparse:symbol-blk_try_req_merge-was-not-declared.-Should-it-be-static
| |-- crypto-authenc.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-authencesn.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-ccm.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-cryptd.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-echainiv.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-gcm.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-gcm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-a-got-restricted-__be64-usertype
| |-- crypto-gcm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-b-got-restricted-__be64-usertype
| |-- crypto-hmac.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-seqiv.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-shash.c:sparse:sparse:Variable-length-array-is-used.
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_debugfs.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-signed-int-noderef-asn-got-signed-int-usertype
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_debugfs.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-int-noderef-asn-got-unsigned-int-usertype
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ring.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-int-noderef-asn-got-unsigned-int-usertype
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ttm.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-int-noderef-asn-got-unsigned-int-usertype
| |-- drivers-gpu-drm-ast-ast_fb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-gpu-drm-cirrus-cirrus_fbdev.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-gpu-drm-cirrus-cirrus_fbdev.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-char-noderef-asn-screen_base-got-void-assigned-sysram
| |-- drivers-gpu-drm-radeon-radeon_ttm.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-int-noderef-asn-got-unsigned-int-usertype
| |-- drivers-pci-controller-dwc-pcie-hisi.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-priv-got-void-noderef-asn-assigned-reg_base
| |-- drivers-pci-controller-dwc-pcie-hisi.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-noderef-asn-reg_base-got-void-priv
| |-- drivers-pci-controller-pci-xgene.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-void
| |-- drivers-pci-controller-pci-xgene.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-void-bar_addr
| |-- drivers-pci-controller-pci-xgene.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-bar_addr-got-void-noderef-asn
| |-- fs-dax.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-addressable-slot
| |-- fs-dax.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- fs-dax.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slotp-got-void
| |-- fs-fs-writeback.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- fs-fs-writeback.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-slot-got-void-noderef-asn
| |-- include-asm-generic-io.h:sparse:sparse:cast-to-restricted-__le16
| |-- include-asm-generic-io.h:sparse:sparse:cast-to-restricted-__le32
| |-- include-asm-generic-io.h:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-val-got-restricted-__le32-usertype
| |-- include-asm-generic-io.h:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-short-usertype-val-got-restricted-__le16-usertype
| |-- include-crypto-cbc.h:sparse:sparse:Variable-length-array-is-used.
| |-- include-trace-events-vmscan.h:sparse:sparse:restricted-isolate_mode_t-degrades-to-integer
| |-- init-do_mounts.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dev_name-got-char
| |-- init-do_mounts.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dev_name-got-char-name
| |-- init-do_mounts.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dir_name-got-char
| |-- init-do_mounts.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-type-got-char-fs
| |-- init-do_mounts_initrd.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dev_name-got-char
| |-- init-do_mounts_initrd.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dir_name-got-char
| |-- init-initramfs.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-const-noderef-asn-buf-got-char-const-p
| |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-addr-got-void-noderef-asn-mem_base
| |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-noderef-asn-mem_base-got-void
| |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-virt_base-got-void-noderef-asn-mem_base
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-addressable-slot
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-pagep
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slotp-got-void
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-pagep-got-void-noderef-asn
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-slot-got-void-noderef-asn
| |-- mm-huge_memory.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-pslot
| |-- mm-huge_memory.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-pslot-got-void-noderef-asn
| |-- mm-khugepaged.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- mm-khugepaged.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-slot-got-void-noderef-asn
| |-- mm-maccess.c:sparse:sparse:symbol-__probe_user_read-was-not-declared.-Should-it-be-static
| |-- mm-memory.c:sparse:sparse:Using-plain-integer-as-NULL-pointer
| |-- mm-migrate.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-pslot
| |-- mm-migrate.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-pslot-got-void-noderef-asn
| |-- mm-page-writeback.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- mm-page-writeback.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-slot-got-void-noderef-asn
| |-- mm-truncate.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-addressable-slot
| |-- mm-truncate.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slotp-got-void
| |-- mm-vmstat.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-short-noderef-usertype-asn-got-unsigned-short
| `-- mm-workingset.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-arg-got-void-noderef-asn
|-- arm64-randconfig-r121-20250729
| |-- crypto-algif_aead.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-algif_hash.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-xcbc.c:sparse:sparse:Variable-length-array-is-used.
| |-- drivers-crypto-cavium-cpt-cptvf_main.c:sparse:sparse:symbol-cptvf_device_init-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_mbox.c:sparse:sparse:symbol-cptvf_mbox_send_ack-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_mbox.c:sparse:sparse:symbol-cptvf_mbox_send_nack-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-do_post_process-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-do_request_cleanup-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-send_cpt_command-was-not-declared.-Should-it-be-static
| |-- drivers-gpu-drm-mgag200-mgag200_cursor.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-asn-addr-got-void
| |-- drivers-gpu-drm-mgag200-mgag200_cursor.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-gpu-drm-mgag200-mgag200_fb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-irqchip-irq-mbigen.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-chip_data-got-void-noderef-asn-base
| |-- drivers-irqchip-irq-mbigen.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-noderef-asn-base-got-void-chip_data
| |-- drivers-power-reset-xgene-reboot.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-void-csr
| |-- drivers-power-reset-xgene-reboot.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-csr-got-void-noderef-asn
| |-- drivers-tty-synclinkmp.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-unsigned-char-usertype-memory_base
| |-- fs-file.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-new_fds-got-struct-file-noderef-asn-fd
| |-- fs-proc-etmem_scan.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-noderef-asn-buf-got-void-buf
| |-- include-linux-bpf-cgroup.h:sparse:sparse:Using-plain-integer-as-NULL-pointer
| |-- include-trace-events-vmscan.h:sparse:sparse:cast-to-restricted-isolate_mode_t
| |-- kernel-sys.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-int-noderef-asn-noderef-asn-got-int-noderef-asn-tid_addr
| |-- kernel-trace-ftrace.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-ftrace_ops-ops-got-struct-ftrace_ops-noderef-asn-static-addressable-toplevel-ftrace_ops_list
| `-- mm-page_alloc.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-restricted-gfp_t-usertype-flags-got-unsigned-int
|-- x86_64-allnoconfig
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-allyesconfig
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-.tmp_ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-buildonly-randconfig-001-20250401
| `-- drivers-nvdimm-label.o:warning:objtool:nd_blk_namespace_label_update:unreachable-instruction
|-- x86_64-buildonly-randconfig-001-20250718
| |-- block-cmdline-parser.o:warning:objtool:missing-symbol-for-section-.text
| `-- mm-swap_state.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-001-20250827
| |-- drivers-infiniband-sw-rxe-rxe_mr.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- drivers-net-ethernet-mellanox-mlx5-core-en_dim.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-net-ethernet-netronome-nfp-abm-ctrl.o:warning:objtool:missing-symbol-for-section-.text
| `-- drivers-xen-xen-pciback-conf_space_quirks.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-001-20250905
| |-- block-bfq-cgroup.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
| |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
| |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
| |-- block-partitions-check.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-scsi_ioctl.o:warning:objtool:missing-symbol-for-section-.text
| |-- crypto-asymmetric_keys-mscode_parser.o:warning:objtool:missing-symbol-for-section-.text
| |-- crypto-sm4_generic.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-002-20250806
| |-- arch-x86-platform-uv-tlb_uv.c:warning:unused-variable-proc_uv_ptc_operations
| |-- drivers-misc-sgi-gru-gruprocfs.c:warning:unused-variable-mcs_statistics_fops
| |-- drivers-misc-sgi-gru-gruprocfs.c:warning:unused-variable-options_fops
| |-- drivers-misc-sgi-gru-gruprocfs.c:warning:unused-variable-statistics_fops
| `-- drivers-misc-sgi-gru-gruprocfs.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-002-20250827
| |-- crypto-asymmetric_keys-mscode_parser.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-media-platform-xilinx-xilinx-vip.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-net-wireless-ath-ath6kl-hif.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-net-wireless-ath-ath6kl-init.o:warning:objtool:missing-symbol-for-section-.text
| `-- mm-hugetlb_cgroup.o:warning:objtool:missing-symbol-for-section-.init.text
|-- x86_64-buildonly-randconfig-002-20250905
| |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
| |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
| |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- kernel-sched-core.c:error:use-of-undeclared-identifier-root_task_group
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-buildonly-randconfig-003-20250207
| `-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- x86_64-buildonly-randconfig-003-20250704
| `-- mm-page_owner.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-003-20250711
| |-- block-ioctl.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-partitions-check.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-scsi_ioctl.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-gpu-drm-amd-amdkfd-kfd_process_queue_manager.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-debug.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- mm-memcontrol.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- mm-page_ext.o:warning:objtool:missing-symbol-for-section-.init.text
| `-- mm-rodata_test.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-004-20250905
| |-- block-bfq-cgroup.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
| |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
| |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memcontrol.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- mm-page_ext.o:warning:objtool:missing-symbol-for-section-.init.text
| |-- mm-page_owner.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-swap_state.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-005-20241216
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-005-20250714
| |-- block-bfq-cgroup.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-blk-mq-rdma.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-isdn-mISDN-dsp_cmx.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- drivers-isdn-mISDN-dsp_hwec.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| `-- drivers-net-can-usb-peak_usb-pcan_usb_core.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-005-20250806
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
| `-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
|-- x86_64-buildonly-randconfig-005-20250820
| `-- mm-early_ioremap.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-005-20250827
| |-- drivers-media-pci-cx25821-cx25821-core.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| `-- drivers-net-ethernet-netronome-nfp-nfp_app.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-005-20250905
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-006-20250620
| `-- kernel-sched-core.c:error:use-of-undeclared-identifier-root_task_group
|-- x86_64-randconfig-101-20241223
| `-- fs-ext4-mballoc.o:warning:objtool:ext4_mb_complex_scan_group:unreachable-instruction
|-- x86_64-randconfig-103-20250219
| |-- kernel-sched-debug.c:error:no-member-named-nr_wakeups_force_preferred_cpus-in-struct-dyn_affinity_stats
| `-- kernel-sched-debug.c:error:no-member-named-nr_wakeups_preferred_cpus-in-struct-dyn_affinity_stats
|-- x86_64-randconfig-103-20250305
| `-- drivers-gpu-drm-amd-amdgpu-amdgpu_ids.o:warning:objtool:amdgpu_vmid_grab:unreachable-instruction
|-- x86_64-randconfig-122-20241226
| `-- fs-debugfs-file.o:warning:objtool:full_proxy_open:unreachable-instruction
|-- x86_64-randconfig-r112-20250311
| |-- mm-debug.c:warning:format-specifies-type-int-but-the-argument-has-type-unsigned-long
| |-- mm-debug.c:warning:format-specifies-type-unsigned-long-but-the-argument-has-type-const-unsigned-long
| |-- mm-debug.c:warning:format-specifies-type-void-but-the-argument-has-type-int
| `-- mm-debug.c:warning:more-conversions-than-data-arguments
`-- x86_64-rhel-9.4-rust
|-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
|-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
|-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
|-- mm-memcontrol.c:warning:bad-line:otherwise.
`-- mm-rmap.c:warning:variable-cstart-set-but-not-used
elapsed time: 1178m
configs tested: 16
configs skipped: 115
tested configs:
arm64 allmodconfig gcc-15.1.0
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250905 gcc-8.5.0
arm64 randconfig-002-20250905 gcc-8.5.0
arm64 randconfig-003-20250905 gcc-7.5.0
arm64 randconfig-004-20250905 gcc-8.5.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250905 clang-20
x86_64 buildonly-randconfig-002-20250905 clang-20
x86_64 buildonly-randconfig-003-20250905 gcc-13
x86_64 buildonly-randconfig-004-20250905 clang-20
x86_64 buildonly-randconfig-005-20250905 clang-20
x86_64 buildonly-randconfig-006-20250905 gcc-13
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10] BUILD REGRESSION e964c55e75d7789c1f1b7f1ac3ec844889ed0845
by kernel test robot 06 Sep '25
by kernel test robot 06 Sep '25
06 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: e964c55e75d7789c1f1b7f1ac3ec844889ed0845 !17912 net/mlx5: Check device memory pointer before usage
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202509020441.cS6vg9iy-lkp@intel.com
../lib/gcc/aarch64-linux/5.5.0/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
../lib/gcc/aarch64-linux/5.5.0/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
../lib/gcc/aarch64-linux/5.5.0/plugin/include/gimple.h:2556:18: error: 'is_gimple_reg' was not declared in this scope; did you mean 'is_gimple_assign'?
../lib/gcc/aarch64-linux/5.5.0/plugin/include/gimple.h:2790:10: error: 'gimple_call_addr_fndecl' was not declared in this scope; did you mean 'gimple_call_set_fndecl'?
../lib/gcc/aarch64-linux/5.5.0/plugin/include/gimple.h:283:22: error: field 'call_used' has incomplete type 'pt_solution'
../lib/gcc/aarch64-linux/5.5.0/plugin/include/gimple.h:284:22: error: field 'call_clobbered' has incomplete type 'pt_solution'
block/bfq-cgroup.c:1427:6: warning: no previous prototype for 'bfqg_and_blkg_get' [-Wmissing-prototypes]
block/bfq-cgroup.c:1459:6: warning: no previous prototype for function 'bfqg_and_blkg_get' [-Wmissing-prototypes]
block/bfq-cgroup.c:692: warning: Excess function parameter 'blkcg' description in '__bfq_bic_change_cgroup'
block/bfq-cgroup.c:692: warning: Function parameter or member 'bfqg' not described in '__bfq_bic_change_cgroup'
crypto/af_alg.c:742: warning: Function parameter or member 'min' not described in 'af_alg_wait_for_data'
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:546:5: error: no previous prototype for function 'ps3_pci_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:900:5: error: no previous prototype for function 'ps3_pci_init_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:946:6: error: no previous prototype for function 'ps3_pci_init_complete_exit' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1060:5: error: no previous prototype for function 'ps3_dump_context_show' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:41:19: error: unused function 'time_for_log' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:65:19: error: unused function 'time_for_file_name' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:160:5: error: no previous prototype for function 'ps3_dump_file_write' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:201:5: error: no previous prototype for function 'ps3_dump_file_close' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:29:5: error: no previous prototype for function 'ps3_dump_local_time' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:51:5: error: no previous prototype for function 'ps3_dump_filename_build' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:77:5: error: no previous prototype for function 'ps3_dump_file_open' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:132:6: error: no previous prototype for function 'ps3_trigger_irq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:244:5: error: no previous prototype for function 'ps3_resp_status_convert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:404:6: error: no previous prototype for function 'ps3_io_recv_ok_stat_inc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:86:6: error: no previous prototype for function 'ps3_cmd_stat_content_clear' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_debug.c:884:5: error: no previous prototype for function 'ps3_dump_dir_length' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1582:5: error: no previous prototype for function 'ps3_scsi_private_init_pd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1664:5: error: no previous prototype for function 'ps3_scsi_private_init_vd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1633:5: error: no previous prototype for function 'ps3_sas_expander_phys_refresh' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:148:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_hba' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:37:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_switch' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:89:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_raid' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:308:5: error: no previous prototype for function 'ps3_hard_reset_to_ready' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:786:6: error: no previous prototype for function 'ps3_clean_mgr_cmd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: unused variable 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: unused variable 'PS3_INTERRUPT_CMD_ENABLE_MSIX' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: unused variable 'PS3_INTERRUPT_MASK_DISABLE' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: unused variable 'PS3_INTERRUPT_STATUS_EXIST_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:26:27: error: unused variable 'PS3_INTERRUPT_CLEAR_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: unused variable 'PS3_SSD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:29:27: error: unused variable 'PS3_HDD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_module_para.c:610:14: error: no previous prototype for function 'ps3_cli_ver_query' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1059:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2020:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2041:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2101:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:212:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2464:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2828:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2937:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3024:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3280:15: error: no previous prototype for function 'ps3_raid_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3335:6: error: no previous prototype for function 'ps3_qos_mgrq_resend' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:336:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3479:6: error: no previous prototype for function 'ps3_raid_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:352:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:364:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3822:15: error: no previous prototype for function 'ps3_raid_qos_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:750:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:877:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:893:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1174:5: error: no previous prototype for function 'ps3_range_check_and_insert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1232:5: error: no previous prototype for function 'ps3_r1x_hash_range_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1313:6: error: no previous prototype for function 'ps3_r1x_hash_range_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:579:5: error: no previous prototype for function 'ps3_r1x_hash_bit_check' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:679:6: error: no previous prototype for function 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:731:5: error: no previous prototype for function 'ps3_r1x_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:989:6: error: no previous prototype for function 'ps3_r1x_hash_bit_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:155:6: error: no previous prototype for function 'rbtDelNodeDo' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:205:6: error: no previous prototype for function 'ps3_recovery_irq_queue_destroy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2701:6: error: no previous prototype for function 'ps3_hard_recovery_state_finish' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:364:5: error: no previous prototype for function 'ps3_recovery_state_transfer' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:73:30: error: no previous prototype for function 'ps3_recovery_context_alloc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:83:6: error: no previous prototype for function 'ps3_recovery_context_free' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:89:6: error: no previous prototype for function 'ps3_recovery_context_delete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:408:5: error: no previous prototype for function 'ps3_sas_update_phy_info' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1111:5: error: no previous prototype for function 'ps3_wait_for_outstanding_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:877:6: error: no previous prototype for function 'ps3_set_task_manager_busy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsih.c:1959:1: error: unused function 'ps3_scsih_dev_id_get' [-Werror,-Wunused-function]
mm/compaction.c:56:18: warning: 'HPAGE_FRAG_CHECK_INTERVAL_MSEC' defined but not used [-Wunused-const-variable=]
mm/filemap.c:823:14: warning: no previous prototype for function '__add_to_page_cache_locked' [-Wmissing-prototypes]
mm/filemap.c:830:14: warning: no previous prototype for '__add_to_page_cache_locked' [-Wmissing-prototypes]
mm/page_alloc.c:3480:15: warning: no previous prototype for 'should_fail_alloc_page' [-Wmissing-prototypes]
mm/page_alloc.c:6794:23: warning: no previous prototype for 'arch_memmap_init' [-Wmissing-prototypes]
Unverified Error/Warning (likely false positive, kindly check if interested):
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.o: warning: objtool: acquire_queue() falls through to next function asan.module_ctor()
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allnoconfig
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-arch_memmap_init
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- arm64-randconfig-001-20250830
| `-- mm-compaction.c:warning:HPAGE_FRAG_CHECK_INTERVAL_MSEC-defined-but-not-used
|-- arm64-randconfig-002-20250321
| |-- lib-gcc-aarch64-linux-..-plugin-include-config-elfos.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-defaults.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_clobbered-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_used-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:gimple_call_addr_fndecl-was-not-declared-in-this-scope
| `-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:is_gimple_reg-was-not-declared-in-this-scope
|-- arm64-randconfig-002-20250901
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_phys_id_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_reg_test
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_fc_autoneg_localcap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_ring_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_crc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_max_mem_window_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_pfc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rate_limiter_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rx_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_data_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_desc_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_ring_rate_factor_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_auto_clear_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_autoneg_disable_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_mac_addr_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_requested_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_high_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_low_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_port_mask_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rule_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rules_table_reinit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_mask_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_channel_state_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_drv_status_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ack_header_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ov_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_status_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_is_fw_over_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_release
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_rcv
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_header_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_send_done
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_cause_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_fc_autoneg_disabled
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_link_state_up
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_pad_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_txrx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_mem_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_nic_reset
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_no_snoop_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pcie_vt_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_read_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_write_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pf_rst_done_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pfc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_mac_anti_spoof_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_ring_drop_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_is_rx_timestamp_valid
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_tx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rcv_msg_from_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_auto_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_key_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_reg_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_off
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_on
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_ctrl_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_lro_ctrl_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_drop_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ack_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_multi_ring_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_nfs_filter_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pkt_buf_size_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_queue_desc_reg_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_udp_frag_checksum_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_send_msg_to_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_spoof_count_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_regs_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_seq_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_size_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_thresh_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_head_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_info_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_tail_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_insert_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_tag_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_ack_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_req_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_rst_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_pool_filter_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_tag_strip_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlvf_slot_find
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_ctrl_cfg
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_pool_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_dcb
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_rss
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_lsc_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_mailbox_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_msi_irq_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-sxe_allow_inval_mac
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-sxe_multispeed_sfp_link_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_headers_cleanup
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_rx_buffer_page_offset_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-sxe_set_vf_link_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-sxe_txrx_ring_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_32bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_36bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_reset
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_stop
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_disable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_link_state_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_packet_stats_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_ack_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_req_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_stats_init_value_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-sxevf_rx_ring_buffers_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_free
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-else-statement
| `-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-if-statement
|-- arm64-randconfig-003-20250806
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| `-- block-bfq-cgroup.c:warning:no-previous-prototype-for-bfqg_and_blkg_get
|-- x86_64-allnoconfig
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-allyesconfig
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete_exit-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-function-ps3_dump_context_show-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_file_name-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_log-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_close-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_open-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_write-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_filename_build-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_local_time-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_resp_status_convert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_trigger_irq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_cmd_stat_content_clear-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_io_recv_ok_stat_inc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-function-ps3_dump_dir_length-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_pd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_vd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-function-ps3_sas_expander_phys_refresh-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_hba-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_raid-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_switch-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-function-ps3_hard_reset_to_ready-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-function-ps3_clean_mgr_cmd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_HDD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CLEAR_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_ENABLE_MSIX-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_MASK_DISABLE-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_STATUS_EXIST_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_SSD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-function-ps3_cli_ver_query-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_cmd_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_reset-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clean-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_all_pd_rc_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_cmd_waitq_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_exclusive_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_mgrq_resend-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_pd_waitq_ratio_update-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_tg_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_vd_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_conflict_queue_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_check-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_range_check_and_insert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-function-rbtDelNodeDo-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_hard_recovery_state_finish-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_alloc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_delete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_irq_queue_destroy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_state_transfer-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-function-ps3_sas_update_phy_info-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_set_task_manager_busy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_wait_for_outstanding_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsih.c:error:unused-function-ps3_scsih_dev_id_get-Werror-Wunused-function
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-001-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-function-bfqg_and_blkg_get
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-002-20250806
| `-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|-- x86_64-buildonly-randconfig-002-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-function-bfqg_and_blkg_get
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-003-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-bfqg_and_blkg_get
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-arch_memmap_init
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-buildonly-randconfig-004-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-function-bfqg_and_blkg_get
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-005-20250905
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-006-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-bfqg_and_blkg_get
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-arch_memmap_init
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-defconfig
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-arch_memmap_init
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-randconfig-123-20250722
| `-- drivers-gpu-drm-amd-amdgpu-amdgpu_amdkfd_gfx_v7.o:warning:objtool:acquire_queue-falls-through-to-next-function-asanmodule_ctor()
|-- x86_64-randconfig-161-20250906
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
`-- x86_64-rhel-9.4-rust
`-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
elapsed time: 1183m
configs tested: 16
configs skipped: 115
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250905 clang-22
arm64 randconfig-002-20250905 clang-17
arm64 randconfig-003-20250905 clang-17
arm64 randconfig-004-20250905 clang-22
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250905 clang-20
x86_64 buildonly-randconfig-002-20250905 clang-20
x86_64 buildonly-randconfig-003-20250905 gcc-13
x86_64 buildonly-randconfig-004-20250905 clang-20
x86_64 buildonly-randconfig-005-20250905 clang-20
x86_64 buildonly-randconfig-006-20250905 gcc-13
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH OLK-6.6] nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm()
by Li Lingfeng 06 Sep '25
by Li Lingfeng 06 Sep '25
06 Sep '25
From: Jeff Layton <jlayton(a)kernel.org>
mainline inclusion
from mainline-v6.17-rc1
commit 908e4ead7f757504d8b345452730636e298cbf68
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWGI5
CVE: CVE-2025-38724
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Lei Lu recently reported that nfsd4_setclientid_confirm() did not check
the return value from get_client_locked(). a SETCLIENTID_CONFIRM could
race with a confirmed client expiring and fail to get a reference. That
could later lead to a UAF.
Fix this by getting a reference early in the case where there is an
extant confirmed client. If that fails then treat it as if there were no
confirmed client found at all.
In the case where the unconfirmed client is expiring, just fail and
return the result from get_client_locked().
Reported-by: lei lu <llfamsec(a)gmail.com>
Closes: https://lore.kernel.org/linux-nfs/CAEBF3_b=UvqzNKdnfD_52L05Mqrqui9vZ2eFamgA…
Fixes: d20c11d86d8f ("nfsd: Protect session creation and client confirm using client_lock")
Cc: stable(a)vger.kernel.org
Signed-off-by: Jeff Layton <jlayton(a)kernel.org>
Signed-off-by: Chuck Lever <chuck.lever(a)oracle.com>
Signed-off-by: Li Lingfeng <lilingfeng3(a)huawei.com>
---
fs/nfsd/nfs4state.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index dfa2aa91fcac..35ff565ed9a7 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -4274,10 +4274,16 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
}
status = nfs_ok;
if (conf) {
- old = unconf;
- unhash_client_locked(old);
- nfsd4_change_callback(conf, &unconf->cl_cb_conn);
- } else {
+ if (get_client_locked(conf) == nfs_ok) {
+ old = unconf;
+ unhash_client_locked(old);
+ nfsd4_change_callback(conf, &unconf->cl_cb_conn);
+ } else {
+ conf = NULL;
+ }
+ }
+
+ if (!conf) {
old = find_confirmed_client_by_name(&unconf->cl_name, nn);
if (old) {
status = nfserr_clid_inuse;
@@ -4294,10 +4300,14 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
}
trace_nfsd_clid_replaced(&old->cl_clientid);
}
+ status = get_client_locked(unconf);
+ if (status != nfs_ok) {
+ old = NULL;
+ goto out;
+ }
move_to_confirmed(unconf);
conf = unconf;
}
- get_client_locked(conf);
spin_unlock(&nn->client_lock);
if (conf == unconf)
fsnotify_dentry(conf->cl_nfsd_info_dentry, FS_MODIFY);
--
2.46.1
2
1

[openeuler:openEuler-1.0-LTS 1740/1740] mm/page_alloc.c:3684:54: sparse: sparse: incorrect type in argument 1 (different base types)
by kernel test robot 05 Sep '25
by kernel test robot 05 Sep '25
05 Sep '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: e0480ba0432569e9691f36270fde74a39a59fb0c
commit: 9b6c51cd780588813c5d327e2a6d677d010a2b6f [1740/1740] mm: fix zoneref mapping problem in memory reliable
config: arm64-randconfig-r121-20250729 (https://download.01.org/0day-ci/archive/20250905/202509052100.LAoxUFGM-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce: (https://download.01.org/0day-ci/archive/20250905/202509052100.LAoxUFGM-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/202509052100.LAoxUFGM-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
mm/page_alloc.c:140:1: sparse: sparse: symbol 'pcpu_drain_mutex' was not declared. Should it be static?
mm/page_alloc.c: note: in included file (through include/linux/mm.h):
include/linux/mem_reliable.h:68:15: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:4656:13: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:4661:35: sparse: sparse: invalid assignment: |=
mm/page_alloc.c:4661:35: sparse: left side has type restricted gfp_t
mm/page_alloc.c:4661:35: sparse: right side has type unsigned int
mm/page_alloc.c:4677:35: sparse: sparse: invalid assignment: |=
mm/page_alloc.c:4677:35: sparse: left side has type restricted gfp_t
mm/page_alloc.c:4677:35: sparse: right side has type unsigned int
mm/page_alloc.c:4683:35: sparse: sparse: invalid assignment: |=
mm/page_alloc.c:4683:35: sparse: left side has type restricted gfp_t
mm/page_alloc.c:4683:35: sparse: right side has type unsigned int
mm/page_alloc.c:4698:35: sparse: sparse: invalid assignment: |=
mm/page_alloc.c:4698:35: sparse: left side has type restricted gfp_t
mm/page_alloc.c:4698:35: sparse: right side has type unsigned int
mm/page_alloc.c: note: in included file (through include/linux/mm.h):
include/linux/gfp.h:457:34: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:324:27: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:324:27: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:3683:14: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:3684:45: sparse: sparse: restricted gfp_t degrades to integer
>> mm/page_alloc.c:3684:54: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted gfp_t [usertype] flags @@ got unsigned int @@
mm/page_alloc.c:3684:54: sparse: expected restricted gfp_t [usertype] flags
mm/page_alloc.c:3684:54: sparse: got unsigned int
include/linux/gfp.h:457:34: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:3701:14: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:457:34: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:457:34: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c: In function 'mem_init_print_info':
mm/page_alloc.c:7512:27: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 36- | ^~
mm/page_alloc.c:7516:9: note: in expansion of macro 'adj_init_size'
7516 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: note: use '&__init_begin[0] <= &_sinittext[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 42- | ^~
mm/page_alloc.c:7516:9: note: in expansion of macro 'adj_init_size'
7516 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 48- | ^
mm/page_alloc.c:7516:9: note: in expansion of macro 'adj_init_size'
7516 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: note: use '&_sinittext[0] < &__init_end[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 54- | ^
mm/page_alloc.c:7516:9: note: in expansion of macro 'adj_init_size'
7516 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 60- | ^~
mm/page_alloc.c:7518:9: note: in expansion of macro 'adj_init_size'
7518 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: note: use '&_stext[0] <= &_sinittext[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 66- | ^~
mm/page_alloc.c:7518:9: note: in expansion of macro 'adj_init_size'
7518 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 72- | ^
mm/page_alloc.c:7518:9: note: in expansion of macro 'adj_init_size'
7518 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: note: use '&_sinittext[0] < &_etext[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 78- | ^
mm/page_alloc.c:7518:9: note: in expansion of macro 'adj_init_size'
7518 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 84- | ^~
mm/page_alloc.c:7519:9: note: in expansion of macro 'adj_init_size'
7519 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: note: use '&_sdata[0] <= &__init_begin[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 90- | ^~
mm/page_alloc.c:7519:9: note: in expansion of macro 'adj_init_size'
7519 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 96- | ^
mm/page_alloc.c:7519:9: note: in expansion of macro 'adj_init_size'
7519 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: note: use '&__init_begin[0] < &_edata[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 102- | ^
mm/page_alloc.c:7519:9: note: in expansion of macro 'adj_init_size'
7519 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 108- | ^~
mm/page_alloc.c:7520:9: note: in expansion of macro 'adj_init_size'
7520 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: note: use '&_stext[0] <= &__start_rodata[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 114- | ^~
mm/page_alloc.c:7520:9: note: in expansion of macro 'adj_init_size'
7520 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 120- | ^
mm/page_alloc.c:7520:9: note: in expansion of macro 'adj_init_size'
7520 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: note: use '&__start_rodata[0] < &_etext[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 126- | ^
vim +3684 mm/page_alloc.c
3673
3674 #ifdef CONFIG_MEMORY_RELIABLE
3675 static inline void reliable_fb_find_zone(gfp_t gfp_mask,
3676 struct alloc_context *ac)
3677 {
3678 if (!reliable_allow_fb_enabled())
3679 return;
3680
3681 /* dst node don't have zone we want, fallback here */
3682 if ((gfp_mask & __GFP_THISNODE) && (ac->high_zoneidx == ZONE_NORMAL) &&
3683 (gfp_mask & ___GFP_RELIABILITY)) {
> 3684 ac->high_zoneidx = gfp_zone(gfp_mask & ~___GFP_RELIABILITY);
3685 ac->preferred_zoneref = first_zones_zonelist(
3686 ac->zonelist, ac->high_zoneidx, ac->nodemask);
3687 }
3688
3689 return;
3690 }
3691
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS 1740/1740] mm/mem_reliable.c:401:5: sparse: sparse: symbol 'reliable_pagecache_max_bytes_write' was not declared. Should it be static?
by kernel test robot 05 Sep '25
by kernel test robot 05 Sep '25
05 Sep '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 1668dbce6652e9dda648454d3f23d43f913bc9b4
commit: 6943b93b464351cbc35aa002e86bac48e08b1c3f [1740/1740] mm: add support for limiting the usage of reliable memory in pagecache
config: arm64-randconfig-r121-20250729 (https://download.01.org/0day-ci/archive/20250905/202509051719.RKG4X8Zq-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce: (https://download.01.org/0day-ci/archive/20250905/202509051719.RKG4X8Zq-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/202509051719.RKG4X8Zq-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
mm/mem_reliable.c:39:1: sparse: sparse: symbol 'pagecache_reliable_pages' was not declared. Should it be static?
mm/mem_reliable.c:67:14: sparse: sparse: restricted gfp_t degrades to integer
mm/mem_reliable.c:250:5: sparse: sparse: symbol 'reliable_limit_handler' was not declared. Should it be static?
mm/mem_reliable.c:323:5: sparse: sparse: symbol 'reliable_debug_handler' was not declared. Should it be static?
mm/mem_reliable.c:356:5: sparse: sparse: symbol 'reliable_reserve_size_handler' was not declared. Should it be static?
>> mm/mem_reliable.c:401:5: sparse: sparse: symbol 'reliable_pagecache_max_bytes_write' was not declared. Should it be static?
>> mm/mem_reliable.c:487:14: sparse: sparse: invalid assignment: |=
mm/mem_reliable.c:487:14: sparse: left side has type restricted gfp_t
mm/mem_reliable.c:487:14: sparse: right side has type unsigned int
mm/mem_reliable.c:491:14: sparse: sparse: invalid assignment: &=
mm/mem_reliable.c:491:14: sparse: left side has type restricted gfp_t
mm/mem_reliable.c:491:14: sparse: right side has type unsigned int
mm/mem_reliable.c:250:5: warning: no previous prototype for 'reliable_limit_handler' [-Wmissing-prototypes]
250 | int reliable_limit_handler(struct ctl_table *table, int write,
| ^~~~~~~~~~~~~~~~~~~~~~
mm/mem_reliable.c:323:5: warning: no previous prototype for 'reliable_debug_handler' [-Wmissing-prototypes]
323 | int reliable_debug_handler(struct ctl_table *table, int write,
| ^~~~~~~~~~~~~~~~~~~~~~
mm/mem_reliable.c:356:5: warning: no previous prototype for 'reliable_reserve_size_handler' [-Wmissing-prototypes]
356 | int reliable_reserve_size_handler(struct ctl_table *table, int write,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/mem_reliable.c:401:5: warning: no previous prototype for 'reliable_pagecache_max_bytes_write' [-Wmissing-prototypes]
401 | int reliable_pagecache_max_bytes_write(struct ctl_table *table, int write,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/reliable_pagecache_max_bytes_write +401 mm/mem_reliable.c
400
> 401 int reliable_pagecache_max_bytes_write(struct ctl_table *table, int write,
402 void __user *buffer, size_t *length, loff_t *ppos)
403 {
404 unsigned long old_value = reliable_pagecache_max_bytes;
405 int ret;
406
407 ret = proc_doulongvec_minmax(table, write, buffer, length, ppos);
408 if (!ret && write) {
409 if (reliable_pagecache_max_bytes > total_reliable_mem_sz()) {
410 reliable_pagecache_max_bytes = old_value;
411 return -EINVAL;
412 }
413 }
414
415 return ret;
416 }
417
418 static struct ctl_table reliable_ctl_table[] = {
419 {
420 .procname = "task_reliable_limit",
421 .data = &task_reliable_limit,
422 .maxlen = sizeof(task_reliable_limit),
423 .mode = 0644,
424 .proc_handler = reliable_limit_handler,
425 },
426 {
427 .procname = "reliable_debug",
428 .data = &mem_reliable_ctrl_bits,
429 .maxlen = sizeof(mem_reliable_ctrl_bits),
430 .mode = 0600,
431 .proc_handler = reliable_debug_handler,
432 },
433 {
434 .procname = "reliable_reserve_size",
435 .data = &sysctl_reliable_reserve_size,
436 .maxlen = sizeof(sysctl_reliable_reserve_size),
437 .mode = 0644,
438 .proc_handler = reliable_reserve_size_handler,
439 },
440 #ifdef CONFIG_SHMEM
441 {
442 .procname = "shmem_reliable_bytes_limit",
443 .data = &sysctl_shmem_reliable_bytes_limit,
444 .maxlen = sizeof(sysctl_shmem_reliable_bytes_limit),
445 .mode = 0644,
446 .proc_handler = reliable_shmem_bytes_limit_handler,
447 },
448 #endif
449 {
450 .procname = "reliable_pagecache_max_bytes",
451 .data = &reliable_pagecache_max_bytes,
452 .maxlen = sizeof(reliable_pagecache_max_bytes),
453 .mode = 0644,
454 .proc_handler = reliable_pagecache_max_bytes_write,
455 .extra1 = &zero,
456 },
457 {}
458 };
459
460 static struct ctl_table reliable_dir_table[] = {
461 {
462 .procname = "vm",
463 .maxlen = 0,
464 .mode = 0555,
465 .child = reliable_ctl_table,
466 },
467 {}
468 };
469
470 void page_cache_prepare_alloc(gfp_t *gfp)
471 {
472 long nr_reliable = 0;
473 int cpu;
474
475 if (!mem_reliable_is_enabled())
476 return;
477
478 for_each_possible_cpu(cpu)
479 nr_reliable += this_cpu_read(pagecache_reliable_pages);
480
481 if (nr_reliable < 0)
482 goto no_reliable;
483
484 if (nr_reliable > reliable_pagecache_max_bytes >> PAGE_SHIFT)
485 goto no_reliable;
486
> 487 *gfp |= ___GFP_RELIABILITY;
488 return;
489
490 no_reliable:
491 *gfp &= ~___GFP_RELIABILITY;
492 }
493
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Zhao Xuedong <zhaoxuedong(a)meituan.com>
meituan inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/ICTXDJ
CVE: NA
--------------------------------
Introduce memcg early oom feature to trigger OOM killer earlier;
this feature is disabled by default.
Signed-off-by: Zhao Xuedong <zhaoxuedong(a)meituan.com>
---
mm/Kconfig | 14 ++++++++++
mm/vmscan.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 89 insertions(+)
diff --git a/mm/Kconfig b/mm/Kconfig
index cc43f5124cb3..89bcb73b6a5b 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -521,6 +521,20 @@ config MEMCG_SWAP_QOS
memcg swap control include memory force swapin, swapfile control
and swap limit.
+config MEMCG_EARLY_OOM
+ bool "Enable aggressive memcg OOM killing under memory pressure"
+ depends on MEMCG
+ depends on X86 || ARM64
+ default n
+ help
+ MEMCG_EARLY_OOM makes memory cgroups trigger OOM killer earlier
+ and more aggressively when under memory pressure, rather than
+ attempting to reclaim very small amounts of file pages through
+ prolonged reclaim attempts.
+
+ Say "y" if you prefer fast OOM kills over prolonged reclaim
+ attempts.
+
config ETMEM_SCAN
tristate "module: etmem page scan for etmem support"
depends on ETMEM
diff --git a/mm/vmscan.c b/mm/vmscan.c
index e82d7995b548..4b1d8dbc5e3c 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2470,11 +2470,62 @@ static bool inactive_is_low(struct lruvec *lruvec, enum lru_list inactive_lru)
return inactive * inactive_ratio < active;
}
+#ifdef CONFIG_MEMCG_EARLY_OOM
+/* Check if swap usage is over the limit for cgroupv1. */
+static bool is_swap_over_limit(struct mem_cgroup *memcg)
+{
+ unsigned long mem_limit = READ_ONCE(memcg->memory.max);
+ unsigned long memsw_limit = READ_ONCE(memcg->memsw.max);
+
+ if (memsw_limit <= mem_limit)
+ return false;
+
+ return (page_counter_read(&memcg->memsw) -
+ page_counter_read(&memcg->memory)) >
+ (memsw_limit - mem_limit);
+}
+
+/*
+ * Check if file cache is too small to reclaim and anonymous pages are reclaimable.
+ * Returns true if:
+ * 1. File cache (+ free space) is below the minimum threshold (pages_min), AND
+ * 2. Anonymous pages are allowed to be deactivated, AND
+ * 3. Anonymous pages are abundant relative to reclaim priority
+ */
+static bool memcg_should_skip_file_reclaim(struct mem_cgroup *memcg,
+ struct scan_control *sc,
+ struct lruvec *lruvec)
+{
+ unsigned long file, anon, free;
+ unsigned long mem_limit, memsw_usage, mem_high;
+ unsigned long pages_min;
+
+ if (!cgroup_reclaim(sc))
+ return false;
+
+ file = lruvec_lru_size(lruvec, LRU_INACTIVE_FILE, sc->reclaim_idx) +
+ lruvec_lru_size(lruvec, LRU_ACTIVE_FILE, sc->reclaim_idx);
+ mem_limit = READ_ONCE(memcg->memory.max);
+ memsw_usage = page_counter_read(&memcg->memsw);
+ mem_high = READ_ONCE(memcg->memory.high);
+ anon = lruvec_lru_size(lruvec, LRU_INACTIVE_ANON, sc->reclaim_idx);
+ free = mem_limit > memsw_usage ? mem_limit - memsw_usage : 0;
+ pages_min = mem_limit > mem_high ? (mem_limit - mem_high) >> 2 : 0;
+
+ return (file + free <= pages_min) &&
+ !(sc->may_deactivate & DEACTIVATE_ANON) &&
+ (anon >> sc->priority);
+}
+#endif
+
enum scan_balance {
SCAN_EQUAL,
SCAN_FRACT,
SCAN_ANON,
SCAN_FILE,
+#ifdef CONFIG_MEMCG_EARLY_OOM
+ SCAN_NONE,
+#endif
};
/*
@@ -2498,6 +2549,20 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
unsigned long ap, fp;
enum lru_list lru;
+#ifdef CONFIG_MEMCG_EARLY_OOM
+ /*
+ * if both file and anon pages are deemed non-reclaimable,
+ * we deliberately stop reclaiming early to trigger OOM killer
+ * faster.
+ */
+ if (cgroup_reclaim(sc) &&
+ is_swap_over_limit(memcg) &&
+ memcg_should_skip_file_reclaim(memcg, sc, lruvec)) {
+ scan_balance = SCAN_NONE;
+ goto out;
+ }
+#endif
+
if (sc->not_file) {
scan_balance = SCAN_ANON;
goto out;
@@ -2543,7 +2608,12 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
/*
* If the system is almost out of file pages, force-scan anon.
*/
+#ifdef CONFIG_MEMCG_EARLY_OOM
+ if (sc->file_is_tiny ||
+ memcg_should_skip_file_reclaim(memcg, sc, lruvec)) {
+#else
if (sc->file_is_tiny) {
+#endif
scan_balance = SCAN_ANON;
goto out;
}
@@ -2687,6 +2757,11 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
if ((scan_balance == SCAN_FILE) != file)
scan = 0;
break;
+#ifdef CONFIG_MEMCG_EARLY_OOM
+ case SCAN_NONE:
+ scan = 0;
+ break;
+#endif
default:
/* Look ma, no brain */
BUG();
--
2.33.0
2
1
On 2025/9/4 15:52, wangkefeng.wang wrote:
>> meituan inclusion
>> category: feature
>> bugzilla: https://gitee.com/openeuler/kernel/issues/ICTXDJ
>> CVE: NA
>>
>> --------------------------------
>>
>> Introduce memcg early oom feature to trigger OOM killer earlier;
>> this feature is disabled by default.
>
>
>Could we add a mechanism like file_is_tiny for cgroup ?
>
>>
>> Signed-off-by: Zhao Xuedong <zhaoxuedong(a)meituan.com>
>> ---
>> mm/Kconfig | 14 ++++++++++
>> mm/vmscan.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 87 insertions(+)
>>
>> diff --git a/mm/Kconfig b/mm/Kconfig
>> index cc43f5124cb3..89bcb73b6a5b 100644
>> --- a/mm/Kconfig
>> +++ b/mm/Kconfig
>> @@ -521,6 +521,20 @@ config MEMCG_SWAP_QOS
>> memcg swap control include memory force swapin, swapfile control
>> and swap limit.
>>
>> +config MEMCG_EARLY_OOM
>> + bool "Enable aggressive memcg OOM killing under memory pressure"
>> + depends on MEMCG
>> + depends on X86 || ARM64
>> + default n
>> + help
>> + MEMCG_EARLY_OOM makes memory cgroups trigger OOM killer earlier
>> + and more aggressively when under memory pressure, rather than
>> + attempting to reclaim very small amounts of file pages through
>> + prolonged reclaim attempts.
>> +
>> + Say "y" if you prefer fast OOM kills over prolonged reclaim
>> + attempts.
>> +
>> config ETMEM_SCAN
>> tristate "module: etmem page scan for etmem support"
>> depends on ETMEM
>> diff --git a/mm/vmscan.c b/mm/vmscan.c
>> index e82d7995b548..622122473f06 100644
>> --- a/mm/vmscan.c
>> +++ b/mm/vmscan.c
>> @@ -2470,11 +2470,62 @@ static bool inactive_is_low(struct lruvec *lruvec, enum lru_list inactive_lru)
>> return inactive * inactive_ratio < active;
>> }
>>
>> +#ifdef CONFIG_MEMCG_EARLY_OOM
>> +/* Check if swap usage is over the limit for cgroupv1. */
>> +static bool is_swap_over_limit(struct mem_cgroup *memcg)
>> +{
>> + unsigned long mem_limit = READ_ONCE(memcg->memory.max);
>> + unsigned long memsw_limit = READ_ONCE(memcg->memsw.max);
>> +
>> + if (memsw_limit <= mem_limit)
>> + return false;
>> +
>> + return (page_counter_read(&memcg->memsw) -
>> + page_counter_read(&memcg->memory)) >
>> + (memsw_limit - mem_limit);
>> +}
>> +
>> +/*
>> + * Check if file cache is too small to reclaim and anonymous pages are reclaimable.
>> + * Returns true if:
>> + * 1. File cache (+ free space) is below the minimum threshold (pages_min), AND
>> + * 2. Anonymous pages are allowed to be deactivated, AND
>> + * 3. Anonymous pages are abundant relative to reclaim priority
>> + */
>> +static bool memcg_should_skip_file_reclaim(struct mem_cgroup *memcg,
>> + struct scan_control *sc,
>> + struct lruvec *lruvec)
>> +{
>> + unsigned long file, anon, free;
>> + unsigned long mem_limit, memsw_usage, mem_high;
>> + unsigned long pages_min;
>> +
>> + if (!cgroup_reclaim(sc))
>> + return false;
>> +
>> + file = lruvec_lru_size(lruvec, LRU_INACTIVE_FILE, sc->reclaim_idx) +
>> + lruvec_lru_size(lruvec, LRU_ACTIVE_FILE, sc->reclaim_idx);
>> + mem_limit = READ_ONCE(memcg->memory.max);
>> + memsw_usage = page_counter_read(&memcg->memsw);
>> + mem_high = READ_ONCE(memcg->memory.high);
>> + anon = lruvec_lru_size(lruvec, LRU_INACTIVE_ANON, sc->reclaim_idx);
>> + free = mem_limit > memsw_usage ? mem_limit - memsw_usage : 0;
>> + pages_min = mem_limit > mem_high ? (mem_limit - mem_high) >> 2 : 0;
>> +
>> + return (file + free <= pages_min) &&
>> + !(sc->may_deactivate & DEACTIVATE_ANON) &&
>> + (anon >> sc->priority);
>> +}
>> +#endif
>> +
>> enum scan_balance {
>> SCAN_EQUAL,
>> SCAN_FRACT,
>> SCAN_ANON,
>> SCAN_FILE,
>> +#ifdef CONFIG_MEMCG_EARLY_OOM
>> + SCAN_NONE,
>> +#endif
>> };
>>
>> /*
>> @@ -2498,6 +2549,20 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
>> unsigned long ap, fp;
>> enum lru_list lru;
>>
>> +#ifdef CONFIG_MEMCG_EARLY_OOM
>> + /*
>> + * if both file and anon pages are deemed non-reclaimable,
>> + * we deliberately stop reclaiming early to trigger OOM killer
>> + * faster.
>> + */
>> + if (cgroup_reclaim(sc) &&
>> + is_swap_over_limit(memcg) &&
>> + memcg_should_skip_file_reclaim(memcg, sc, lruvec)) {
>> + scan_balance = SCAN_NONE;
>> + goto out;
>> + }
>> +#endif
>> +
>
>Maybe check file in prepare_scan_count() like global reclaim ?
>
> if (!cgroup_reclaim(sc)) {
> sc->file_is_tiny = global file check
>} else {
> sc->file_is_tniy = cgroup file check
>}
>
>
This patch appears inspired by the file_is_tiny approach,
there are two considerations regarding its application to memcg reclaim:
1.Is placing file_is_tiny in scan_control (sc) appropriate for memcg reclaim?
Since sc represents the reclaim policy that propagates to both target memcg
and all its children, this might be too broad.
2.Where should we actually set file_is_tiny?
If we keep it in sc and set it during prepare_scan_count,
it would enforce the same policy across both target memcg and its descendants
- even when some of them actually maintain sufficient file pages. This seems suboptimal.
>
>
>> if (sc->not_file) {
>> scan_balance = SCAN_ANON;
>> goto out;
>> @@ -2543,7 +2608,12 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
>> /*
>> * If the system is almost out of file pages, force-scan anon.
>> */
>> +#ifdef CONFIG_MEMCG_EARLY_OOM
>> + if (sc->file_is_tiny ||
>> + memcg_should_skip_file_reclaim(memcg, sc, lruvec)) {
>> +#else
>> if (sc->file_is_tiny) {
>> +#endif
>> scan_balance = SCAN_ANON;
>> goto out;
>> }
>> @@ -2687,6 +2757,9 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
>> if ((scan_balance == SCAN_FILE) != file)
>> scan = 0;
>> break;
>> + case SCAN_NONE:
>> + scan = 0;
>> + break;
>> default:
>> /* Look ma, no brain */
>> BUG();
1
0

[PATCH openEuler-1.0-LTS] x86/smp: ignore reboot IPI when stopping_cpu contains value
by Lin Yujun 05 Sep '25
by Lin Yujun 05 Sep '25
05 Sep '25
From: Yipeng Zou <zouyipeng(a)huawei.com>
hulk inclusion
category: bugfix
bugzilla: 190750
CVE: NA
------------------------
Recently, A issue has been reported that CPU hang in x86 VM.
The CPU halted during Kdump likely due to IPI issues when one CPU was
rebooting and another was in Kdump:
CPU0 CPU2
======================== ======================
reboot Panic
machine shutdown Kdump
machine shutdown
stop other cpus
kdump_nmi_shootdown_cpus
... ...
local_irq_disable local_irq_disable
send_IPIs(REBOOT) [critical regions]
[critical regions] 1) send_IPIs(REBOOT)
wait timeout
2) send_IPIs(NMI);
Halt,NMI context
3) lapic_shutdown [IPI is pending]
...
second kernel start
4) init_bsp_APIC [IPI is pending]
...
local irq enable
Halt, IPI context
In simple terms, when the Kdump jump to the second kernel, the IPI that
was pending in the first kernel remains and is responded to by the
second kernel.
As the reboot IPI can only be sent after acquiring @stopping_cpu
by storing the CPU number, this case can be detected when
@stopping_cpu contains the bootup value -1. Just return and
ignore it.
Fixes: 9c7af565c58e (“centos 8.1: import linux-4.18.0-147.5.1.el8_1”)
Signed-off-by: Yipeng Zou <zouyipeng(a)huawei.com>
Signed-off-by: Lin Yujun <linyujun809(a)h-partners.com>
---
arch/x86/kernel/smp.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
index b2b87b91f336..07ccda0ad531 100644
--- a/arch/x86/kernel/smp.c
+++ b/arch/x86/kernel/smp.c
@@ -176,6 +176,29 @@ static int smp_stop_nmi_callback(unsigned int val, struct pt_regs *regs)
asmlinkage __visible void smp_reboot_interrupt(void)
{
ipi_entering_ack_irq();
+
+ /*
+ * Handle the case where a reboot IPI is stale in the IRR. This
+ * happens when:
+ *
+ * a CPU crashes with interrupts disabled before handling the
+ * reboot IPI and jumps into a crash kernel. The reboot IPI
+ * vector is kept set in the APIC IRR across the APIC soft
+ * disabled phase and as there is no way to clear a pending IRR
+ * bit, it is delivered to the crash kernel immediately when
+ * interrupts are enabled.
+ *
+ * As the reboot IPI can only be sent after acquiring @stopping_cpu
+ * by storing the CPU number, this case can be detected when
+ * @stopping_cpu contains the bootup value -1. Just return and
+ * ignore it.
+ */
+ if (atomic_read(&stopping_cpu) == -1) {
+ pr_info("Ignoring stale reboot IPI\n");
+ irq_exit();
+ return;
+ }
+
cpu_emergency_vmxoff();
stop_this_cpu(NULL);
irq_exit();
--
2.34.1
2
1