Kernel
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 32 participants
- 21083 discussions
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICS3XV
--------------------------------
Destroy workqueue in oecls_ntuple_res_clean() and use 'oecls_worker_count'
to avoid visiting oenetcls code after removed module. Moreover, call
synchronize_rcu() to keep the rcu data consistency.
Fixes: c9f5e390a63c ("net/oenetcls: use workqueue for ntuple cfg")
Signed-off-by: Wang Liang <wangliang74(a)huawei.com>
---
net/oenetcls/oenetcls.h | 6 ++--
net/oenetcls/oenetcls_flow.c | 5 ++-
net/oenetcls/oenetcls_main.c | 43 +++++++++----------------
net/oenetcls/oenetcls_ntuple.c | 57 ++++++++++++++++++++++++----------
4 files changed, 62 insertions(+), 49 deletions(-)
diff --git a/net/oenetcls/oenetcls.h b/net/oenetcls/oenetcls.h
index f4a06214f320..0be09b153428 100644
--- a/net/oenetcls/oenetcls.h
+++ b/net/oenetcls/oenetcls.h
@@ -74,7 +74,7 @@ struct oecls_sk_rule {
int dport;
int action;
int ruleid;
- int nid;
+ int cpu;
};
struct oecls_sk_entry {
@@ -124,11 +124,9 @@ struct rmgr_ctrl {
struct cfg_param {
struct work_struct work;
struct cmd_context ctx;
- struct oecls_sk_rule *rule;
struct sock *sk;
bool is_del;
- int devid;
- int nid;
+ int cpu;
};
extern int match_ip_flag;
diff --git a/net/oenetcls/oenetcls_flow.c b/net/oenetcls/oenetcls_flow.c
index 9a7550544305..87efb5e6a126 100644
--- a/net/oenetcls/oenetcls_flow.c
+++ b/net/oenetcls/oenetcls_flow.c
@@ -406,12 +406,15 @@ int oecls_flow_res_init(void)
}
RCU_INIT_POINTER(oecls_ops, &oecls_flow_ops);
+ synchronize_rcu();
return 0;
}
void oecls_flow_res_clean(void)
{
- RCU_INIT_POINTER(oecls_ops, NULL);
+ rcu_assign_pointer(oecls_ops, NULL);
+ synchronize_rcu();
+
oecls_sock_flow_table_release();
oecls_dev_flow_table_release();
}
diff --git a/net/oenetcls/oenetcls_main.c b/net/oenetcls/oenetcls_main.c
index 181e480d571b..aa5c63bf612a 100644
--- a/net/oenetcls/oenetcls_main.c
+++ b/net/oenetcls/oenetcls_main.c
@@ -23,11 +23,11 @@ static int mode;
module_param(mode, int, 0444);
MODULE_PARM_DESC(mode, "mode, default 0");
-static char ifname[64] = { 0 };
+static char ifname[128] = { 0 };
module_param_string(ifname, ifname, sizeof(ifname), 0444);
MODULE_PARM_DESC(ifname, "ifname");
-static char appname[64] = "redis-server";
+static char appname[256] = "redis-server";
module_param_string(appname, appname, sizeof(appname), 0644);
MODULE_PARM_DESC(appname, "appname, default redis-server");
@@ -39,6 +39,10 @@ static int strategy;
module_param(strategy, int, 0444);
MODULE_PARM_DESC(strategy, "strategy, default 0");
+static int check_cap = 1;
+module_param(check_cap, int, 0444);
+MODULE_PARM_DESC(check_cap, "check_cap, default 1");
+
static bool check_params(void)
{
if (mode != 0 && mode != 1)
@@ -218,20 +222,6 @@ static noinline_for_stack int ethtool_get_rxnfc(struct net_device *dev,
return ret;
}
-static noinline_for_stack int ethtool_get_channels(struct net_device *dev,
- void *useraddr)
-{
- struct ethtool_channels channels = { .cmd = ETHTOOL_GCHANNELS };
-
- if (!dev->ethtool_ops->get_channels)
- return -EOPNOTSUPP;
-
- dev->ethtool_ops->get_channels(dev, &channels);
-
- memcpy_r(useraddr, &channels, sizeof(channels));
- return 0;
-}
-
static int ethtool_get_value(struct net_device *dev, char *useraddr,
u32 cmd, u32 (*actor)(struct net_device *))
{
@@ -285,10 +275,9 @@ static int dev_ethtool_kern(struct net *net, struct ifreq *ifr)
case ETHTOOL_GRXCLSRLCNT:
case ETHTOOL_GRXCLSRULE:
case ETHTOOL_GRXCLSRLALL:
- case ETHTOOL_GCHANNELS:
break;
default:
- if (!ns_capable(net->user_ns, CAP_NET_ADMIN))
+ if (check_cap && !ns_capable(net->user_ns, CAP_NET_ADMIN))
return -EPERM;
}
@@ -319,9 +308,6 @@ static int dev_ethtool_kern(struct net *net, struct ifreq *ifr)
case ETHTOOL_SRXCLSRLINS:
rc = ethtool_set_rxnfc(dev, ethcmd, useraddr);
break;
- case ETHTOOL_GCHANNELS:
- rc = ethtool_get_channels(dev, useraddr);
- break;
default:
rc = -EOPNOTSUPP;
}
@@ -400,7 +386,7 @@ static void get_netdev_queue_info(struct oecls_netdev_info *oecls_dev)
cpu = cpumask_first(irq_data_get_effective_affinity_mask(&desc->irq_data));
rxq_info->affinity_cpu = cpu;
oecls_debug("irq=%d, [%s], rxq_id=%d affinity_cpu:%d\n",
- irq, desc->action->name, oecls_dev->rxq_num, cpu);
+ irq, desc->action->name, oecls_dev->rxq_num - 1, cpu);
}
}
@@ -669,9 +655,8 @@ static int init_numa_rxq_bitmap(int nid, struct oecls_numa_info *numa_info)
return ret;
}
-static int get_cluster_rxq(struct oecls_numa_bound_dev_info *bound_dev)
+static int get_cluster_rxq(int cpu, struct oecls_numa_bound_dev_info *bound_dev)
{
- int cpu = raw_smp_processor_id();
int cluster_id = cpu / oecls_cluster_cpu_num;
int i, j, rxq_id;
@@ -710,10 +695,11 @@ static int put_cluster_rxq(struct oecls_numa_bound_dev_info *bound_dev, int rxq_
return -1;
}
-int alloc_rxq_id(int nid, int devid)
+int alloc_rxq_id(int cpu, int devid)
{
struct oecls_numa_bound_dev_info *bound_dev;
struct oecls_numa_info *numa_info;
+ int nid = cpu_to_node(cpu);
int rxq_id;
numa_info = get_oecls_numa_info(nid);
@@ -729,7 +715,7 @@ int alloc_rxq_id(int nid, int devid)
bound_dev = &numa_info->bound_dev[devid];
if (strategy == 1) {
- rxq_id = get_cluster_rxq(bound_dev);
+ rxq_id = get_cluster_rxq(cpu, bound_dev);
if (rxq_id < 0 || rxq_id >= OECLS_MAX_RXQ_NUM_PER_DEV)
pr_info("failed to get rxq_id:%d in cluster, try numa\n", rxq_id);
else
@@ -744,14 +730,15 @@ int alloc_rxq_id(int nid, int devid)
found:
clear_bit(rxq_id, bound_dev->bitmap_rxq);
- oecls_debug("alloc nid:%d, dev_id:%d, rxq_id:%d\n", nid, devid, rxq_id);
+ oecls_debug("alloc cpu:%d, nid:%d, devid:%d, rxq_id:%d\n", cpu, nid, devid, rxq_id);
return rxq_id;
}
-void free_rxq_id(int nid, int devid, int rxq_id)
+void free_rxq_id(int cpu, int devid, int rxq_id)
{
struct oecls_numa_bound_dev_info *bound_dev;
struct oecls_numa_info *numa_info;
+ int nid = cpu_to_node(cpu);
numa_info = get_oecls_numa_info(nid);
if (!numa_info) {
diff --git a/net/oenetcls/oenetcls_ntuple.c b/net/oenetcls/oenetcls_ntuple.c
index 86fc9138b0df..a8d572270f7f 100644
--- a/net/oenetcls/oenetcls_ntuple.c
+++ b/net/oenetcls/oenetcls_ntuple.c
@@ -13,6 +13,7 @@
struct oecls_sk_rule_list oecls_sk_rules, oecls_sk_list;
static struct workqueue_struct *do_cfg_workqueue;
+static atomic_t oecls_worker_count = ATOMIC_INIT(0);
static void init_oecls_sk_rules(void)
{
@@ -33,8 +34,7 @@ static inline struct hlist_head *get_sk_hashlist(void *sk)
return oecls_sk_list.hash + (jhash(sk, sizeof(sk), 0) & OECLS_SK_RULE_HASHMASK);
}
-static void add_sk_rule(int devid, u32 dip4, u16 dport, void *sk, int action,
- int ruleid, int nid)
+static void add_sk_rule(int devid, u32 dip4, u16 dport, void *sk, int action, int ruleid, int cpu)
{
struct hlist_head *hlist = get_rule_hashlist(dip4, dport);
struct hlist_head *sk_hlist = get_sk_hashlist(sk);
@@ -52,7 +52,7 @@ static void add_sk_rule(int devid, u32 dip4, u16 dport, void *sk, int action,
rule->devid = devid;
rule->action = action;
rule->ruleid = ruleid;
- rule->nid = nid;
+ rule->cpu = cpu;
hlist_add_head(&rule->node, hlist);
entry->sk = sk;
@@ -442,7 +442,7 @@ static void cfg_work(struct work_struct *work)
}
// Calculate the bound queue
- rxq_id = alloc_rxq_id(ctx_p->nid, devid);
+ rxq_id = alloc_rxq_id(ctx_p->cpu, devid);
if (rxq_id < 0)
continue;
@@ -451,38 +451,55 @@ static void cfg_work(struct work_struct *work)
err = cfg_ethtool_rule(&ctx_p->ctx, ctx_p->is_del);
// Add sk rule only on success
if (err) {
- free_rxq_id(ctx_p->nid, devid, rxq_id);
+ free_rxq_id(ctx_p->cpu, devid, rxq_id);
continue;
}
- add_sk_rule(ctx_p->devid, ctx_p->ctx.dip4, ctx_p->ctx.dport, ctx_p->sk,
- ctx_p->ctx.action, ctx_p->ctx.ret_loc, ctx_p->nid);
+ add_sk_rule(devid, ctx_p->ctx.dip4, ctx_p->ctx.dport, ctx_p->sk,
+ ctx_p->ctx.action, ctx_p->ctx.ret_loc, ctx_p->cpu);
} else {
- rule = get_rule_from_sk(ctx_p->devid, ctx_p->sk);
+ rule = get_rule_from_sk(devid, ctx_p->sk);
if (!rule) {
oecls_debug("rule not found! sk:%p, devid:%d, dip4:%pI4, dport:%d\n",
- ctx_p->sk, ctx_p->devid, &ctx_p->ctx.dip4,
+ ctx_p->sk, devid, &ctx_p->ctx.dip4,
ntohs(ctx_p->ctx.dport));
continue;
}
// Config Ntuple rule to dev
ctx_p->ctx.del_ruleid = rule->ruleid;
- ctx_p->rule = rule;
err = cfg_ethtool_rule(&ctx_p->ctx, ctx_p->is_del);
// Free the bound queue
- free_rxq_id(ctx_p->rule->nid, ctx_p->devid, ctx_p->rule->action);
+ free_rxq_id(rule->cpu, devid, rule->action);
// Delete sk rule
- del_sk_rule(ctx_p->rule);
+ del_sk_rule(rule);
}
}
mutex_unlock(&oecls_sk_rules.mutex);
kfree(ctx_p);
+ atomic_dec(&oecls_worker_count);
+}
+
+static bool has_sock_rule(struct sock *sk)
+{
+ struct oecls_netdev_info *oecls_dev;
+ struct oecls_sk_rule *rule;
+ int devid;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ rule = get_rule_from_sk(devid, sk);
+ if (rule)
+ return true;
+ }
+ return false;
}
static void del_ntuple_rule(struct sock *sk)
{
struct cfg_param *ctx_p;
+ if (!has_sock_rule(sk))
+ return;
+
ctx_p = kzalloc(sizeof(*ctx_p), GFP_ATOMIC);
if (!ctx_p)
return;
@@ -492,13 +509,12 @@ static void del_ntuple_rule(struct sock *sk)
ctx_p->sk = sk;
INIT_WORK(&ctx_p->work, cfg_work);
queue_work(do_cfg_workqueue, &ctx_p->work);
+ atomic_inc(&oecls_worker_count);
}
static void add_ntuple_rule(struct sock *sk)
{
struct cfg_param *ctx_p;
- int cpu = raw_smp_processor_id();
- int nid = cpu_to_node(cpu);
if (check_appname(current->comm))
return;
@@ -510,9 +526,10 @@ static void add_ntuple_rule(struct sock *sk)
ctx_p->is_del = false;
ctx_p->sk = sk;
- ctx_p->nid = nid;
+ ctx_p->cpu = raw_smp_processor_id();
INIT_WORK(&ctx_p->work, cfg_work);
queue_work(do_cfg_workqueue, &ctx_p->work);
+ atomic_inc(&oecls_worker_count);
}
static void ethtool_cfg_rxcls(struct sock *sk, int is_del)
@@ -581,11 +598,19 @@ int oecls_ntuple_res_init(void)
init_oecls_sk_rules();
RCU_INIT_POINTER(oecls_ops, &oecls_ntuple_ops);
+ synchronize_rcu();
return 0;
}
void oecls_ntuple_res_clean(void)
{
- RCU_INIT_POINTER(oecls_ops, NULL);
+ rcu_assign_pointer(oecls_ops, NULL);
+ synchronize_rcu();
+
+ oecls_debug("oecls_worker_count:%d\n", atomic_read(&oecls_worker_count));
+ while (atomic_read(&oecls_worker_count) != 0)
+ mdelay(1);
+
+ destroy_workqueue(do_cfg_workqueue);
clean_oecls_sk_rules();
}
--
2.34.1
2
1
[openeuler:OLK-6.6 2908/2908] drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:545:5: error: no previous prototype for function 'ps3_pci_init'
by kernel test robot 22 Sep '25
by kernel test robot 22 Sep '25
22 Sep '25
Hi liujie_answer,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 1f1c00e79b5b7cd4202a28c0fcd645c3c92c0df5
commit: 97a2bb6ece556f3882263ee8df2b77f10c511311 [2908/2908] SCSI: Linkdata: Supports Linkdata HBA/RAID Controllers
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20250922/202509221458.t8DTxxgv-lkp@…)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250922/202509221458.t8DTxxgv-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/202509221458.t8DTxxgv-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:5:
In file included from include/linux/pci.h:38:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:307:5: error: no previous prototype for function 'ps3_hard_reset_to_ready' [-Werror,-Wmissing-prototypes]
307 | int ps3_hard_reset_to_ready(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:307:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
307 | int ps3_hard_reset_to_ready(struct ps3_instance *instance)
| ^
| static
6 errors generated.
--
In file included from drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:5:
In file included from include/linux/pci.h:38:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:876:6: error: no previous prototype for function 'ps3_set_task_manager_busy' [-Werror,-Wmissing-prototypes]
876 | void ps3_set_task_manager_busy(struct ps3_instance *instance,
| ^
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:876:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
876 | void ps3_set_task_manager_busy(struct ps3_instance *instance,
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1110:5: error: no previous prototype for function 'ps3_wait_for_outstanding_complete' [-Werror,-Wmissing-prototypes]
1110 | int ps3_wait_for_outstanding_complete(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1110:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1110 | int ps3_wait_for_outstanding_complete(struct ps3_instance *instance)
| ^
| static
7 errors generated.
--
In file included from drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:14:
In file included from drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.h:6:
In file included from drivers/scsi/linkdata/ps3stor/ps3_irq.h:8:
In file included from include/scsi/scsi_host.h:5:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:131:6: error: no previous prototype for function 'ps3_trigger_irq_poll' [-Werror,-Wmissing-prototypes]
131 | void ps3_trigger_irq_poll(struct ps3_irq *irq)
| ^
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:131:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
131 | void ps3_trigger_irq_poll(struct ps3_irq *irq)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:243:5: error: no previous prototype for function 'ps3_resp_status_convert' [-Werror,-Wmissing-prototypes]
243 | int ps3_resp_status_convert(unsigned int resp_status)
| ^
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:243:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
243 | int ps3_resp_status_convert(unsigned int resp_status)
| ^
| static
7 errors generated.
--
In file included from drivers/scsi/linkdata/ps3stor/ps3_qos.c:7:
In file included from include/scsi/scsi_host.h:5:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:211:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
211 | ps3_qos_cmd_waitq_get(struct ps3_qos_tg_context *qos_tg_ctx,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:210:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
210 | struct qos_wait_queue *
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
335 | unsigned char ps3_qos_vd_cmdword_get(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
335 | unsigned char ps3_qos_vd_cmdword_get(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
351 | unsigned char ps3_qos_exclusive_cmdword_get(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
351 | unsigned char ps3_qos_exclusive_cmdword_get(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
363 | unsigned char ps3_qos_tg_decision(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
363 | unsigned char ps3_qos_tg_decision(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
749 | unsigned char ps3_qos_all_pd_rc_get(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
749 | unsigned char ps3_qos_all_pd_rc_get(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
876 | void ps3_pd_quota_waitq_clear_all(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
876 | void ps3_pd_quota_waitq_clear_all(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
892 | void ps3_pd_quota_waitq_clean(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
892 | void ps3_pd_quota_waitq_clean(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
1058 | void ps3_qos_pd_waitq_ratio_update(struct ps3_qos_pd_mgr *qos_pd_mgr)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1058 | void ps3_qos_pd_waitq_ratio_update(struct ps3_qos_pd_mgr *qos_pd_mgr)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
2019 | unsigned char ps3_hba_qos_decision(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2019 | unsigned char ps3_hba_qos_decision(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
2040 | void ps3_hba_qos_waitq_notify(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2040 | void ps3_hba_qos_waitq_notify(struct ps3_instance *instance)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
2100 | bool ps3_cmd_waitq_abort(struct ps3_cmd *aborted_cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2100 | bool ps3_cmd_waitq_abort(struct ps3_cmd *aborted_cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
2463 | void ps3_hba_qos_waitq_clear_all(struct ps3_instance *instance, int resp_status)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2463 | void ps3_hba_qos_waitq_clear_all(struct ps3_instance *instance, int resp_status)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
2827 | void ps3_hba_qos_vd_init(struct ps3_instance *instance,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2827 | void ps3_hba_qos_vd_init(struct ps3_instance *instance,
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
2936 | void ps3_hba_qos_vd_reset(struct ps3_instance *instance, unsigned short disk_id)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2936 | void ps3_hba_qos_vd_reset(struct ps3_instance *instance, unsigned short disk_id)
| ^
| static
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:6:
In file included from drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.h:7:
In file included from include/scsi/scsi_cmnd.h:5:
In file included from include/linux/dma-mapping.h:8:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:85:6: error: no previous prototype for function 'ps3_cmd_stat_content_clear' [-Werror,-Wmissing-prototypes]
85 | void ps3_cmd_stat_content_clear(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:85:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
85 | void ps3_cmd_stat_content_clear(struct ps3_instance *instance)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:403:6: error: no previous prototype for function 'ps3_io_recv_ok_stat_inc' [-Werror,-Wmissing-prototypes]
403 | void ps3_io_recv_ok_stat_inc(struct ps3_instance *ins,
| ^
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:403:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
403 | void ps3_io_recv_ok_stat_inc(struct ps3_instance *ins,
| ^
| static
7 errors generated.
..
vim +/ps3_pci_init +545 drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c
544
> 545 int ps3_pci_init(struct pci_dev *pdev, struct ps3_instance *instance)
546 {
547 resource_size_t base_addr = 0;
548 int ret = PS3_SUCCESS;
549
550 ret = pci_enable_device_mem(pdev);
551 if (ret != PS3_SUCCESS) {
552 LOG_ERROR("hno:%u pci id[%u] pci enable failed\n",
553 PS3_HOST(instance), pdev->dev.id);
554 goto l_pci_enable_device_mem_failed;
555 }
556
557 pci_set_master(pdev);
558
559 instance->reg_bar = PS3_REGISTER_BAR_INDEX;
560 ret = (pci_resource_flags(pdev, instance->reg_bar) & IORESOURCE_MEM);
561 if (!ret) {
562 LOG_ERROR("hno:%u Bar %lu isnot IORESOURCE_MEM\n",
563 PS3_HOST(instance), instance->reg_bar);
564 goto l_bar_check_failed;
565 }
566 ret = pci_request_selected_regions(pdev, 1 << instance->reg_bar,
567 "PS3 pci regions");
568 if (ret != PS3_SUCCESS) {
569 LOG_ERROR("hno:%u IO memory region busy\n", PS3_HOST(instance));
570 goto l_pci_request_selected_regions_failed;
571 }
572 #if defined(PS3_SUPPORT_PCIE_REPORT)
573 pci_enable_pcie_error_reporting(pdev);
574 #endif
575 if (instance->ioc_adpter->reg_set) {
576 instance->reg_set =
577 (struct Ps3Fifo __iomem *)instance->ioc_adpter->reg_set(
578 pdev, instance->reg_bar);
579 } else {
580 instance->reg_set = (struct Ps3Fifo __iomem *)ioremap(
581 pci_resource_start(pdev, instance->reg_bar),
582 PS3_REGISTER_SET_SIZE);
583 }
584 if (instance->reg_set == NULL) {
585 LOG_ERROR("hno:%u ioremap failed\n", PS3_HOST(instance));
586 goto l_ioremap_failed;
587 } else {
588 pci_set_drvdata(pdev, instance);
589 }
590
591 ps3_atomic_set(&instance->watchdog_reg_read_fail_count, 0);
592 LOG_INFO(
593 "reg_bar_idx = %lu, bar_base_paddr = 0x%llx, reg_set_vaddr = 0x%p\n",
594 instance->reg_bar, (unsigned long long)base_addr, instance->reg_set);
595
596 return PS3_SUCCESS;
597 l_ioremap_failed:
598 pci_release_selected_regions(instance->pdev, 1 << instance->reg_bar);
599 #if defined(PS3_SUPPORT_PCIE_REPORT)
600 pci_disable_pcie_error_reporting(pdev);
601 #endif
602 l_pci_request_selected_regions_failed:
603 pci_disable_device(instance->pdev);
604 l_bar_check_failed:
605 l_pci_enable_device_mem_failed:
606 return -PS3_FAILED;
607 }
608
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Fix CVE-2022-50343.
Yang Yingliang (1):
rapidio: fix possible name leaks when rio_add_device() fails
drivers/rapidio/devices/rio_mport_cdev.c | 7 +++++--
drivers/rapidio/rio-scan.c | 8 ++++++--
2 files changed, 11 insertions(+), 4 deletions(-)
--
2.34.1
2
2
22 Sep '25
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICA4Z5
--------------------------------
Optimize the kernel performance.
Signed-off-by: Dong Chenchen <dongchenchen2(a)huawei.com>
---
fs/ext4/ext4.h | 31 ++++++++------
fs/ext4/mballoc.c | 54 ++++++++++++++++++------
include/net/inet_hashtables.h | 9 ++--
include/net/ip.h | 2 +-
kernel/sched/core.c | 7 +++-
kernel/sched/fair.c | 5 ++-
kernel/sched/features.h | 1 +
net/ipv4/inet_hashtables.c | 78 +++++++++++++++++++++++++++--------
net/ipv4/inet_timewait_sock.c | 2 +-
net/ipv6/inet6_hashtables.c | 38 +++++++++++++----
10 files changed, 170 insertions(+), 57 deletions(-)
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index bf5b21b5fed4..5a383f1a0843 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1548,12 +1548,13 @@ struct ext4_sb_info {
unsigned int s_mb_group_prealloc;
unsigned int s_mb_max_inode_prealloc;
unsigned int s_max_dir_size_kb;
- /* where last allocation was done - for stream allocation */
- unsigned long s_mb_last_group;
- unsigned long s_mb_last_start;
unsigned int s_mb_prefetch;
unsigned int s_mb_prefetch_limit;
+ /* where last allocation was done - for stream allocation */
+ ext4_group_t *s_mb_last_groups;
+ unsigned int s_mb_nr_global_goals;
+
/* stats for buddy allocator */
atomic_t s_bal_reqs; /* number of reqs with len > 1 */
atomic_t s_bal_success; /* we found long enough chunks */
@@ -1561,6 +1562,7 @@ struct ext4_sb_info {
atomic_t s_bal_ex_scanned; /* total extents scanned */
atomic_t s_bal_groups_scanned; /* number of groups scanned */
atomic_t s_bal_goals; /* goal hits */
+ atomic_t s_bal_stream_goals; /* stream allocation global goal hits */
atomic_t s_bal_breaks; /* too long searches */
atomic_t s_bal_2orders; /* 2^order hits */
atomic64_t s_bal_cX_groups_considered[4];
@@ -3395,23 +3397,28 @@ static inline int ext4_fs_is_busy(struct ext4_sb_info *sbi)
return (atomic_read(&sbi->s_lock_busy) > EXT4_CONTENTION_THRESHOLD);
}
+static inline bool ext4_try_lock_group(struct super_block *sb, ext4_group_t group)
+{
+ if (!spin_trylock(ext4_group_lock_ptr(sb, group)))
+ return false;
+ /*
+ * We're able to grab the lock right away, so drop the lock
+ * contention counter.
+ */
+ atomic_add_unless(&EXT4_SB(sb)->s_lock_busy, -1, 0);
+ return true;
+}
+
static inline void ext4_lock_group(struct super_block *sb, ext4_group_t group)
{
- spinlock_t *lock = ext4_group_lock_ptr(sb, group);
- if (spin_trylock(lock))
- /*
- * We're able to grab the lock right away, so drop the
- * lock contention counter.
- */
- atomic_add_unless(&EXT4_SB(sb)->s_lock_busy, -1, 0);
- else {
+ if (!ext4_try_lock_group(sb, group)) {
/*
* The lock is busy, so bump the contention counter,
* and then wait on the spin lock.
*/
atomic_add_unless(&EXT4_SB(sb)->s_lock_busy, 1,
EXT4_MAX_CONTENTION);
- spin_lock(lock);
+ spin_lock(ext4_group_lock_ptr(sb, group));
}
}
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 522d2ec128ef..270856e6efc6 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -1741,11 +1741,11 @@ static void ext4_mb_use_best_found(struct ext4_allocation_context *ac,
get_page(ac->ac_buddy_page);
/* store last allocated for subsequent stream allocation */
if (ac->ac_flags & EXT4_MB_STREAM_ALLOC) {
- spin_lock(&sbi->s_md_lock);
- sbi->s_mb_last_group = ac->ac_f_ex.fe_group;
- sbi->s_mb_last_start = ac->ac_f_ex.fe_start;
- spin_unlock(&sbi->s_md_lock);
+ int hash = ac->ac_inode->i_ino % sbi->s_mb_nr_global_goals;
+
+ WRITE_ONCE(sbi->s_mb_last_groups[hash], ac->ac_f_ex.fe_group);
}
+
/*
* As we've just preallocated more space than
* user requested originally, we store allocated
@@ -2378,11 +2378,11 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac)
/* if stream allocation is enabled, use global goal */
if (ac->ac_flags & EXT4_MB_STREAM_ALLOC) {
- /* TBD: may be hot point */
- spin_lock(&sbi->s_md_lock);
- ac->ac_g_ex.fe_group = sbi->s_mb_last_group;
- ac->ac_g_ex.fe_start = sbi->s_mb_last_start;
- spin_unlock(&sbi->s_md_lock);
+ int hash = ac->ac_inode->i_ino % sbi->s_mb_nr_global_goals;
+
+ ac->ac_g_ex.fe_group = READ_ONCE(sbi->s_mb_last_groups[hash]);
+ ac->ac_g_ex.fe_start = -1;
+ ac->ac_flags &= ~EXT4_MB_HINT_TRY_GOAL;
}
/* Let's just scan groups to find more-less suitable blocks */
@@ -2434,6 +2434,11 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac)
nr = 0;
}
+ /* prevent unnecessary buddy loading. */
+ if (cr < 3 &&
+ spin_is_locked(ext4_group_lock_ptr(sb, group)))
+ continue;
+
/* This now checks without needing the buddy page */
ret = ext4_mb_good_group_nolock(ac, group, cr);
if (ret <= 0) {
@@ -2446,7 +2451,13 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac)
if (err)
goto out;
- ext4_lock_group(sb, group);
+ /* skip busy group */
+ if (cr >= 3) {
+ ext4_lock_group(sb, group);
+ } else if (!ext4_try_lock_group(sb, group)) {
+ ext4_mb_unload_buddy(&e4b);
+ continue;
+ }
/*
* We need to check again after locking the
@@ -2507,8 +2518,12 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac)
}
}
- if (sbi->s_mb_stats && ac->ac_status == AC_STATUS_FOUND)
+ if (sbi->s_mb_stats && ac->ac_status == AC_STATUS_FOUND) {
atomic64_inc(&sbi->s_bal_cX_hits[ac->ac_criteria]);
+ if (ac->ac_flags & EXT4_MB_STREAM_ALLOC &&
+ ac->ac_b_ex.fe_group == ac->ac_g_ex.fe_group)
+ atomic_inc(&sbi->s_bal_stream_goals);
+ }
out:
if (!err && ac->ac_status != AC_STATUS_FOUND && first_err)
err = first_err;
@@ -2658,6 +2673,8 @@ int ext4_seq_mb_stats_show(struct seq_file *seq, void *offset)
atomic64_read(&sbi->s_bal_cX_failed[3]));
seq_printf(seq, "\textents_scanned: %u\n", atomic_read(&sbi->s_bal_ex_scanned));
seq_printf(seq, "\t\tgoal_hits: %u\n", atomic_read(&sbi->s_bal_goals));
+ seq_printf(seq, "\t\tstream_goal_hits: %u\n",
+ atomic_read(&sbi->s_bal_stream_goals));
seq_printf(seq, "\t\t2^n_hits: %u\n", atomic_read(&sbi->s_bal_2orders));
seq_printf(seq, "\t\tbreaks: %u\n", atomic_read(&sbi->s_bal_breaks));
seq_printf(seq, "\t\tlost: %u\n", atomic_read(&sbi->s_mb_lost_chunks));
@@ -3014,10 +3031,19 @@ int ext4_mb_init(struct super_block *sb)
sbi->s_mb_group_prealloc, sbi->s_stripe);
}
+ sbi->s_mb_nr_global_goals = min_t(unsigned int, num_possible_cpus(),
+ DIV_ROUND_UP(sbi->s_groups_count, 4));
+ sbi->s_mb_last_groups = kcalloc(sbi->s_mb_nr_global_goals,
+ sizeof(ext4_group_t), GFP_KERNEL);
+ if (sbi->s_mb_last_groups == NULL) {
+ ret = -ENOMEM;
+ goto out;
+ }
+
sbi->s_locality_groups = alloc_percpu(struct ext4_locality_group);
if (sbi->s_locality_groups == NULL) {
ret = -ENOMEM;
- goto out;
+ goto out_free_last_groups;
}
for_each_possible_cpu(i) {
struct ext4_locality_group *lg;
@@ -3038,6 +3064,9 @@ int ext4_mb_init(struct super_block *sb)
out_free_locality_groups:
free_percpu(sbi->s_locality_groups);
sbi->s_locality_groups = NULL;
+out_free_last_groups:
+ kfree(sbi->s_mb_last_groups);
+ sbi->s_mb_last_groups = NULL;
out:
kfree(sbi->s_mb_offsets);
sbi->s_mb_offsets = NULL;
@@ -3126,6 +3155,7 @@ int ext4_mb_release(struct super_block *sb)
}
free_percpu(sbi->s_locality_groups);
+ kfree(sbi->s_mb_last_groups);
return 0;
}
diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h
index c9e387d174c6..fa002c62d985 100644
--- a/include/net/inet_hashtables.h
+++ b/include/net/inet_hashtables.h
@@ -88,6 +88,7 @@ struct inet_bind_bucket {
bool fast_ipv6_only;
struct hlist_node node;
struct hlist_head owners;
+ struct rcu_head rcu;
};
static inline struct net *ib_net(struct inet_bind_bucket *ib)
@@ -201,8 +202,7 @@ struct inet_bind_bucket *
inet_bind_bucket_create(struct kmem_cache *cachep, struct net *net,
struct inet_bind_hashbucket *head,
const unsigned short snum, int l3mdev);
-void inet_bind_bucket_destroy(struct kmem_cache *cachep,
- struct inet_bind_bucket *tb);
+void inet_bind_bucket_destroy(struct inet_bind_bucket *tb);
static inline u32 inet_bhashfn(const struct net *net, const __u16 lport,
const u32 bhash_size)
@@ -404,9 +404,12 @@ static inline void sk_rcv_saddr_set(struct sock *sk, __be32 addr)
int __inet_hash_connect(struct inet_timewait_death_row *death_row,
struct sock *sk, u64 port_offset,
+ u32 hash_port0,
int (*check_established)(struct inet_timewait_death_row *,
struct sock *, __u16,
- struct inet_timewait_sock **));
+ struct inet_timewait_sock **,
+ bool rcu_lookup,
+ u32 hash));
int inet_hash_connect(struct inet_timewait_death_row *death_row,
struct sock *sk);
diff --git a/include/net/ip.h b/include/net/ip.h
index 12cb525572f0..b36ce4d97904 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -343,7 +343,7 @@ static inline u64 snmp_fold_field64(void __percpu *mib, int offt, size_t syncp_o
void inet_get_local_port_range(struct net *net, int *low, int *high);
#ifdef CONFIG_SYSCTL
-static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
+static inline bool inet_is_local_reserved_port(const struct net *net, unsigned short port)
{
if (!net->ipv4.sysctl_local_reserved_ports)
return false;
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 5d2937935b47..127ea3119b4b 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2848,7 +2848,12 @@ static void ttwu_do_wakeup(struct rq *rq, struct task_struct *p, int wake_flags,
}
if (rq->idle_stamp) {
- u64 delta = rq_clock(rq) - rq->idle_stamp;
+ u64 delta;
+
+ if (sched_feat(IRQ_AVG))
+ delta = rq_clock_task(rq) - rq->idle_stamp;
+ else
+ delta = rq_clock(rq) - rq->idle_stamp;
u64 max = 2*rq->max_idle_balance_cost;
update_avg(&rq->avg_idle, delta);
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 848d45f2bc49..bfdcdad02028 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4473,7 +4473,10 @@ static inline void update_misfit_status(struct task_struct *p, struct rq *rq)
static inline void rq_idle_stamp_update(struct rq *rq)
{
- rq->idle_stamp = rq_clock(rq);
+ if (sched_feat(IRQ_AVG))
+ rq->idle_stamp = rq_clock_task(rq);
+ else
+ rq->idle_stamp = rq_clock(rq);
}
static inline void rq_idle_stamp_clear(struct rq *rq)
diff --git a/kernel/sched/features.h b/kernel/sched/features.h
index c4637bbba4cd..24c546dedbc3 100644
--- a/kernel/sched/features.h
+++ b/kernel/sched/features.h
@@ -115,6 +115,7 @@ SCHED_FEAT(WA_BIAS, true)
*/
SCHED_FEAT(UTIL_EST, true)
SCHED_FEAT(UTIL_EST_FASTUP, true)
+SCHED_FEAT(IRQ_AVG, false)
SCHED_FEAT(ALT_PERIOD, true)
SCHED_FEAT(BASE_SLICE, true)
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c
index 1894cf014129..81b8e5cfe686 100644
--- a/net/ipv4/inet_hashtables.c
+++ b/net/ipv4/inet_hashtables.c
@@ -38,7 +38,7 @@ static u32 inet_ehashfn(const struct net *net, const __be32 laddr,
net_get_random_once(&inet_ehash_secret, sizeof(inet_ehash_secret));
- return __inet_ehashfn(laddr, lport, faddr, fport,
+ return lport + __inet_ehashfn(laddr, 0, faddr, fport,
inet_ehash_secret + net_hash_mix(net));
}
@@ -86,11 +86,11 @@ struct inet_bind_bucket *inet_bind_bucket_create(struct kmem_cache *cachep,
/*
* Caller must hold hashbucket lock for this tb with local BH disabled
*/
-void inet_bind_bucket_destroy(struct kmem_cache *cachep, struct inet_bind_bucket *tb)
+void inet_bind_bucket_destroy(struct inet_bind_bucket *tb)
{
if (hlist_empty(&tb->owners)) {
- __hlist_del(&tb->node);
- kmem_cache_free(cachep, tb);
+ hlist_del_rcu(&tb->node);
+ kfree_rcu(tb, rcu);
}
}
@@ -118,7 +118,7 @@ static void __inet_put_port(struct sock *sk)
__sk_del_bind_node(sk);
inet_csk(sk)->icsk_bind_hash = NULL;
inet_sk(sk)->inet_num = 0;
- inet_bind_bucket_destroy(hashinfo->bind_bucket_cachep, tb);
+ inet_bind_bucket_destroy(tb);
spin_unlock(&head->lock);
}
@@ -440,7 +440,9 @@ EXPORT_SYMBOL_GPL(__inet_lookup_established);
/* called with local bh disabled */
static int __inet_check_established(struct inet_timewait_death_row *death_row,
struct sock *sk, __u16 lport,
- struct inet_timewait_sock **twp)
+ struct inet_timewait_sock **twp,
+ bool rcu_lookup,
+ u32 hash)
{
struct inet_hashinfo *hinfo = death_row->hashinfo;
struct inet_sock *inet = inet_sk(sk);
@@ -451,14 +453,25 @@ static int __inet_check_established(struct inet_timewait_death_row *death_row,
int sdif = l3mdev_master_ifindex_by_index(net, dif);
INET_ADDR_COOKIE(acookie, saddr, daddr);
const __portpair ports = INET_COMBINED_PORTS(inet->inet_dport, lport);
- unsigned int hash = inet_ehashfn(net, daddr, lport,
- saddr, inet->inet_dport);
struct inet_ehash_bucket *head = inet_ehash_bucket(hinfo, hash);
- spinlock_t *lock = inet_ehash_lockp(hinfo, hash);
- struct sock *sk2;
- const struct hlist_nulls_node *node;
struct inet_timewait_sock *tw = NULL;
+ const struct hlist_nulls_node *node;
+ struct sock *sk2;
+ spinlock_t *lock;
+ if (rcu_lookup) {
+ sk_nulls_for_each(sk2, node, &head->chain) {
+ if (sk2->sk_hash != hash ||
+ !INET_MATCH(net, sk2, acookie, ports, dif, sdif))
+ continue;
+ if (sk2->sk_state == TCP_TIME_WAIT)
+ break;
+ return -EADDRNOTAVAIL;
+ }
+ return 0;
+ }
+
+ lock = inet_ehash_lockp(hinfo, hash);
spin_lock(lock);
sk_nulls_for_each(sk2, node, &head->chain) {
@@ -734,8 +747,10 @@ static u32 *table_perturb;
int __inet_hash_connect(struct inet_timewait_death_row *death_row,
struct sock *sk, u64 port_offset,
+ u32 hash_port0,
int (*check_established)(struct inet_timewait_death_row *,
- struct sock *, __u16, struct inet_timewait_sock **))
+ struct sock *, __u16, struct inet_timewait_sock **,
+ bool rcu_lookup, u32 hash))
{
struct inet_hashinfo *hinfo = death_row->hashinfo;
struct inet_timewait_sock *tw = NULL;
@@ -750,7 +765,8 @@ int __inet_hash_connect(struct inet_timewait_death_row *death_row,
if (port) {
local_bh_disable();
- ret = check_established(death_row, sk, port, NULL);
+ ret = check_established(death_row, sk, port, NULL, false,
+ hash_port0 + port);
local_bh_enable();
return ret;
}
@@ -787,6 +803,23 @@ int __inet_hash_connect(struct inet_timewait_death_row *death_row,
continue;
head = &hinfo->bhash[inet_bhashfn(net, port,
hinfo->bhash_size)];
+ rcu_read_lock();
+ hlist_for_each_entry_rcu(tb, &head->chain, node) {
+ if (net_eq(ib_net(tb), net) && tb->l3mdev == l3mdev &&
+ tb->port == port)
+ continue;
+ if (tb->fastreuse >= 0 || tb->fastreuseport >= 0) {
+ rcu_read_unlock();
+ goto next_port;
+ }
+ if (!check_established(death_row, sk, port, &tw, true,
+ hash_port0 + port))
+ break;
+ rcu_read_unlock();
+ goto next_port;
+ }
+ rcu_read_unlock();
+
spin_lock_bh(&head->lock);
/* Does not bother with rcv_saddr checks, because
@@ -797,12 +830,13 @@ int __inet_hash_connect(struct inet_timewait_death_row *death_row,
tb->port == port) {
if (tb->fastreuse >= 0 ||
tb->fastreuseport >= 0)
- goto next_port;
+ goto next_port_unlock;
WARN_ON(hlist_empty(&tb->owners));
if (!check_established(death_row, sk,
- port, &tw))
+ port, &tw, false,
+ hash_port0 + port))
goto ok;
- goto next_port;
+ goto next_port_unlock;
}
}
@@ -815,8 +849,9 @@ int __inet_hash_connect(struct inet_timewait_death_row *death_row,
tb->fastreuse = -1;
tb->fastreuseport = -1;
goto ok;
-next_port:
+next_port_unlock:
spin_unlock_bh(&head->lock);
+next_port:
cond_resched();
}
@@ -856,11 +891,18 @@ int __inet_hash_connect(struct inet_timewait_death_row *death_row,
int inet_hash_connect(struct inet_timewait_death_row *death_row,
struct sock *sk)
{
+ const struct inet_sock *inet = inet_sk(sk);
+ const struct net *net = sock_net(sk);
u64 port_offset = 0;
+ u32 hash_port0;
if (!inet_sk(sk)->inet_num)
port_offset = inet_sk_port_offset(sk);
- return __inet_hash_connect(death_row, sk, port_offset,
+
+ hash_port0 = inet_ehashfn(net, inet->inet_rcv_saddr, 0,
+ inet->inet_daddr, inet->inet_dport);
+
+ return __inet_hash_connect(death_row, sk, port_offset, hash_port0,
__inet_check_established);
}
EXPORT_SYMBOL_GPL(inet_hash_connect);
diff --git a/net/ipv4/inet_timewait_sock.c b/net/ipv4/inet_timewait_sock.c
index cb28e2fb6c7c..f2601522bb6a 100644
--- a/net/ipv4/inet_timewait_sock.c
+++ b/net/ipv4/inet_timewait_sock.c
@@ -36,7 +36,7 @@ void inet_twsk_bind_unhash(struct inet_timewait_sock *tw,
__hlist_del(&tw->tw_bind_node);
tw->tw_tb = NULL;
- inet_bind_bucket_destroy(hashinfo->bind_bucket_cachep, tb);
+ inet_bind_bucket_destroy(tb);
__sock_put((struct sock *)tw);
}
diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c
index b4a5e01e1201..3ce85db9624c 100644
--- a/net/ipv6/inet6_hashtables.c
+++ b/net/ipv6/inet6_hashtables.c
@@ -38,7 +38,7 @@ u32 inet6_ehashfn(const struct net *net,
lhash = (__force u32)laddr->s6_addr32[3];
fhash = __ipv6_addr_jhash(faddr, ipv6_hash_secret);
- return __inet6_ehashfn(lhash, lport, fhash, fport,
+ return lport + __inet6_ehashfn(lhash, 0, fhash, fport,
inet6_ehash_secret + net_hash_mix(net));
}
@@ -245,7 +245,9 @@ EXPORT_SYMBOL_GPL(inet6_lookup);
static int __inet6_check_established(struct inet_timewait_death_row *death_row,
struct sock *sk, const __u16 lport,
- struct inet_timewait_sock **twp)
+ struct inet_timewait_sock **twp,
+ bool rcu_lookup,
+ u32 hash)
{
struct inet_hashinfo *hinfo = death_row->hashinfo;
struct inet_sock *inet = inet_sk(sk);
@@ -255,14 +257,26 @@ static int __inet6_check_established(struct inet_timewait_death_row *death_row,
struct net *net = sock_net(sk);
const int sdif = l3mdev_master_ifindex_by_index(net, dif);
const __portpair ports = INET_COMBINED_PORTS(inet->inet_dport, lport);
- const unsigned int hash = inet6_ehashfn(net, daddr, lport, saddr,
- inet->inet_dport);
struct inet_ehash_bucket *head = inet_ehash_bucket(hinfo, hash);
- spinlock_t *lock = inet_ehash_lockp(hinfo, hash);
- struct sock *sk2;
- const struct hlist_nulls_node *node;
struct inet_timewait_sock *tw = NULL;
+ const struct hlist_nulls_node *node;
+ struct sock *sk2;
+ spinlock_t *lock;
+
+ if (rcu_lookup) {
+ sk_nulls_for_each(sk2, node, &head->chain) {
+ if (sk2->sk_hash != hash ||
+ !inet6_match(net, sk2, saddr, daddr,
+ ports, dif, sdif))
+ continue;
+ if (sk2->sk_state == TCP_TIME_WAIT)
+ break;
+ return -EADDRNOTAVAIL;
+ }
+ return 0;
+ }
+ lock = inet_ehash_lockp(hinfo, hash);
spin_lock(lock);
sk_nulls_for_each(sk2, node, &head->chain) {
@@ -320,11 +334,19 @@ static u64 inet6_sk_port_offset(const struct sock *sk)
int inet6_hash_connect(struct inet_timewait_death_row *death_row,
struct sock *sk)
{
+ const struct in6_addr *daddr = &sk->sk_v6_rcv_saddr;
+ const struct in6_addr *saddr = &sk->sk_v6_daddr;
+ const struct inet_sock *inet = inet_sk(sk);
+ const struct net *net = sock_net(sk);
u64 port_offset = 0;
+ u32 hash_port0;
if (!inet_sk(sk)->inet_num)
port_offset = inet6_sk_port_offset(sk);
- return __inet_hash_connect(death_row, sk, port_offset,
+
+ hash_port0 = inet6_ehashfn(net, daddr, 0, saddr, inet->inet_dport);
+
+ return __inet_hash_connect(death_row, sk, port_offset, hash_port0,
__inet6_check_established);
}
EXPORT_SYMBOL_GPL(inet6_hash_connect);
--
2.25.1
2
1
[openeuler:OLK-6.6 2908/2908] drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:432:6: error: no previous prototype for 'sxe_debugfs_entries_init'
by kernel test robot 22 Sep '25
by kernel test robot 22 Sep '25
22 Sep '25
Hi liujie_answer,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 1f1c00e79b5b7cd4202a28c0fcd645c3c92c0df5
commit: dd013ad487534c1838afc2f55efdb5daec15aace [2908/2908] Ethernet: Linkdata: Supports Linkdata ethernet Controllers
config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20250922/202509221213.1pyyj9JK-lkp@…)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250922/202509221213.1pyyj9JK-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/202509221213.1pyyj9JK-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_xdp.c:410:6: error: no previous prototype for 'sxe_txrx_ring_enable' [-Werror=missing-prototypes]
410 | void sxe_txrx_ring_enable(struct sxe_adapter *adapter, u32 ring_idx)
| ^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:432:6: error: no previous prototype for 'sxe_debugfs_entries_init' [-Werror=missing-prototypes]
432 | void sxe_debugfs_entries_init(struct sxe_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:459:6: error: no previous prototype for 'sxe_debugfs_entries_exit' [-Werror=missing-prototypes]
459 | void sxe_debugfs_entries_exit(struct sxe_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:465:6: error: no previous prototype for 'sxe_debugfs_init' [-Werror=missing-prototypes]
465 | void sxe_debugfs_init(void)
| ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:470:6: error: no previous prototype for 'sxe_debugfs_exit' [-Werror=missing-prototypes]
470 | void sxe_debugfs_exit(void)
| ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2022:5: error: no previous prototype for 'sxe_reg_test' [-Werror=missing-prototypes]
2022 | int sxe_reg_test(struct sxe_adapter *adapter)
| ^~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2644:5: error: no previous prototype for 'sxe_phys_id_set' [-Werror=missing-prototypes]
2644 | int sxe_phys_id_set(struct net_device *netdev, enum ethtool_phys_id_state state)
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c: In function 'sxe_get_module_eeprom':
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2736:47: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
2736 | LOG_ERROR("read sfp failed\n");
| ^
cc1: all warnings being treated as errors
--
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:230:6: error: no previous prototype for 'sxe_hw_no_snoop_disable' [-Werror=missing-prototypes]
230 | void sxe_hw_no_snoop_disable(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:262:6: error: no previous prototype for 'sxe_hw_uc_addr_pool_del' [-Werror=missing-prototypes]
262 | void sxe_hw_uc_addr_pool_del(struct sxe_hw *hw, u32 rar_idx, u32 pool_idx)
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:283:5: error: no previous prototype for 'sxe_hw_uc_addr_pool_enable' [-Werror=missing-prototypes]
283 | s32 sxe_hw_uc_addr_pool_enable(struct sxe_hw *hw, u8 rar_idx, u8 pool_idx)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:337:5: error: no previous prototype for 'sxe_hw_nic_reset' [-Werror=missing-prototypes]
337 | s32 sxe_hw_nic_reset(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:367:6: error: no previous prototype for 'sxe_hw_pf_rst_done_set' [-Werror=missing-prototypes]
367 | void sxe_hw_pf_rst_done_set(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:735:5: error: no previous prototype for 'sxe_hw_pending_irq_read_clear' [-Werror=missing-prototypes]
735 | u32 sxe_hw_pending_irq_read_clear(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:740:6: error: no previous prototype for 'sxe_hw_pending_irq_write_clear' [-Werror=missing-prototypes]
740 | void sxe_hw_pending_irq_write_clear(struct sxe_hw *hw, u32 value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:745:5: error: no previous prototype for 'sxe_hw_irq_cause_get' [-Werror=missing-prototypes]
745 | u32 sxe_hw_irq_cause_get(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:765:6: error: no previous prototype for 'sxe_hw_ring_irq_auto_disable' [-Werror=missing-prototypes]
765 | void sxe_hw_ring_irq_auto_disable(struct sxe_hw *hw, bool is_msix)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:775:6: error: no previous prototype for 'sxe_hw_irq_general_reg_set' [-Werror=missing-prototypes]
775 | void sxe_hw_irq_general_reg_set(struct sxe_hw *hw, u32 value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:780:5: error: no previous prototype for 'sxe_hw_irq_general_reg_get' [-Werror=missing-prototypes]
780 | u32 sxe_hw_irq_general_reg_get(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:790:6: error: no previous prototype for 'sxe_hw_event_irq_map' [-Werror=missing-prototypes]
790 | void sxe_hw_event_irq_map(struct sxe_hw *hw, u8 offset, u16 irq_idx)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:806:6: error: no previous prototype for 'sxe_hw_ring_irq_map' [-Werror=missing-prototypes]
806 | void sxe_hw_ring_irq_map(struct sxe_hw *hw, bool is_tx, u16 reg_idx,
| ^~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:823:6: error: no previous prototype for 'sxe_hw_ring_irq_interval_set' [-Werror=missing-prototypes]
823 | void sxe_hw_ring_irq_interval_set(struct sxe_hw *hw, u16 irq_idx, u32 interval)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:838:6: error: no previous prototype for 'sxe_hw_event_irq_auto_clear_set' [-Werror=missing-prototypes]
838 | void sxe_hw_event_irq_auto_clear_set(struct sxe_hw *hw, u32 value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:843:6: error: no previous prototype for 'sxe_hw_specific_irq_disable' [-Werror=missing-prototypes]
843 | void sxe_hw_specific_irq_disable(struct sxe_hw *hw, u32 value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:848:6: error: no previous prototype for 'sxe_hw_specific_irq_enable' [-Werror=missing-prototypes]
848 | void sxe_hw_specific_irq_enable(struct sxe_hw *hw, u32 value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:876:6: error: no previous prototype for 'sxe_hw_all_irq_disable' [-Werror=missing-prototypes]
876 | void sxe_hw_all_irq_disable(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:994:5: error: no previous prototype for 'sxe_hw_link_speed_get' [-Werror=missing-prototypes]
994 | u32 sxe_hw_link_speed_get(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1014:6: error: no previous prototype for 'sxe_hw_link_speed_set' [-Werror=missing-prototypes]
1014 | void sxe_hw_link_speed_set(struct sxe_hw *hw, u32 speed)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1033:6: error: no previous prototype for 'sxe_hw_is_link_state_up' [-Werror=missing-prototypes]
1033 | bool sxe_hw_is_link_state_up(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1055:6: error: no previous prototype for 'sxe_hw_mac_pad_enable' [-Werror=missing-prototypes]
1055 | void sxe_hw_mac_pad_enable(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1064:5: error: no previous prototype for 'sxe_hw_fc_enable' [-Werror=missing-prototypes]
1064 | s32 sxe_hw_fc_enable(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1135:6: error: no previous prototype for 'sxe_fc_autoneg_localcap_set' [-Werror=missing-prototypes]
1135 | void sxe_fc_autoneg_localcap_set(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1164:5: error: no previous prototype for 'sxe_hw_pfc_enable' [-Werror=missing-prototypes]
1164 | s32 sxe_hw_pfc_enable(struct sxe_hw *hw, u8 tc_idx)
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1256:6: error: no previous prototype for 'sxe_hw_crc_configure' [-Werror=missing-prototypes]
1256 | void sxe_hw_crc_configure(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1264:6: error: no previous prototype for 'sxe_hw_loopback_switch' [-Werror=missing-prototypes]
1264 | void sxe_hw_loopback_switch(struct sxe_hw *hw, bool is_enable)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1276:6: error: no previous prototype for 'sxe_hw_mac_txrx_enable' [-Werror=missing-prototypes]
1276 | void sxe_hw_mac_txrx_enable(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1285:6: error: no previous prototype for 'sxe_hw_mac_max_frame_set' [-Werror=missing-prototypes]
1285 | void sxe_hw_mac_max_frame_set(struct sxe_hw *hw, u32 max_frame)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1298:5: error: no previous prototype for 'sxe_hw_mac_max_frame_get' [-Werror=missing-prototypes]
1298 | u32 sxe_hw_mac_max_frame_get(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1330:6: error: no previous prototype for 'sxe_hw_fc_tc_high_water_mark_set' [-Werror=missing-prototypes]
1330 | void sxe_hw_fc_tc_high_water_mark_set(struct sxe_hw *hw, u8 tc_idx, u32 mark)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1335:6: error: no previous prototype for 'sxe_hw_fc_tc_low_water_mark_set' [-Werror=missing-prototypes]
1335 | void sxe_hw_fc_tc_low_water_mark_set(struct sxe_hw *hw, u8 tc_idx, u32 mark)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1340:6: error: no previous prototype for 'sxe_hw_is_fc_autoneg_disabled' [-Werror=missing-prototypes]
1340 | bool sxe_hw_is_fc_autoneg_disabled(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1345:6: error: no previous prototype for 'sxe_hw_fc_autoneg_disable_set' [-Werror=missing-prototypes]
1345 | void sxe_hw_fc_autoneg_disable_set(struct sxe_hw *hw, bool is_disabled)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1360:6: error: no previous prototype for 'sxe_hw_fc_requested_mode_set' [-Werror=missing-prototypes]
1360 | void sxe_hw_fc_requested_mode_set(struct sxe_hw *hw, enum sxe_fc_mode mode)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1388:5: error: no previous prototype for 'sxe_hw_rx_mode_get' [-Werror=missing-prototypes]
1388 | u32 sxe_hw_rx_mode_get(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1393:5: error: no previous prototype for 'sxe_hw_pool_rx_mode_get' [-Werror=missing-prototypes]
1393 | u32 sxe_hw_pool_rx_mode_get(struct sxe_hw *hw, u16 pool_idx)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1398:6: error: no previous prototype for 'sxe_hw_rx_mode_set' [-Werror=missing-prototypes]
1398 | void sxe_hw_rx_mode_set(struct sxe_hw *hw, u32 filter_ctrl)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1403:6: error: no previous prototype for 'sxe_hw_pool_rx_mode_set' [-Werror=missing-prototypes]
1403 | void sxe_hw_pool_rx_mode_set(struct sxe_hw *hw, u32 vmolr, u16 pool_idx)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1408:6: error: no previous prototype for 'sxe_hw_rx_lro_enable' [-Werror=missing-prototypes]
1408 | void sxe_hw_rx_lro_enable(struct sxe_hw *hw, bool is_enable)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1420:6: error: no previous prototype for 'sxe_hw_rx_nfs_filter_disable' [-Werror=missing-prototypes]
1420 | void sxe_hw_rx_nfs_filter_disable(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1428:6: error: no previous prototype for 'sxe_hw_rx_udp_frag_checksum_disable' [-Werror=missing-prototypes]
1428 | void sxe_hw_rx_udp_frag_checksum_disable(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1437:6: error: no previous prototype for 'sxe_hw_fc_mac_addr_set' [-Werror=missing-prototypes]
1437 | void sxe_hw_fc_mac_addr_set(struct sxe_hw *hw, u8 *mac_addr)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1449:5: error: no previous prototype for 'sxe_hw_uc_addr_add' [-Werror=missing-prototypes]
1449 | s32 sxe_hw_uc_addr_add(struct sxe_hw *hw, u32 rar_idx, u8 *addr, u32 pool_idx)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1484:5: error: no previous prototype for 'sxe_hw_uc_addr_del' [-Werror=missing-prototypes]
1484 | s32 sxe_hw_uc_addr_del(struct sxe_hw *hw, u32 index)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1510:6: error: no previous prototype for 'sxe_hw_mta_hash_table_set' [-Werror=missing-prototypes]
1510 | void sxe_hw_mta_hash_table_set(struct sxe_hw *hw, u8 index, u32 value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1515:6: error: no previous prototype for 'sxe_hw_mta_hash_table_update' [-Werror=missing-prototypes]
1515 | void sxe_hw_mta_hash_table_update(struct sxe_hw *hw, u8 reg_idx, u8 bit_idx)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1525:5: error: no previous prototype for 'sxe_hw_mc_filter_get' [-Werror=missing-prototypes]
1525 | u32 sxe_hw_mc_filter_get(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1530:6: error: no previous prototype for 'sxe_hw_mc_filter_enable' [-Werror=missing-prototypes]
1530 | void sxe_hw_mc_filter_enable(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1554:6: error: no previous prototype for 'sxe_hw_uc_addr_clear' [-Werror=missing-prototypes]
1554 | void sxe_hw_uc_addr_clear(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1587:6: error: no previous prototype for 'sxe_hw_vt_ctrl_cfg' [-Werror=missing-prototypes]
1587 | void sxe_hw_vt_ctrl_cfg(struct sxe_hw *hw, u8 default_pool)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1601:6: error: no previous prototype for 'sxe_hw_vt_disable' [-Werror=missing-prototypes]
1601 | void sxe_hw_vt_disable(struct sxe_hw *hw)
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1675:5: error: no previous prototype for 'sxe_hw_vlan_pool_filter_read' [-Werror=missing-prototypes]
1675 | u32 sxe_hw_vlan_pool_filter_read(struct sxe_hw *hw, u16 reg_index)
--
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:136:5: error: no previous prototype for 'sxe_msi_irq_init' [-Werror=missing-prototypes]
136 | int sxe_msi_irq_init(struct sxe_adapter *adapter)
| ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:182:6: error: no previous prototype for 'sxe_disable_dcb' [-Werror=missing-prototypes]
182 | void sxe_disable_dcb(struct sxe_adapter *adapter)
| ^~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:212:6: error: no previous prototype for 'sxe_disable_rss' [-Werror=missing-prototypes]
212 | void sxe_disable_rss(struct sxe_adapter *adapter)
| ^~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:729:6: error: no previous prototype for 'sxe_lsc_irq_handler' [-Werror=missing-prototypes]
729 | void sxe_lsc_irq_handler(struct sxe_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:745:6: error: no previous prototype for 'sxe_mailbox_irq_handler' [-Werror=missing-prototypes]
745 | void sxe_mailbox_irq_handler(struct sxe_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c:70:6: error: no previous prototype for 'sxe_allow_inval_mac' [-Werror=missing-prototypes]
70 | bool sxe_allow_inval_mac(void)
| ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_phy.c:733:5: error: no previous prototype for 'sxe_multispeed_sfp_link_configure' [-Werror=missing-prototypes]
733 | s32 sxe_multispeed_sfp_link_configure(struct sxe_adapter *adapter, u32 speed)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_rx_proc.c:1431:6: error: no previous prototype for 'sxe_headers_cleanup' [-Werror=missing-prototypes]
1431 | bool sxe_headers_cleanup(struct sxe_ring *rx_ring,
| ^~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_rx_proc.c:1569:6: error: no previous prototype for 'sxe_rx_buffer_page_offset_update' [-Werror=missing-prototypes]
1569 | void sxe_rx_buffer_page_offset_update(struct sxe_ring *rx_ring,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c: In function 'sxe_vf_uc_addr_del':
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c:766:13: error: variable 'ret' set but not used [-Werror=unused-but-set-variable]
766 | s32 ret;
| ^~~
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c: At top level:
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c:1552:6: error: no previous prototype for 'sxe_set_vf_link_enable' [-Werror=missing-prototypes]
1552 | void sxe_set_vf_link_enable(struct sxe_adapter *adapter, s32 vf_idx, s32 state)
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:160:6: error: no previous prototype for 'sxevf_hw_stop' [-Werror=missing-prototypes]
160 | void sxevf_hw_stop(struct sxevf_hw *hw)
| ^~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:187:6: error: no previous prototype for 'sxevf_msg_write' [-Werror=missing-prototypes]
187 | void sxevf_msg_write(struct sxevf_hw *hw, u8 index, u32 msg)
| ^~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:196:5: error: no previous prototype for 'sxevf_msg_read' [-Werror=missing-prototypes]
196 | u32 sxevf_msg_read(struct sxevf_hw *hw, u8 index)
| ^~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:206:5: error: no previous prototype for 'sxevf_mailbox_read' [-Werror=missing-prototypes]
206 | u32 sxevf_mailbox_read(struct sxevf_hw *hw)
| ^~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:211:6: error: no previous prototype for 'sxevf_mailbox_write' [-Werror=missing-prototypes]
211 | void sxevf_mailbox_write(struct sxevf_hw *hw, u32 value)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:216:6: error: no previous prototype for 'sxevf_pf_req_irq_trigger' [-Werror=missing-prototypes]
216 | void sxevf_pf_req_irq_trigger(struct sxevf_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:221:6: error: no previous prototype for 'sxevf_pf_ack_irq_trigger' [-Werror=missing-prototypes]
221 | void sxevf_pf_ack_irq_trigger(struct sxevf_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:226:6: error: no previous prototype for 'sxevf_event_irq_map' [-Werror=missing-prototypes]
226 | void sxevf_event_irq_map(struct sxevf_hw *hw, u16 vector)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:240:6: error: no previous prototype for 'sxevf_specific_irq_enable' [-Werror=missing-prototypes]
240 | void sxevf_specific_irq_enable(struct sxevf_hw *hw, u32 value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:245:6: error: no previous prototype for 'sxevf_irq_enable' [-Werror=missing-prototypes]
245 | void sxevf_irq_enable(struct sxevf_hw *hw, u32 mask)
| ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:251:6: error: no previous prototype for 'sxevf_irq_disable' [-Werror=missing-prototypes]
251 | void sxevf_irq_disable(struct sxevf_hw *hw)
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:259:6: error: no previous prototype for 'sxevf_hw_ring_irq_map' [-Werror=missing-prototypes]
259 | void sxevf_hw_ring_irq_map(struct sxevf_hw *hw, bool is_tx, u16 hw_ring_idx,
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:276:6: error: no previous prototype for 'sxevf_ring_irq_interval_set' [-Werror=missing-prototypes]
276 | void sxevf_ring_irq_interval_set(struct sxevf_hw *hw, u16 irq_idx, u32 interval)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:313:6: error: no previous prototype for 'sxevf_hw_reset' [-Werror=missing-prototypes]
313 | void sxevf_hw_reset(struct sxevf_hw *hw)
| ^~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:324:5: error: no previous prototype for 'sxevf_link_state_get' [-Werror=missing-prototypes]
324 | u32 sxevf_link_state_get(struct sxevf_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:539:6: error: no previous prototype for 'sxevf_tx_ring_switch' [-Werror=missing-prototypes]
539 | void sxevf_tx_ring_switch(struct sxevf_hw *hw, u8 reg_idx, bool is_on)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:594:6: error: no previous prototype for 'sxevf_rx_ring_switch' [-Werror=missing-prototypes]
594 | void sxevf_rx_ring_switch(struct sxevf_hw *hw, u8 reg_idx, bool is_on)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:626:6: error: no previous prototype for 'sxevf_rx_ring_desc_configure' [-Werror=missing-prototypes]
626 | void sxevf_rx_ring_desc_configure(struct sxevf_hw *hw, u32 desc_mem_len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:640:6: error: no previous prototype for 'sxevf_rx_rcv_ctl_configure' [-Werror=missing-prototypes]
640 | void sxevf_rx_rcv_ctl_configure(struct sxevf_hw *hw, u8 reg_idx,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:697:6: error: no previous prototype for 'sxevf_32bit_counter_update' [-Werror=missing-prototypes]
697 | void sxevf_32bit_counter_update(struct sxevf_hw *hw,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:710:6: error: no previous prototype for 'sxevf_36bit_counter_update' [-Werror=missing-prototypes]
710 | void sxevf_36bit_counter_update(struct sxevf_hw *hw,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:726:6: error: no previous prototype for 'sxevf_packet_stats_get' [-Werror=missing-prototypes]
726 | void sxevf_packet_stats_get(struct sxevf_hw *hw, struct sxevf_hw_stats *stats)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:740:6: error: no previous prototype for 'sxevf_stats_init_value_get' [-Werror=missing-prototypes]
740 | void sxevf_stats_init_value_get(struct sxevf_hw *hw,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
..
vim +/sxe_debugfs_entries_init +432 drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c
431
> 432 void sxe_debugfs_entries_init(struct sxe_adapter *adapter)
433 {
434 struct dentry *dir;
435 const char *name = pci_name(adapter->pdev);
436
437 adapter->debugfs_entries = debugfs_create_dir(name, sxe_debugfs_root);
438 dir = debugfs_create_file("reg_ops", 0600, adapter->debugfs_entries,
439 adapter, &sxe_debugfs_reg_ops_fops);
440 if (!dir || dir == ERR_PTR(-ENODEV))
441 LOG_INFO_BDF("debugfs:reg_ops file create failed\n");
442
443 dir = debugfs_create_file("netdev_ops", 0600, adapter->debugfs_entries,
444 adapter, &sxe_debugfs_netdev_ops_fops);
445 if (!dir || dir == ERR_PTR(-ENODEV))
446 LOG_INFO_BDF("debugfs:netdev_ops file create failed\n");
447
448 dir = debugfs_create_file("hw_stats", 0400, adapter->debugfs_entries,
449 adapter, &sxe_debugfs_hw_stats_fops);
450 if (!dir || dir == ERR_PTR(-ENODEV))
451 LOG_INFO_BDF("debugfs:hw_stats file create failed\n");
452
453 dir = debugfs_create_file("sfp_info", 0400, adapter->debugfs_entries,
454 adapter, &sxe_debugfs_sfp_info_fops);
455 if (!dir || dir == ERR_PTR(-ENODEV))
456 LOG_INFO_BDF("debugfs:sfp_info file create failed\n");
457 }
458
> 459 void sxe_debugfs_entries_exit(struct sxe_adapter *adapter)
460 {
461 debugfs_remove_recursive(adapter->debugfs_entries);
462 adapter->debugfs_entries = NULL;
463 }
464
> 465 void sxe_debugfs_init(void)
466 {
467 sxe_debugfs_root = debugfs_create_dir(SXE_DRV_NAME, NULL);
468 }
469
> 470 void sxe_debugfs_exit(void)
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Fix CVE-2022-50343.
Yang Yingliang (1):
rapidio: fix possible name leaks when rio_add_device() fails
drivers/rapidio/devices/rio_mport_cdev.c | 7 +++++--
drivers/rapidio/rio-scan.c | 8 ++++++--
2 files changed, 11 insertions(+), 4 deletions(-)
--
2.34.1
2
2
[PATCH openEuler-1.0-LTS] tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
by Jinjie Ruan 20 Sep '25
by Jinjie Ruan 20 Sep '25
20 Sep '25
From: Hanjun Guo <guohanjun(a)huawei.com>
stable inclusion
from stable-v4.19.270
commit 1af2232b13837ce0f3a082b9f43735b09aafc367
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYQLS
CVE: CVE-2022-50389
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 37e90c374dd11cf4919c51e847c6d6ced0abc555 upstream.
In crb_acpi_add(), we get the TPM2 table to retrieve information
like start method, and then assign them to the priv data, so the
TPM2 table is not used after the init, should be freed, call
acpi_put_table() to fix the memory leak.
Fixes: 30fc8d138e91 ("tpm: TPM 2.0 CRB Interface")
Cc: stable(a)vger.kernel.org
Signed-off-by: Hanjun Guo <guohanjun(a)huawei.com>
Reviewed-by: Jarkko Sakkinen <jarkko(a)kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Jinjie Ruan <ruanjinjie(a)huawei.com>
---
drivers/char/tpm/tpm_crb.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
index 763fc7e6c005..bd933867f57f 100644
--- a/drivers/char/tpm/tpm_crb.c
+++ b/drivers/char/tpm/tpm_crb.c
@@ -623,12 +623,16 @@ static int crb_acpi_add(struct acpi_device *device)
/* Should the FIFO driver handle this? */
sm = buf->start_method;
- if (sm == ACPI_TPM2_MEMORY_MAPPED)
- return -ENODEV;
+ if (sm == ACPI_TPM2_MEMORY_MAPPED) {
+ rc = -ENODEV;
+ goto out;
+ }
priv = devm_kzalloc(dev, sizeof(struct crb_priv), GFP_KERNEL);
- if (!priv)
- return -ENOMEM;
+ if (!priv) {
+ rc = -ENOMEM;
+ goto out;
+ }
if (sm == ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC) {
if (buf->header.length < (sizeof(*buf) + sizeof(*crb_smc))) {
@@ -636,7 +640,8 @@ static int crb_acpi_add(struct acpi_device *device)
FW_BUG "TPM2 ACPI table has wrong size %u for start method type %d\n",
buf->header.length,
ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC);
- return -EINVAL;
+ rc = -EINVAL;
+ goto out;
}
crb_smc = ACPI_ADD_PTR(struct tpm2_crb_smc, buf, sizeof(*buf));
priv->smc_func_id = crb_smc->smc_func_id;
@@ -647,17 +652,23 @@ static int crb_acpi_add(struct acpi_device *device)
rc = crb_map_io(device, priv, buf);
if (rc)
- return rc;
+ goto out;
chip = tpmm_chip_alloc(dev, &tpm_crb);
- if (IS_ERR(chip))
- return PTR_ERR(chip);
+ if (IS_ERR(chip)) {
+ rc = PTR_ERR(chip);
+ goto out;
+ }
dev_set_drvdata(&chip->dev, priv);
chip->acpi_dev_handle = device->handle;
chip->flags = TPM_CHIP_FLAG_TPM2;
- return tpm_chip_register(chip);
+ rc = tpm_chip_register(chip);
+
+out:
+ acpi_put_table((struct acpi_table_header *)buf);
+ return rc;
}
static int crb_acpi_remove(struct acpi_device *device)
--
2.34.1
2
1
[PATCH openeuler-1.0-LTS] tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
by Jinjie Ruan 20 Sep '25
by Jinjie Ruan 20 Sep '25
20 Sep '25
From: Hanjun Guo <guohanjun(a)huawei.com>
stable inclusion
from stable-v4.19.270
commit 1af2232b13837ce0f3a082b9f43735b09aafc367
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYQLS
CVE: CVE-2022-50389
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 37e90c374dd11cf4919c51e847c6d6ced0abc555 upstream.
In crb_acpi_add(), we get the TPM2 table to retrieve information
like start method, and then assign them to the priv data, so the
TPM2 table is not used after the init, should be freed, call
acpi_put_table() to fix the memory leak.
Fixes: 30fc8d138e91 ("tpm: TPM 2.0 CRB Interface")
Cc: stable(a)vger.kernel.org
Signed-off-by: Hanjun Guo <guohanjun(a)huawei.com>
Reviewed-by: Jarkko Sakkinen <jarkko(a)kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Jinjie Ruan <ruanjinjie(a)huawei.com>
---
drivers/char/tpm/tpm_crb.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
index 763fc7e6c005..bd933867f57f 100644
--- a/drivers/char/tpm/tpm_crb.c
+++ b/drivers/char/tpm/tpm_crb.c
@@ -623,12 +623,16 @@ static int crb_acpi_add(struct acpi_device *device)
/* Should the FIFO driver handle this? */
sm = buf->start_method;
- if (sm == ACPI_TPM2_MEMORY_MAPPED)
- return -ENODEV;
+ if (sm == ACPI_TPM2_MEMORY_MAPPED) {
+ rc = -ENODEV;
+ goto out;
+ }
priv = devm_kzalloc(dev, sizeof(struct crb_priv), GFP_KERNEL);
- if (!priv)
- return -ENOMEM;
+ if (!priv) {
+ rc = -ENOMEM;
+ goto out;
+ }
if (sm == ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC) {
if (buf->header.length < (sizeof(*buf) + sizeof(*crb_smc))) {
@@ -636,7 +640,8 @@ static int crb_acpi_add(struct acpi_device *device)
FW_BUG "TPM2 ACPI table has wrong size %u for start method type %d\n",
buf->header.length,
ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC);
- return -EINVAL;
+ rc = -EINVAL;
+ goto out;
}
crb_smc = ACPI_ADD_PTR(struct tpm2_crb_smc, buf, sizeof(*buf));
priv->smc_func_id = crb_smc->smc_func_id;
@@ -647,17 +652,23 @@ static int crb_acpi_add(struct acpi_device *device)
rc = crb_map_io(device, priv, buf);
if (rc)
- return rc;
+ goto out;
chip = tpmm_chip_alloc(dev, &tpm_crb);
- if (IS_ERR(chip))
- return PTR_ERR(chip);
+ if (IS_ERR(chip)) {
+ rc = PTR_ERR(chip);
+ goto out;
+ }
dev_set_drvdata(&chip->dev, priv);
chip->acpi_dev_handle = device->handle;
chip->flags = TPM_CHIP_FLAG_TPM2;
- return tpm_chip_register(chip);
+ rc = tpm_chip_register(chip);
+
+out:
+ acpi_put_table((struct acpi_table_header *)buf);
+ return rc;
}
static int crb_acpi_remove(struct acpi_device *device)
--
2.34.1
2
1
20 Sep '25
From: Qasim Ijaz <qasdev00(a)gmail.com>
mainline inclusion
from mainline-v6.12-rc1
commit d3af6ca9a8c34bbd8cff32b469b84c9021c9e7e4
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYBTZ
CVE: CVE-2025-39824
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
After hid_hw_start() is called hidinput_connect() will eventually be
called to set up the device with the input layer since the
HID_CONNECT_DEFAULT connect mask is used. During hidinput_connect()
all input and output reports are processed and corresponding hid_inputs
are allocated and configured via hidinput_configure_usages(). This
process involves slot tagging report fields and configuring usages
by setting relevant bits in the capability bitmaps. However it is possible
that the capability bitmaps are not set at all leading to the subsequent
hidinput_has_been_populated() check to fail leading to the freeing of the
hid_input and the underlying input device.
This becomes problematic because a malicious HID device like a
ASUS ROG N-Key keyboard can trigger the above scenario via a
specially crafted descriptor which then leads to a user-after-free
when the name of the freed input device is written to later on after
hid_hw_start(). Below, report 93 intentionally utilises the
HID_UP_UNDEFINED Usage Page which is skipped during usage
configuration, leading to the frees.
0x05, 0x0D, // Usage Page (Digitizer)
0x09, 0x05, // Usage (Touch Pad)
0xA1, 0x01, // Collection (Application)
0x85, 0x0D, // Report ID (13)
0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00)
0x09, 0xC5, // Usage (0xC5)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0x00, // Logical Maximum (255)
0x75, 0x08, // Report Size (8)
0x95, 0x04, // Report Count (4)
0xB1, 0x02, // Feature (Data,Var,Abs)
0x85, 0x5D, // Report ID (93)
0x06, 0x00, 0x00, // Usage Page (Undefined)
0x09, 0x01, // Usage (0x01)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0x00, // Logical Maximum (255)
0x75, 0x08, // Report Size (8)
0x95, 0x1B, // Report Count (27)
0x81, 0x02, // Input (Data,Var,Abs)
0xC0, // End Collection
Below is the KASAN splat after triggering the UAF:
[ 21.672709] ==================================================================
[ 21.673700] BUG: KASAN: slab-use-after-free in asus_probe+0xeeb/0xf80
[ 21.673700] Write of size 8 at addr ffff88810a0ac000 by task kworker/1:2/54
[ 21.673700]
[ 21.673700] CPU: 1 UID: 0 PID: 54 Comm: kworker/1:2 Not tainted 6.16.0-rc4-g9773391cf4dd-dirty #36 PREEMPT(voluntary)
[ 21.673700] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 21.673700] Call Trace:
[ 21.673700] <TASK>
[ 21.673700] dump_stack_lvl+0x5f/0x80
[ 21.673700] print_report+0xd1/0x660
[ 21.673700] kasan_report+0xe5/0x120
[ 21.673700] __asan_report_store8_noabort+0x1b/0x30
[ 21.673700] asus_probe+0xeeb/0xf80
[ 21.673700] hid_device_probe+0x2ee/0x700
[ 21.673700] really_probe+0x1c6/0x6b0
[ 21.673700] __driver_probe_device+0x24f/0x310
[ 21.673700] driver_probe_device+0x4e/0x220
[...]
[ 21.673700]
[ 21.673700] Allocated by task 54:
[ 21.673700] kasan_save_stack+0x3d/0x60
[ 21.673700] kasan_save_track+0x18/0x40
[ 21.673700] kasan_save_alloc_info+0x3b/0x50
[ 21.673700] __kasan_kmalloc+0x9c/0xa0
[ 21.673700] __kmalloc_cache_noprof+0x139/0x340
[ 21.673700] input_allocate_device+0x44/0x370
[ 21.673700] hidinput_connect+0xcb6/0x2630
[ 21.673700] hid_connect+0xf74/0x1d60
[ 21.673700] hid_hw_start+0x8c/0x110
[ 21.673700] asus_probe+0x5a3/0xf80
[ 21.673700] hid_device_probe+0x2ee/0x700
[ 21.673700] really_probe+0x1c6/0x6b0
[ 21.673700] __driver_probe_device+0x24f/0x310
[ 21.673700] driver_probe_device+0x4e/0x220
[...]
[ 21.673700]
[ 21.673700] Freed by task 54:
[ 21.673700] kasan_save_stack+0x3d/0x60
[ 21.673700] kasan_save_track+0x18/0x40
[ 21.673700] kasan_save_free_info+0x3f/0x60
[ 21.673700] __kasan_slab_free+0x3c/0x50
[ 21.673700] kfree+0xcf/0x350
[ 21.673700] input_dev_release+0xab/0xd0
[ 21.673700] device_release+0x9f/0x220
[ 21.673700] kobject_put+0x12b/0x220
[ 21.673700] put_device+0x12/0x20
[ 21.673700] input_free_device+0x4c/0xb0
[ 21.673700] hidinput_connect+0x1862/0x2630
[ 21.673700] hid_connect+0xf74/0x1d60
[ 21.673700] hid_hw_start+0x8c/0x110
[ 21.673700] asus_probe+0x5a3/0xf80
[ 21.673700] hid_device_probe+0x2ee/0x700
[ 21.673700] really_probe+0x1c6/0x6b0
[ 21.673700] __driver_probe_device+0x24f/0x310
[ 21.673700] driver_probe_device+0x4e/0x220
[...]
Fixes: 9ce12d8be12c ("HID: asus: Add i2c touchpad support")
Cc: stable(a)vger.kernel.org
Signed-off-by: Qasim Ijaz <qasdev00(a)gmail.com>
Link: https://patch.msgid.link/20250810181041.44874-1-qasdev00@gmail.com
Signed-off-by: Benjamin Tissoires <bentiss(a)kernel.org>
Signed-off-by: Bowen You <youbowen2(a)huawei.com>
---
drivers/hid/hid-asus.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
index 84625e817ce9..896f73aa4d2c 100644
--- a/drivers/hid/hid-asus.c
+++ b/drivers/hid/hid-asus.c
@@ -1108,7 +1108,13 @@ static int asus_probe(struct hid_device *hdev, const struct hid_device_id *id)
return ret;
}
- if (!drvdata->input) {
+ /*
+ * Check that input registration succeeded. Checking that
+ * HID_CLAIMED_INPUT is set prevents a UAF when all input devices
+ * were freed during registration due to no usages being mapped,
+ * leaving drvdata->input pointing to freed memory.
+ */
+ if (!drvdata->input || !(hdev->claimed & HID_CLAIMED_INPUT)) {
hid_err(hdev, "Asus input not registered\n");
ret = -ENOMEM;
goto err_stop_hw;
--
2.34.1
2
1
James Bottomley (1):
scsi: ses: Don't attach if enclosure has no components
Jiri Kosina (1):
scsi: ses: Handle enclosure with just a primary component gracefully
drivers/scsi/ses.c | 1 +
1 file changed, 1 insertion(+)
--
2.46.1
2
3
[PATCH OLK-6.6] media: dvb-frontends: dib7090p: fix null-ptr-deref in dib7090p_rw_on_apb()
by Lin Yujun 20 Sep '25
by Lin Yujun 20 Sep '25
20 Sep '25
From: Alex Guo <alexguo1023(a)gmail.com>
stable inclusion
from stable-v6.6.103
commit 09906650484a09b3a4d4b3d3065395856810becd
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWGG6
CVE: CVE-2025-38694
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit ce5cac69b2edac3e3246fee03e8f4c2a1075238b ]
In dib7090p_rw_on_apb, msg is controlled by user. When msg[0].buf is null and
msg[0].len is zero, former checks on msg[0].buf would be passed. If accessing
msg[0].buf[2] without sanity check, null pointer deref would happen. We add
check on msg[0].len to prevent crash. Similar issue occurs when access
msg[1].buf[0] and msg[1].buf[1].
Similar commit: commit 0ed554fd769a ("media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()")
Signed-off-by: Alex Guo <alexguo1023(a)gmail.com>
Link: https://lore.kernel.org/r/20250616013231.730221-1-alexguo1023@gmail.com
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Lin Yujun <linyujun809(a)h-partners.com>
---
drivers/media/dvb-frontends/dib7000p.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/media/dvb-frontends/dib7000p.c b/drivers/media/dvb-frontends/dib7000p.c
index 444fe1c4bf2d..f94660dd9df0 100644
--- a/drivers/media/dvb-frontends/dib7000p.c
+++ b/drivers/media/dvb-frontends/dib7000p.c
@@ -2259,12 +2259,16 @@ static int dib7090p_rw_on_apb(struct i2c_adapter *i2c_adap,
{
struct dib7000p_state *state = i2c_get_adapdata(i2c_adap);
u16 word;
if (num == 1) { /* write */
+ if (msg[0].len < 3)
+ return -EOPNOTSUPP;
dib7000p_write_word(state, apb_address, ((msg[0].buf[1] << 8) | (msg[0].buf[2])));
} else {
+ if (msg[1].len < 2)
+ return -EOPNOTSUPP;
word = dib7000p_read_word(state, apb_address);
msg[1].buf[0] = (word >> 8) & 0xff;
msg[1].buf[1] = (word) & 0xff;
}
--
2.34.1
2
1
20 Sep '25
From: Jiufei Xue <jiufei.xue(a)samsung.com>
stable inclusion
from stable-v5.15.192
commit b187c976111960e6e54a6b1fff724f6e3d39406c
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYXVD
CVE: CVE-2025-39866
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit d02d2c98d25793902f65803ab853b592c7a96b29 ]
An use-after-free issue occurred when __mark_inode_dirty() get the
bdi_writeback that was in the progress of switching.
CPU: 1 PID: 562 Comm: systemd-random- Not tainted 6.6.56-gb4403bd46a8e #1
......
pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __mark_inode_dirty+0x124/0x418
lr : __mark_inode_dirty+0x118/0x418
sp : ffffffc08c9dbbc0
........
Call trace:
__mark_inode_dirty+0x124/0x418
generic_update_time+0x4c/0x60
file_modified+0xcc/0xd0
ext4_buffered_write_iter+0x58/0x124
ext4_file_write_iter+0x54/0x704
vfs_write+0x1c0/0x308
ksys_write+0x74/0x10c
__arm64_sys_write+0x1c/0x28
invoke_syscall+0x48/0x114
el0_svc_common.constprop.0+0xc0/0xe0
do_el0_svc+0x1c/0x28
el0_svc+0x40/0xe4
el0t_64_sync_handler+0x120/0x12c
el0t_64_sync+0x194/0x198
Root cause is:
systemd-random-seed kworker
----------------------------------------------------------------------
___mark_inode_dirty inode_switch_wbs_work_fn
spin_lock(&inode->i_lock);
inode_attach_wb
locked_inode_to_wb_and_lock_list
get inode->i_wb
spin_unlock(&inode->i_lock);
spin_lock(&wb->list_lock)
spin_lock(&inode->i_lock)
inode_io_list_move_locked
spin_unlock(&wb->list_lock)
spin_unlock(&inode->i_lock)
spin_lock(&old_wb->list_lock)
inode_do_switch_wbs
spin_lock(&inode->i_lock)
inode->i_wb = new_wb
spin_unlock(&inode->i_lock)
spin_unlock(&old_wb->list_lock)
wb_put_many(old_wb, nr_switched)
cgwb_release
old wb released
wb_wakeup_delayed() accesses wb,
then trigger the use-after-free
issue
Fix this race condition by holding inode spinlock until
wb_wakeup_delayed() finished.
Signed-off-by: Jiufei Xue <jiufei.xue(a)samsung.com>
Link: https://lore.kernel.org/20250728100715.3863241-1-jiufei.xue@samsung.com
Reviewed-by: Jan Kara <jack(a)suse.cz>
Signed-off-by: Christian Brauner <brauner(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Zizhi Wo <wozizhi(a)huawei.com>
---
fs/fs-writeback.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 9a3ad7b009cc..0920ce74652c 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -2340,10 +2340,6 @@ void __mark_inode_dirty(struct inode *inode, int flags)
wakeup_bdi = inode_io_list_move_locked(inode, wb,
dirty_list);
- spin_unlock(&wb->list_lock);
- spin_unlock(&inode->i_lock);
- trace_writeback_dirty_inode_enqueue(inode);
-
/*
* If this is the first dirty inode for this bdi,
* we have to wake-up the corresponding bdi thread
@@ -2353,6 +2349,11 @@ void __mark_inode_dirty(struct inode *inode, int flags)
if (wakeup_bdi &&
(wb->bdi->capabilities & BDI_CAP_WRITEBACK))
wb_wakeup_delayed(wb);
+
+ spin_unlock(&wb->list_lock);
+ spin_unlock(&inode->i_lock);
+ trace_writeback_dirty_inode_enqueue(inode);
+
return;
}
}
--
2.39.2
2
1
[PATCH openEuler-1.0-LTS] fs: writeback: fix use-after-free in __mark_inode_dirty()
by Zizhi Wo 20 Sep '25
by Zizhi Wo 20 Sep '25
20 Sep '25
From: Jiufei Xue <jiufei.xue(a)samsung.com>
stable inclusion
from stable-v5.15.192
commit b187c976111960e6e54a6b1fff724f6e3d39406c
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYXVD
CVE: CVE-2025-39866
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit d02d2c98d25793902f65803ab853b592c7a96b29 ]
An use-after-free issue occurred when __mark_inode_dirty() get the
bdi_writeback that was in the progress of switching.
CPU: 1 PID: 562 Comm: systemd-random- Not tainted 6.6.56-gb4403bd46a8e #1
......
pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __mark_inode_dirty+0x124/0x418
lr : __mark_inode_dirty+0x118/0x418
sp : ffffffc08c9dbbc0
........
Call trace:
__mark_inode_dirty+0x124/0x418
generic_update_time+0x4c/0x60
file_modified+0xcc/0xd0
ext4_buffered_write_iter+0x58/0x124
ext4_file_write_iter+0x54/0x704
vfs_write+0x1c0/0x308
ksys_write+0x74/0x10c
__arm64_sys_write+0x1c/0x28
invoke_syscall+0x48/0x114
el0_svc_common.constprop.0+0xc0/0xe0
do_el0_svc+0x1c/0x28
el0_svc+0x40/0xe4
el0t_64_sync_handler+0x120/0x12c
el0t_64_sync+0x194/0x198
Root cause is:
systemd-random-seed kworker
----------------------------------------------------------------------
___mark_inode_dirty inode_switch_wbs_work_fn
spin_lock(&inode->i_lock);
inode_attach_wb
locked_inode_to_wb_and_lock_list
get inode->i_wb
spin_unlock(&inode->i_lock);
spin_lock(&wb->list_lock)
spin_lock(&inode->i_lock)
inode_io_list_move_locked
spin_unlock(&wb->list_lock)
spin_unlock(&inode->i_lock)
spin_lock(&old_wb->list_lock)
inode_do_switch_wbs
spin_lock(&inode->i_lock)
inode->i_wb = new_wb
spin_unlock(&inode->i_lock)
spin_unlock(&old_wb->list_lock)
wb_put_many(old_wb, nr_switched)
cgwb_release
old wb released
wb_wakeup_delayed() accesses wb,
then trigger the use-after-free
issue
Fix this race condition by holding inode spinlock until
wb_wakeup_delayed() finished.
Signed-off-by: Jiufei Xue <jiufei.xue(a)samsung.com>
Link: https://lore.kernel.org/20250728100715.3863241-1-jiufei.xue@samsung.com
Reviewed-by: Jan Kara <jack(a)suse.cz>
Signed-off-by: Christian Brauner <brauner(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Conflicts:
fs/fs-writeback.c
[Simple context conflicts, direct adaptation.]
Signed-off-by: Zizhi Wo <wozizhi(a)huawei.com>
---
fs/fs-writeback.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 1208f61373c8..c6ece07dd4b0 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -2260,10 +2260,6 @@ void __mark_inode_dirty(struct inode *inode, int flags)
wakeup_bdi = inode_io_list_move_locked(inode, wb,
dirty_list);
- spin_unlock(&wb->list_lock);
- spin_unlock(&inode->i_lock);
- trace_writeback_dirty_inode_enqueue(inode);
-
/*
* If this is the first dirty inode for this bdi,
* we have to wake-up the corresponding bdi thread
@@ -2272,6 +2268,11 @@ void __mark_inode_dirty(struct inode *inode, int flags)
*/
if (bdi_cap_writeback_dirty(wb->bdi) && wakeup_bdi)
wb_wakeup_delayed(wb);
+
+ spin_unlock(&wb->list_lock);
+ spin_unlock(&inode->i_lock);
+ trace_writeback_dirty_inode_enqueue(inode);
+
return;
}
}
--
2.39.2
2
1
[PATCH OLK-5.10] net: bridge: fix soft lockup in br_multicast_query_expired()
by Bowen You 20 Sep '25
by Bowen You 20 Sep '25
20 Sep '25
From: Wang Liang <wangliang74(a)huawei.com>
mainline inclusion
from mainline-v6.12-rc1
commit d1547bf460baec718b3398365f8de33d25c5f36f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICXMCM
CVE: CVE-2025-39773
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
When set multicast_query_interval to a large value, the local variable
'time' in br_multicast_send_query() may overflow. If the time is smaller
than jiffies, the timer will expire immediately, and then call mod_timer()
again, which creates a loop and may trigger the following soft lockup
issue.
watchdog: BUG: soft lockup - CPU#1 stuck for 221s! [rb_consumer:66]
CPU: 1 UID: 0 PID: 66 Comm: rb_consumer Not tainted 6.16.0+ #259 PREEMPT(none)
Call Trace:
<IRQ>
__netdev_alloc_skb+0x2e/0x3a0
br_ip6_multicast_alloc_query+0x212/0x1b70
__br_multicast_send_query+0x376/0xac0
br_multicast_send_query+0x299/0x510
br_multicast_query_expired.constprop.0+0x16d/0x1b0
call_timer_fn+0x3b/0x2a0
__run_timers+0x619/0x950
run_timer_softirq+0x11c/0x220
handle_softirqs+0x18e/0x560
__irq_exit_rcu+0x158/0x1a0
sysvec_apic_timer_interrupt+0x76/0x90
</IRQ>
This issue can be reproduced with:
ip link add br0 type bridge
echo 1 > /sys/class/net/br0/bridge/multicast_querier
echo 0xffffffffffffffff >
/sys/class/net/br0/bridge/multicast_query_interval
ip link set dev br0 up
The multicast_startup_query_interval can also cause this issue. Similar to
the commit 99b40610956a ("net: bridge: mcast: add and enforce query
interval minimum"), add check for the query interval maximum to fix this
issue.
Link: https://lore.kernel.org/netdev/20250806094941.1285944-1-wangliang74@huawei.…
Link: https://lore.kernel.org/netdev/20250812091818.542238-1-wangliang74@huawei.c…
Fixes: d902eee43f19 ("bridge: Add multicast count/interval sysfs entries")
Suggested-by: Nikolay Aleksandrov <razor(a)blackwall.org>
Signed-off-by: Wang Liang <wangliang74(a)huawei.com>
Reviewed-by: Ido Schimmel <idosch(a)nvidia.com>
Acked-by: Nikolay Aleksandrov <razor(a)blackwall.org>
Link: https://patch.msgid.link/20250813021054.1643649-1-wangliang74@huawei.com
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
Conflicts:
net/bridge/br_multicast.c
net/bridge/br_private.h
[context conflict]
Signed-off-by: Bowen You <youbowen2(a)huawei.com>
---
net/bridge/br_multicast.c | 16 ++++++++++++++++
net/bridge/br_private.h | 2 ++
2 files changed, 18 insertions(+)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 21fd5ff70dc2..fcb5f3097435 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -3624,6 +3624,14 @@ void br_multicast_set_startup_query_intvl(struct net_bridge *br,
intvl_jiffies = BR_MULTICAST_STARTUP_QUERY_INTVL_MIN;
}
+ if (intvl_jiffies > BR_MULTICAST_STARTUP_QUERY_INTVL_MAX) {
+ br_info(br,
+ "trying to set multicast startup query interval above maximum, setting to %lu (%ums)\n",
+ jiffies_to_clock_t(BR_MULTICAST_STARTUP_QUERY_INTVL_MAX),
+ jiffies_to_msecs(BR_MULTICAST_STARTUP_QUERY_INTVL_MAX));
+ intvl_jiffies = BR_MULTICAST_STARTUP_QUERY_INTVL_MAX;
+ }
+
br->multicast_startup_query_interval = intvl_jiffies;
}
@@ -3640,6 +3648,14 @@ void br_multicast_set_query_intvl(struct net_bridge *br,
intvl_jiffies = BR_MULTICAST_QUERY_INTVL_MIN;
}
+ if (intvl_jiffies > BR_MULTICAST_QUERY_INTVL_MAX) {
+ br_info(br,
+ "trying to set multicast query interval above maximum, setting to %lu (%ums)\n",
+ jiffies_to_clock_t(BR_MULTICAST_QUERY_INTVL_MAX),
+ jiffies_to_msecs(BR_MULTICAST_QUERY_INTVL_MAX));
+ intvl_jiffies = BR_MULTICAST_QUERY_INTVL_MAX;
+ }
+
br->multicast_query_interval = intvl_jiffies;
}
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index ca2d2e0b622e..9eaa484d6d78 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -30,6 +30,8 @@
#define BR_MULTICAST_DEFAULT_HASH_MAX 4096
#define BR_MULTICAST_QUERY_INTVL_MIN msecs_to_jiffies(1000)
#define BR_MULTICAST_STARTUP_QUERY_INTVL_MIN BR_MULTICAST_QUERY_INTVL_MIN
+#define BR_MULTICAST_QUERY_INTVL_MAX msecs_to_jiffies(86400000) /* 24 hours */
+#define BR_MULTICAST_STARTUP_QUERY_INTVL_MAX BR_MULTICAST_QUERY_INTVL_MAX
#define BR_VERSION "2.3"
--
2.34.1
2
1
20 Sep '25
From: Chuck Lever <chuck.lever(a)oracle.com>
stable inclusion
from stable-v5.10.220
commit 2007867c5874134f2271eb276398208070049dd3
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYQPE
CVE: CVE-2022-50410
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 401bc1f90874280a80b93f23be33a0e7e2d1f912 ]
Since before the git era, NFSD has conserved the number of pages
held by each nfsd thread by combining the RPC receive and send
buffers into a single array of pages. This works because there are
no cases where an operation needs a large RPC Call message and a
large RPC Reply at the same time.
Once an RPC Call has been received, svc_process() updates
svc_rqst::rq_res to describe the part of rq_pages that can be
used for constructing the Reply. This means that the send buffer
(rq_res) shrinks when the received RPC record containing the RPC
Call is large.
A client can force this shrinkage on TCP by sending a correctly-
formed RPC Call header contained in an RPC record that is
excessively large. The full maximum payload size cannot be
constructed in that case.
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Chuck Lever <chuck.lever(a)oracle.com>
Reviewed-by: Jeff Layton <jlayton(a)kernel.org>
Signed-off-by: Chuck Lever <chuck.lever(a)oracle.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Conflicts:
fs/nfsd/nfs4callback.c
[Commit 8c293ef993c8 ("NFSD: Update the NFSv2 READ argument decoder to use
struct xdr_stream") change the way to limit argp->count.]
Signed-off-by: Li Lingfeng <lilingfeng3(a)huawei.com>
---
fs/nfsd/nfsproc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c
index 6e9369b19f89..a00e28d1225d 100644
--- a/fs/nfsd/nfsproc.c
+++ b/fs/nfsd/nfsproc.c
@@ -189,6 +189,7 @@ nfsd_proc_read(struct svc_rqst *rqstp)
argp->count);
argp->count = NFSSVC_MAXBLKSIZE_V2;
}
+ argp->count = min_t(u32, argp->count, rqstp->rq_res.buflen);
svc_reserve_auth(rqstp, (19<<2) + argp->count + 4);
resp->count = argp->count;
--
2.46.1
2
1
[PATCH openEuler-1.0-LTS] NFSD: Protect against send buffer overflow in NFSv2 READ
by Li Lingfeng 20 Sep '25
by Li Lingfeng 20 Sep '25
20 Sep '25
From: Chuck Lever <chuck.lever(a)oracle.com>
mainline inclusion
from mainline-v6.1-rc1
commit 401bc1f90874280a80b93f23be33a0e7e2d1f912
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYQPE
CVE: CVE-2022-50410
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Since before the git era, NFSD has conserved the number of pages
held by each nfsd thread by combining the RPC receive and send
buffers into a single array of pages. This works because there are
no cases where an operation needs a large RPC Call message and a
large RPC Reply at the same time.
Once an RPC Call has been received, svc_process() updates
svc_rqst::rq_res to describe the part of rq_pages that can be
used for constructing the Reply. This means that the send buffer
(rq_res) shrinks when the received RPC record containing the RPC
Call is large.
A client can force this shrinkage on TCP by sending a correctly-
formed RPC Call header contained in an RPC record that is
excessively large. The full maximum payload size cannot be
constructed in that case.
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Chuck Lever <chuck.lever(a)oracle.com>
Reviewed-by: Jeff Layton <jlayton(a)kernel.org>
Signed-off-by: Chuck Lever <chuck.lever(a)oracle.com>
Conflicts:
fs/nfsd/nfsproc.c
[Commit 8c293ef993c8 ("NFSD: Update the NFSv2 READ argument decoder to use
struct xdr_stream") change the way to limit argp->count.]
Signed-off-by: Li Lingfeng <lilingfeng3(a)huawei.com>
---
fs/nfsd/nfsproc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c
index 7b6a5f78f556..e375ede4f887 100644
--- a/fs/nfsd/nfsproc.c
+++ b/fs/nfsd/nfsproc.c
@@ -189,6 +189,7 @@ nfsd_proc_read(struct svc_rqst *rqstp)
argp->count);
argp->count = NFSSVC_MAXBLKSIZE_V2;
}
+ argp->count = min_t(u32, argp->count, rqstp->rq_res.buflen);
svc_reserve_auth(rqstp, (19<<2) + argp->count + 4);
resp->count = argp->count;
--
2.46.1
2
1
[PATCH openEuler-1.0-LTS] btrfs: fix BUG_ON condition in btrfs_cancel_balance
by Zizhi Wo 20 Sep '25
by Zizhi Wo 20 Sep '25
20 Sep '25
From: xiaoshoukui <xiaoshoukui(a)gmail.com>
stable inclusion
from stable-v4.19.293
commit 7c93b89cd46636b5e74c12fa21dd86167bc6ea8d
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYJ02
CVE: CVE-2023-53339
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 29eefa6d0d07e185f7bfe9576f91e6dba98189c2 upstream.
Pausing and canceling balance can race to interrupt balance lead to BUG_ON
panic in btrfs_cancel_balance. The BUG_ON condition in btrfs_cancel_balance
does not take this race scenario into account.
However, the race condition has no other side effects. We can fix that.
Reproducing it with panic trace like this:
kernel BUG at fs/btrfs/volumes.c:4618!
RIP: 0010:btrfs_cancel_balance+0x5cf/0x6a0
Call Trace:
<TASK>
? do_nanosleep+0x60/0x120
? hrtimer_nanosleep+0xb7/0x1a0
? sched_core_clone_cookie+0x70/0x70
btrfs_ioctl_balance_ctl+0x55/0x70
btrfs_ioctl+0xa46/0xd20
__x64_sys_ioctl+0x7d/0xa0
do_syscall_64+0x38/0x80
entry_SYSCALL_64_after_hwframe+0x63/0xcd
Race scenario as follows:
> mutex_unlock(&fs_info->balance_mutex);
> --------------------
> .......issue pause and cancel req in another thread
> --------------------
> ret = __btrfs_balance(fs_info);
>
> mutex_lock(&fs_info->balance_mutex);
> if (ret == -ECANCELED && atomic_read(&fs_info->balance_pause_req)) {
> btrfs_info(fs_info, "balance: paused");
> btrfs_exclop_balance(fs_info, BTRFS_EXCLOP_BALANCE_PAUSED);
> }
CC: stable(a)vger.kernel.org # 4.19+
Signed-off-by: xiaoshoukui <xiaoshoukui(a)ruijie.com.cn>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zizhi Wo <wozizhi(a)huawei.com>
---
fs/btrfs/volumes.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index abda01208a69..2fce0ea3bc99 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -4089,8 +4089,7 @@ int btrfs_cancel_balance(struct btrfs_fs_info *fs_info)
}
}
- BUG_ON(fs_info->balance_ctl ||
- test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags));
+ ASSERT(!test_bit(BTRFS_FS_BALANCE_RUNNING, &fs_info->flags));
atomic_dec(&fs_info->balance_cancel_req);
mutex_unlock(&fs_info->balance_mutex);
return 0;
--
2.39.2
2
1
[openeuler:OLK-6.6] BUILD REGRESSION d2ab0ef5426f62c54839e37f3ea78cde33366993
by kernel test robot 20 Sep '25
by kernel test robot 20 Sep '25
20 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: d2ab0ef5426f62c54839e37f3ea78cde33366993 !18054 arm64 kvm: On the Adaptation of CCA and virtCCA.
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508210857.2ksxM8sj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508211208.pMTZ4FXY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508271625.s6br6gQM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282115.FeEkHc1L-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282129.EDKxrS6o-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292128.aB60Q1zq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292223.h9TBg6O5-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300025.VFiF17aE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300119.FVignUFM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300319.Biz2ibcG-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020626.0JaPbty4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020837.kUUC5gs7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091546.3rklFVnn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091707.YxEsJCE3-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509100832.WdxoWFgC-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101135.XUImZv6b-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101407.yFi7BLHu-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101646.6hsrX8dz-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509122354.VZ9a8UaA-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509130621.eY2Y6kXo-lkp@intel.com
arch/arm64/kernel/idle.c:51:5: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
drivers/clocksource/arm_arch_timer.c:371:33: warning: 'hisi_165010801_oem_info' defined but not used [-Wunused-variable]
drivers/i2c/busses/i2c-zhaoxin.c:176:5: warning: no previous prototype for function 'zxi2c_fifo_irq_xfer' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:314:5: warning: no previous prototype for function 'zxi2c_xfer' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:123:6: warning: no previous prototype for function 'wakeup_and_poll' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:130:5: warning: no previous prototype for function 'polling_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:147:5: warning: no previous prototype for function 'polling_awaken_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/pci/pci.c:181:17: error: expected ')'
drivers/pci/pci.c:181:17: error: redefinition of 'suspend_state_t' as different kind of symbol
include/linux/fortify-string.h:597:4: warning: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
kernel/dma/phytium/pswiotlb-mapping.c:400:30: warning: no previous prototype for function 'pswiotlb_clone_orig_dma_ops' [-Wmissing-prototypes]
kernel/dma/phytium/pswiotlb.c:1005: warning: Function parameter or member 'nid' not described in 'pswiotlb_area_find_slots'
kernel/dma/phytium/pswiotlb.c:1115: warning: Function parameter or member 'nid' not described in 'pswiotlb_pool_find_slots'
kernel/dma/phytium/pswiotlb.c:1153: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_slots'
kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used [-Wunused-but-set-variable]
kernel/dma/phytium/pswiotlb.c:1523: warning: Function parameter or member 'dev' not described in 'is_pswiotlb_allocated'
kernel/dma/phytium/pswiotlb.c:1542: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_base'
kernel/dma/phytium/pswiotlb.c:1556: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_limit'
kernel/dma/phytium/pswiotlb.c:474: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_tlb'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'transient' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:806: warning: Function parameter or member 'nid' not described in 'alloc_dma_pages'
kernel/dma/phytium/pswiotlb.c:836: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_pool'
kernel/sched/fair.c:15434:12: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
mm/damon/core.c:116:5: warning: no previous prototype for function 'damon_target_init_kfifo' [-Wmissing-prototypes]
mm/damon/core.c:132:6: warning: no previous prototype for function 'damon_target_deinit_kfifo' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for function 'force_swapin_vma' [-Wmissing-prototypes]
mm/mem_sampling.c:72:6: warning: no previous prototype for function 'mem_sampling_record_cb_register' [-Wmissing-prototypes]
mm/mem_sampling.c:89:6: warning: no previous prototype for function 'mem_sampling_record_cb_unregister' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for function 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1611: warning: expecting prototype for memblock_alloc_internal(). Prototype was for __memblock_alloc_internal() instead
mm/memcontrol.c:3496:6: warning: no previous prototype for function 'hisi_oom_recover' [-Wmissing-prototypes]
mm/mempolicy.c:1123:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/mempolicy.c:1123:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/oom_kill.c:319: warning: Function parameter or member 'oc' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'points' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'task' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: expecting prototype for We choose the task in low(). Prototype was for oom_next_task() instead
mm/page_cache_limit.c:61:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/share_pool.c:1510: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc'
mm/share_pool.c:2425: warning: duplicate section name 'Return'
mm/share_pool.c:2796:7: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable]
mm/share_pool.c:2844: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare'
mm/share_pool.c:975: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead
mm/vmalloc.c:4976: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
net/oenetcls/oenetcls_flow.c:18:6: warning: no previous prototype for function 'is_oecls_config_netdev' [-Wmissing-prototypes]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-kernel-idle.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-cq_polling
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_awaken_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-wakeup_and_poll
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- kernel-dma-phytium-pswiotlb-mapping.c:warning:no-previous-prototype-for-function-pswiotlb_clone_orig_dma_ops
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_base
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_limit
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-is_pswiotlb_allocated
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-alloc_dma_pages
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_tlb
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_area_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_pool_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-transient-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:variable-cpuid-set-but-not-used
| |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_deinit_kfifo
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_init_kfifo
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_register
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_unregister
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-function-hisi_oom_recover
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-share_pool.c:warning:Function-parameter-or-member-node_id-not-described-in-sp_area_alloc
| |-- mm-share_pool.c:warning:Function-parameter-or-member-spg_id-not-described-in-mg_sp_unshare
| |-- mm-share_pool.c:warning:duplicate-section-name-Return
| |-- mm-share_pool.c:warning:expecting-prototype-for-mp_sp_group_id_by_pid().-Prototype-was-for-mg_sp_group_id_by_pid()-instead
| |-- mm-share_pool.c:warning:variable-is_hugepage-set-but-not-used
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- arm64-allnoconfig
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-001-20250919
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-002-20250919
| |-- drivers-clocksource-arm_arch_timer.c:warning:hisi_165010801_oem_info-defined-but-not-used
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-003-20250919
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-004-20250919
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allmodconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- loongarch-allnoconfig
| |-- arch-loongarch-kernel-efi.c:error:assigning-to-pmd_t-from-incompatible-type-int
| |-- arch-loongarch-kernel-efi.c:error:call-to-undeclared-function-pmd_mkhuge-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- arch-loongarch-kernel-legacy_boot.c:error:call-to-undeclared-function-nid_to_addrbase-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-pci-pci.c:error:expected-)
| |-- drivers-pci-pci.c:error:redefinition-of-suspend_state_t-as-different-kind-of-symbol
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-001-20250919
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-002-20250919
| |-- arch-loongarch-kernel-efi.c:error:assigning-to-pmd_t-from-incompatible-type-int
| |-- arch-loongarch-kernel-efi.c:error:call-to-undeclared-function-pmd_mkhuge-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- arch-loongarch-kernel-legacy_boot.c:error:call-to-undeclared-function-nid_to_addrbase-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-pci-pci.c:error:expected-)
| |-- drivers-pci-pci.c:error:redefinition-of-suspend_state_t-as-different-kind-of-symbol
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allnoconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allyesconfig
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- x86_64-buildonly-randconfig-001-20250919
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-002-20250919
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-003-20250919
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-004-20250919
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-005-20250919
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-006-20250919
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
`-- x86_64-defconfig
|-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
|-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
|-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
|-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
|-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
`-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
elapsed time: 770m
configs tested: 20
configs skipped: 111
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250919 gcc-15.1.0
arm64 randconfig-002-20250919 gcc-8.5.0
arm64 randconfig-003-20250919 gcc-12.5.0
arm64 randconfig-004-20250919 gcc-11.5.0
loongarch allmodconfig clang-19
loongarch allnoconfig clang-22
loongarch randconfig-001-20250919 gcc-15.1.0
loongarch randconfig-002-20250919 clang-22
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250919 clang-20
x86_64 buildonly-randconfig-002-20250919 gcc-14
x86_64 buildonly-randconfig-003-20250919 gcc-14
x86_64 buildonly-randconfig-004-20250919 clang-20
x86_64 buildonly-randconfig-005-20250919 clang-20
x86_64 buildonly-randconfig-006-20250919 clang-20
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-20
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[PATCH OLK-6.6] net: bridge: fix soft lockup in br_multicast_query_expired()
by Bowen You 19 Sep '25
by Bowen You 19 Sep '25
19 Sep '25
From: Wang Liang <wangliang74(a)huawei.com>
mainline inclusion
from mainline-v6.12-rc1
commit d1547bf460baec718b3398365f8de33d25c5f36f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICXMCM
CVE: CVE-2025-39773
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
When set multicast_query_interval to a large value, the local variable
'time' in br_multicast_send_query() may overflow. If the time is smaller
than jiffies, the timer will expire immediately, and then call mod_timer()
again, which creates a loop and may trigger the following soft lockup
issue.
watchdog: BUG: soft lockup - CPU#1 stuck for 221s! [rb_consumer:66]
CPU: 1 UID: 0 PID: 66 Comm: rb_consumer Not tainted 6.16.0+ #259 PREEMPT(none)
Call Trace:
<IRQ>
__netdev_alloc_skb+0x2e/0x3a0
br_ip6_multicast_alloc_query+0x212/0x1b70
__br_multicast_send_query+0x376/0xac0
br_multicast_send_query+0x299/0x510
br_multicast_query_expired.constprop.0+0x16d/0x1b0
call_timer_fn+0x3b/0x2a0
__run_timers+0x619/0x950
run_timer_softirq+0x11c/0x220
handle_softirqs+0x18e/0x560
__irq_exit_rcu+0x158/0x1a0
sysvec_apic_timer_interrupt+0x76/0x90
</IRQ>
This issue can be reproduced with:
ip link add br0 type bridge
echo 1 > /sys/class/net/br0/bridge/multicast_querier
echo 0xffffffffffffffff >
/sys/class/net/br0/bridge/multicast_query_interval
ip link set dev br0 up
The multicast_startup_query_interval can also cause this issue. Similar to
the commit 99b40610956a ("net: bridge: mcast: add and enforce query
interval minimum"), add check for the query interval maximum to fix this
issue.
Link: https://lore.kernel.org/netdev/20250806094941.1285944-1-wangliang74@huawei.…
Link: https://lore.kernel.org/netdev/20250812091818.542238-1-wangliang74@huawei.c…
Fixes: d902eee43f19 ("bridge: Add multicast count/interval sysfs entries")
Suggested-by: Nikolay Aleksandrov <razor(a)blackwall.org>
Signed-off-by: Wang Liang <wangliang74(a)huawei.com>
Reviewed-by: Ido Schimmel <idosch(a)nvidia.com>
Acked-by: Nikolay Aleksandrov <razor(a)blackwall.org>
Link: https://patch.msgid.link/20250813021054.1643649-1-wangliang74@huawei.com
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
Signed-off-by: Bowen You <youbowen2(a)huawei.com>
---
net/bridge/br_multicast.c | 16 ++++++++++++++++
net/bridge/br_private.h | 2 ++
2 files changed, 18 insertions(+)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 0793df3a2a1b..d27a2f3addf3 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -4729,6 +4729,14 @@ void br_multicast_set_query_intvl(struct net_bridge_mcast *brmctx,
intvl_jiffies = BR_MULTICAST_QUERY_INTVL_MIN;
}
+ if (intvl_jiffies > BR_MULTICAST_QUERY_INTVL_MAX) {
+ br_info(brmctx->br,
+ "trying to set multicast query interval above maximum, setting to %lu (%ums)\n",
+ jiffies_to_clock_t(BR_MULTICAST_QUERY_INTVL_MAX),
+ jiffies_to_msecs(BR_MULTICAST_QUERY_INTVL_MAX));
+ intvl_jiffies = BR_MULTICAST_QUERY_INTVL_MAX;
+ }
+
brmctx->multicast_query_interval = intvl_jiffies;
}
@@ -4745,6 +4753,14 @@ void br_multicast_set_startup_query_intvl(struct net_bridge_mcast *brmctx,
intvl_jiffies = BR_MULTICAST_STARTUP_QUERY_INTVL_MIN;
}
+ if (intvl_jiffies > BR_MULTICAST_STARTUP_QUERY_INTVL_MAX) {
+ br_info(brmctx->br,
+ "trying to set multicast startup query interval above maximum, setting to %lu (%ums)\n",
+ jiffies_to_clock_t(BR_MULTICAST_STARTUP_QUERY_INTVL_MAX),
+ jiffies_to_msecs(BR_MULTICAST_STARTUP_QUERY_INTVL_MAX));
+ intvl_jiffies = BR_MULTICAST_STARTUP_QUERY_INTVL_MAX;
+ }
+
brmctx->multicast_startup_query_interval = intvl_jiffies;
}
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index bbb07ede9dad..3ebc3f521a4f 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -31,6 +31,8 @@
#define BR_MULTICAST_DEFAULT_HASH_MAX 4096
#define BR_MULTICAST_QUERY_INTVL_MIN msecs_to_jiffies(1000)
#define BR_MULTICAST_STARTUP_QUERY_INTVL_MIN BR_MULTICAST_QUERY_INTVL_MIN
+#define BR_MULTICAST_QUERY_INTVL_MAX msecs_to_jiffies(86400000) /* 24 hours */
+#define BR_MULTICAST_STARTUP_QUERY_INTVL_MAX BR_MULTICAST_QUERY_INTVL_MAX
#define BR_HWDOM_MAX BITS_PER_LONG
--
2.34.1
2
1
[openeuler:OLK-6.6] BUILD REGRESSION 91f2ceb19b28a04870aaeb92beaae0a0978520aa
by kernel test robot 19 Sep '25
by kernel test robot 19 Sep '25
19 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 91f2ceb19b28a04870aaeb92beaae0a0978520aa !17972 arm64/mpam: Add quirk for L3 CSU counters
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508210857.2ksxM8sj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508211208.pMTZ4FXY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508212350.cdtYa1wJ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508271625.s6br6gQM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282115.FeEkHc1L-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282129.EDKxrS6o-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292128.aB60Q1zq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292223.h9TBg6O5-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300025.VFiF17aE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300119.FVignUFM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300319.Biz2ibcG-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020626.0JaPbty4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020837.kUUC5gs7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091546.3rklFVnn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091707.YxEsJCE3-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509100832.WdxoWFgC-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101135.XUImZv6b-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101407.yFi7BLHu-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101646.6hsrX8dz-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509122354.VZ9a8UaA-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509130621.eY2Y6kXo-lkp@intel.com
arch/arm64/kernel/idle.c:51:5: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:176:5: warning: no previous prototype for function 'zxi2c_fifo_irq_xfer' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:314:5: warning: no previous prototype for function 'zxi2c_xfer' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:123:6: warning: no previous prototype for function 'wakeup_and_poll' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:130:5: warning: no previous prototype for function 'polling_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:147:5: warning: no previous prototype for function 'polling_awaken_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for function 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/pci/pci.c:181:17: error: expected ')'
drivers/pci/pci.c:181:17: error: redefinition of 'suspend_state_t' as different kind of symbol
include/linux/fortify-string.h:597:4: warning: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
kernel/dma/phytium/pswiotlb-mapping.c:400:30: warning: no previous prototype for function 'pswiotlb_clone_orig_dma_ops' [-Wmissing-prototypes]
kernel/dma/phytium/pswiotlb.c:1005: warning: Function parameter or member 'nid' not described in 'pswiotlb_area_find_slots'
kernel/dma/phytium/pswiotlb.c:1115: warning: Function parameter or member 'nid' not described in 'pswiotlb_pool_find_slots'
kernel/dma/phytium/pswiotlb.c:1153: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_slots'
kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used [-Wunused-but-set-variable]
kernel/dma/phytium/pswiotlb.c:1523: warning: Function parameter or member 'dev' not described in 'is_pswiotlb_allocated'
kernel/dma/phytium/pswiotlb.c:1542: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_base'
kernel/dma/phytium/pswiotlb.c:1556: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_limit'
kernel/dma/phytium/pswiotlb.c:474: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_tlb'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'transient' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:806: warning: Function parameter or member 'nid' not described in 'alloc_dma_pages'
kernel/dma/phytium/pswiotlb.c:836: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_pool'
kernel/livepatch/core.c:2105:12: warning: no previous prototype for function 'arch_klp_check_breakpoint' [-Wmissing-prototypes]
kernel/sched/fair.c:15434:12: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
mm/damon/core.c:116:5: warning: no previous prototype for function 'damon_target_init_kfifo' [-Wmissing-prototypes]
mm/damon/core.c:132:6: warning: no previous prototype for function 'damon_target_deinit_kfifo' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for function 'force_swapin_vma' [-Wmissing-prototypes]
mm/mem_sampling.c:72:6: warning: no previous prototype for function 'mem_sampling_record_cb_register' [-Wmissing-prototypes]
mm/mem_sampling.c:89:6: warning: no previous prototype for function 'mem_sampling_record_cb_unregister' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for function 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1611: warning: expecting prototype for memblock_alloc_internal(). Prototype was for __memblock_alloc_internal() instead
mm/memcontrol.c:3496:6: warning: no previous prototype for function 'hisi_oom_recover' [-Wmissing-prototypes]
mm/mempolicy.c:1123:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/mempolicy.c:1123:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/oom_kill.c:319: warning: Function parameter or member 'oc' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'points' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'task' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: expecting prototype for We choose the task in low(). Prototype was for oom_next_task() instead
mm/page_cache_limit.c:61:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/share_pool.c:1510: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc'
mm/share_pool.c:2425: warning: duplicate section name 'Return'
mm/share_pool.c:2796:7: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable]
mm/share_pool.c:2844: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare'
mm/share_pool.c:975: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead
mm/vmalloc.c:4976: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
net/oenetcls/oenetcls_flow.c:18:6: warning: no previous prototype for function 'is_oecls_config_netdev' [-Wmissing-prototypes]
Unverified Error/Warning (likely false positive, kindly check if interested):
warning: unsafe strlcpy() usage lacked '__write_overflow' warning in lib/test_fortify/write_overflow-strlcpy-src.c
warning: unsafe strlcpy() usage lacked '__write_overflow' warning in lib/test_fortify/write_overflow-strlcpy.c
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-kernel-idle.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-cq_polling
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_awaken_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-wakeup_and_poll
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- kernel-dma-phytium-pswiotlb-mapping.c:warning:no-previous-prototype-for-function-pswiotlb_clone_orig_dma_ops
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_base
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_limit
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-is_pswiotlb_allocated
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-alloc_dma_pages
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_tlb
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_area_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_pool_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-transient-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:variable-cpuid-set-but-not-used
| |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_deinit_kfifo
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_init_kfifo
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_register
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_unregister
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-function-hisi_oom_recover
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-share_pool.c:warning:Function-parameter-or-member-node_id-not-described-in-sp_area_alloc
| |-- mm-share_pool.c:warning:Function-parameter-or-member-spg_id-not-described-in-mg_sp_unshare
| |-- mm-share_pool.c:warning:duplicate-section-name-Return
| |-- mm-share_pool.c:warning:expecting-prototype-for-mp_sp_group_id_by_pid().-Prototype-was-for-mg_sp_group_id_by_pid()-instead
| |-- mm-share_pool.c:warning:variable-is_hugepage-set-but-not-used
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- arm64-allnoconfig
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-001-20250918
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- kernel-livepatch-core.c:warning:no-previous-prototype-for-function-arch_klp_check_breakpoint
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| |-- warning:unsafe-strlcpy()-usage-lacked-__write_overflow-warning-in-lib-test_fortify-write_overflow-strlcpy-src.c
| `-- warning:unsafe-strlcpy()-usage-lacked-__write_overflow-warning-in-lib-test_fortify-write_overflow-strlcpy.c
|-- arm64-randconfig-002-20250918
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-003-20250918
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-004-20250918
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allmodconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- loongarch-allnoconfig
| |-- arch-loongarch-kernel-efi.c:error:assigning-to-pmd_t-from-incompatible-type-int
| |-- arch-loongarch-kernel-efi.c:error:call-to-undeclared-function-pmd_mkhuge-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- arch-loongarch-kernel-legacy_boot.c:error:call-to-undeclared-function-nid_to_addrbase-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-pci-pci.c:error:expected-)
| |-- drivers-pci-pci.c:error:redefinition-of-suspend_state_t-as-different-kind-of-symbol
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-001-20250918
| |-- arch-loongarch-kernel-efi.c:error:assigning-to-pmd_t-from-incompatible-type-int
| |-- arch-loongarch-kernel-efi.c:error:call-to-undeclared-function-pmd_mkhuge-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- arch-loongarch-kernel-legacy_boot.c:error:call-to-undeclared-function-nid_to_addrbase-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-002-20250918
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-alldefconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allnoconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allyesconfig
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- x86_64-buildonly-randconfig-001-20250918
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-002-20250918
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-003-20250918
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-004-20250918
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-005-20250918
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-006-20250918
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
`-- x86_64-defconfig
|-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
|-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
|-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
|-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
|-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
`-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
elapsed time: 763m
configs tested: 21
configs skipped: 102
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250918 clang-22
arm64 randconfig-002-20250918 gcc-11.5.0
arm64 randconfig-003-20250918 clang-22
arm64 randconfig-004-20250918 clang-22
loongarch allmodconfig clang-19
loongarch allnoconfig clang-22
loongarch randconfig-001-20250918 clang-17
loongarch randconfig-002-20250918 clang-22
x86_64 alldefconfig gcc-14
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250918 clang-20
x86_64 buildonly-randconfig-002-20250918 clang-20
x86_64 buildonly-randconfig-003-20250918 clang-20
x86_64 buildonly-randconfig-004-20250918 clang-20
x86_64 buildonly-randconfig-005-20250918 clang-20
x86_64 buildonly-randconfig-006-20250918 clang-20
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-20
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:openEuler-1.0-LTS 1732/1732] drivers/spi/spi-phytium-plat.c:192:36: warning: unused variable 'phytium_spi_acpi_match'
by kernel test robot 19 Sep '25
by kernel test robot 19 Sep '25
19 Sep '25
Hi Malloy,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 1d593bdfdaff241dea4989a81386a6f45887adf2
commit: e8483fcd43fc1dbb8d21bb7eacce804cbab6a7c6 [1732/1732] spi: add phytium spi support
config: x86_64-buildonly-randconfig-001-20250718 (https://download.01.org/0day-ci/archive/20250919/202509190259.vGmXHuui-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250919/202509190259.vGmXHuui-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509190259.vGmXHuui-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/spi/spi-phytium-plat.c:192:36: warning: unused variable 'phytium_spi_acpi_match' [-Wunused-const-variable]
192 | static const struct acpi_device_id phytium_spi_acpi_match[] = {
| ^~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +/phytium_spi_acpi_match +192 drivers/spi/spi-phytium-plat.c
191
> 192 static const struct acpi_device_id phytium_spi_acpi_match[] = {
193 {"PHYT000E", 0},
194 {}
195 };
196 MODULE_DEVICE_TABLE(acpi, phytium_spi_acpi_match);
197
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Wang Liang (4):
net/oenetcls: Fix oecls_numa_info_table memleak
net/oenetcls: use raw_smp_processor_id() instead of smp_processor_id()
net/oenetcls: remove oenetcls trace hook
net/oenetcls: use workqueue for ntuple cfg
arch/arm64/configs/openeuler_defconfig | 1 -
arch/x86/configs/openeuler_defconfig | 2 +-
drivers/hooks/Kconfig | 10 --
drivers/hooks/vendor_hooks.c | 7 -
include/linux/oenetcls.h | 81 +++++++++++
include/trace/hooks/oenetcls.h | 44 ------
net/core/dev.c | 23 ++--
net/ipv4/af_inet.c | 9 +-
net/ipv4/tcp.c | 13 +-
net/oenetcls/Kconfig | 2 +-
net/oenetcls/oenetcls.h | 14 +-
net/oenetcls/oenetcls_flow.c | 49 ++++---
net/oenetcls/oenetcls_main.c | 29 ++--
net/oenetcls/oenetcls_ntuple.c | 181 ++++++++++++++++---------
14 files changed, 289 insertions(+), 176 deletions(-)
create mode 100644 include/linux/oenetcls.h
delete mode 100644 include/trace/hooks/oenetcls.h
--
2.34.1
2
5
[PATCH openEuler-1.0-LTS] scsi: target: iscsi: Fix a race condition between login_work and the login thread
by Yifan Qiao 18 Sep '25
by Yifan Qiao 18 Sep '25
18 Sep '25
From: Maurizio Lombardi <mlombard(a)redhat.com>
mainline inclusion
from mainline-v6.2-rc1
commit fec1b2fa62c162d03f5dcd7b03e3c89d3116d49f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICYBVS
CVE: CVE-2022-50350
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
In case a malicious initiator sends some random data immediately after a
login PDU; the iscsi_target_sk_data_ready() callback will schedule the
login_work and, at the same time, the negotiation may end without clearing
the LOGIN_FLAGS_INITIAL_PDU flag (because no additional PDU exchanges are
required to complete the login).
The login has been completed but the login_work function will find the
LOGIN_FLAGS_INITIAL_PDU flag set and will never stop from rescheduling
itself; at this point, if the initiator drops the connection, the
iscsit_conn structure will be freed, login_work will dereference a released
socket structure and the kernel crashes.
BUG: kernel NULL pointer dereference, address: 0000000000000230
PF: supervisor write access in kernel mode
PF: error_code(0x0002) - not-present page
Workqueue: events iscsi_target_do_login_rx [iscsi_target_mod]
RIP: 0010:_raw_read_lock_bh+0x15/0x30
Call trace:
iscsi_target_do_login_rx+0x75/0x3f0 [iscsi_target_mod]
process_one_work+0x1e8/0x3c0
Fix this bug by forcing login_work to stop after the login has been
completed and the socket callbacks have been restored.
Add a comment to clearify the return values of iscsi_target_do_login()
Signed-off-by: Maurizio Lombardi <mlombard(a)redhat.com>
Link: https://lore.kernel.org/r/20221115125638.102517-1-mlombard@redhat.com
Reviewed-by: Mike Christie <michael.christie(a)oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Yifan Qiao <qiaoyifan4(a)huawei.com>
---
drivers/target/iscsi/iscsi_target_nego.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/target/iscsi/iscsi_target_nego.c b/drivers/target/iscsi/iscsi_target_nego.c
index 5db8842a8026..e4f9da45931a 100644
--- a/drivers/target/iscsi/iscsi_target_nego.c
+++ b/drivers/target/iscsi/iscsi_target_nego.c
@@ -969,6 +969,13 @@ static int iscsi_target_handle_csg_one(struct iscsi_conn *conn, struct iscsi_log
return 0;
}
+/*
+ * RETURN VALUE:
+ *
+ * 1 = Login successful
+ * -1 = Login failed
+ * 0 = More PDU exchanges required
+ */
static int iscsi_target_do_login(struct iscsi_conn *conn, struct iscsi_login *login)
{
int pdu_count = 0;
@@ -1316,12 +1323,13 @@ int iscsi_target_start_negotiation(
ret = -1;
if (ret < 0) {
- cancel_delayed_work_sync(&conn->login_work);
iscsi_target_restore_sock_callbacks(conn);
iscsi_remove_failed_auth_entry(conn);
}
- if (ret != 0)
+ if (ret != 0) {
+ cancel_delayed_work_sync(&conn->login_work);
iscsi_target_nego_release(conn);
+ }
return ret;
}
--
2.39.2
2
1
From: Shuhao Fu <sfual(a)cse.ust.hk>
mainline inclusion
from mainline-v6.17-rc4
commit ab529e6ca1f67bcf31f3ea80c72bffde2e9e053e
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICYBJ5
CVE: CVE-2025-39819
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
A possible inconsistent update of refcount was identified in `smb2_compound_op`.
Such inconsistent update could lead to possible resource leaks.
Why it is a possible bug:
1. In the comment section of the function, it clearly states that the
reference to `cfile` should be dropped after calling this function.
2. Every control flow path would check and drop the reference to
`cfile`, except the patched one.
3. Existing callers would not handle refcount update of `cfile` if
-ENOMEM is returned.
To fix the bug, an extra goto label "out" is added, to make sure that the
cleanup logic would always be respected. As the problem is caused by the
allocation failure of `vars`, the cleanup logic between label "finished"
and "out" can be safely ignored. According to the definition of function
`is_replayable_error`, the error code of "-ENOMEM" is not recoverable.
Therefore, the replay logic also gets ignored.
Signed-off-by: Shuhao Fu <sfual(a)cse.ust.hk>
Acked-by: Paulo Alcantara (Red Hat) <pc(a)manguebit.org>
Cc: stable(a)vger.kernel.org
Signed-off-by: Steve French <stfrench(a)microsoft.com>
Signed-off-by: Yifan Qiao <qiaoyifan4(a)huawei.com>
---
fs/smb/client/smb2inode.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
index e1078a1decdf..0cc80f472432 100644
--- a/fs/smb/client/smb2inode.c
+++ b/fs/smb/client/smb2inode.c
@@ -206,8 +206,10 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
server = cifs_pick_channel(ses);
vars = kzalloc(sizeof(*vars), GFP_ATOMIC);
- if (vars == NULL)
- return -ENOMEM;
+ if (vars == NULL) {
+ rc = -ENOMEM;
+ goto out;
+ }
rqst = &vars->rqst[0];
rsp_iov = &vars->rsp_iov[0];
@@ -828,6 +830,7 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,
smb2_should_replay(tcon, &retries, &cur_sleep))
goto replay_again;
+out:
if (cfile)
cifsFileInfo_put(cfile);
--
2.39.2
2
1
[PATCH openEuler-1.0-LTS] ata: ahci: Match EM_MAX_SLOTS with SATA_PMP_MAX_PORTS
by Yifan Qiao 18 Sep '25
by Yifan Qiao 18 Sep '25
18 Sep '25
From: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
stable inclusion
from stable-v4.19.264
commit 67a00c299c5c143817c948fbc7de1a2fa1af38fb
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICY4BK
CVE: CVE-2022-50315
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 1e41e693f458eef2d5728207dbd327cd3b16580a upstream.
UBSAN complains about array-index-out-of-bounds:
[ 1.980703] kernel: UBSAN: array-index-out-of-bounds in /build/linux-9H675w/linux-5.15.0/drivers/ata/libahci.c:968:41
[ 1.980709] kernel: index 15 is out of range for type 'ahci_em_priv [8]'
[ 1.980713] kernel: CPU: 0 PID: 209 Comm: scsi_eh_8 Not tainted 5.15.0-25-generic #25-Ubuntu
[ 1.980716] kernel: Hardware name: System manufacturer System Product Name/P5Q3, BIOS 1102 06/11/2010
[ 1.980718] kernel: Call Trace:
[ 1.980721] kernel: <TASK>
[ 1.980723] kernel: show_stack+0x52/0x58
[ 1.980729] kernel: dump_stack_lvl+0x4a/0x5f
[ 1.980734] kernel: dump_stack+0x10/0x12
[ 1.980736] kernel: ubsan_epilogue+0x9/0x45
[ 1.980739] kernel: __ubsan_handle_out_of_bounds.cold+0x44/0x49
[ 1.980742] kernel: ahci_qc_issue+0x166/0x170 [libahci]
[ 1.980748] kernel: ata_qc_issue+0x135/0x240
[ 1.980752] kernel: ata_exec_internal_sg+0x2c4/0x580
[ 1.980754] kernel: ? vprintk_default+0x1d/0x20
[ 1.980759] kernel: ata_exec_internal+0x67/0xa0
[ 1.980762] kernel: sata_pmp_read+0x8d/0xc0
[ 1.980765] kernel: sata_pmp_read_gscr+0x3c/0x90
[ 1.980768] kernel: sata_pmp_attach+0x8b/0x310
[ 1.980771] kernel: ata_eh_revalidate_and_attach+0x28c/0x4b0
[ 1.980775] kernel: ata_eh_recover+0x6b6/0xb30
[ 1.980778] kernel: ? ahci_do_hardreset+0x180/0x180 [libahci]
[ 1.980783] kernel: ? ahci_stop_engine+0xb0/0xb0 [libahci]
[ 1.980787] kernel: ? ahci_do_softreset+0x290/0x290 [libahci]
[ 1.980792] kernel: ? trace_event_raw_event_ata_eh_link_autopsy_qc+0xe0/0xe0
[ 1.980795] kernel: sata_pmp_eh_recover.isra.0+0x214/0x560
[ 1.980799] kernel: sata_pmp_error_handler+0x23/0x40
[ 1.980802] kernel: ahci_error_handler+0x43/0x80 [libahci]
[ 1.980806] kernel: ata_scsi_port_error_handler+0x2b1/0x600
[ 1.980810] kernel: ata_scsi_error+0x9c/0xd0
[ 1.980813] kernel: scsi_error_handler+0xa1/0x180
[ 1.980817] kernel: ? scsi_unjam_host+0x1c0/0x1c0
[ 1.980820] kernel: kthread+0x12a/0x150
[ 1.980823] kernel: ? set_kthread_struct+0x50/0x50
[ 1.980826] kernel: ret_from_fork+0x22/0x30
[ 1.980831] kernel: </TASK>
This happens because sata_pmp_init_links() initialize link->pmp up to
SATA_PMP_MAX_PORTS while em_priv is declared as 8 elements array.
I can't find the maximum Enclosure Management ports specified in AHCI
spec v1.3.1, but "12.2.1 LED message type" states that "Port Multiplier
Information" can utilize 4 bits, which implies it can support up to 16
ports. Hence, use SATA_PMP_MAX_PORTS as EM_MAX_SLOTS to resolve the
issue.
BugLink: https://bugs.launchpad.net/bugs/1970074
Cc: stable(a)vger.kernel.org
Signed-off-by: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Signed-off-by: Damien Le Moal <damien.lemoal(a)opensource.wdc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Yifan Qiao <qiaoyifan4(a)huawei.com>
---
drivers/ata/ahci.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index 52d0851653e5..ae69409d316e 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -266,7 +266,7 @@ enum {
PCS_7 = 0x94, /* 7+ port PCS (Denverton) */
/* em constants */
- EM_MAX_SLOTS = 8,
+ EM_MAX_SLOTS = SATA_PMP_MAX_PORTS,
EM_MAX_RETRY = 5,
/* em_ctl bits */
--
2.39.2
2
1
[openeuler:OLK-6.6 2904/2904] net/oenetcls/oenetcls_ntuple.c:14:27: sparse: sparse: symbol 'oecls_sk_rules' was not declared. Should it be static?
by kernel test robot 18 Sep '25
by kernel test robot 18 Sep '25
18 Sep '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 8ba53a0f68c5722dd787f872e161bbd850b225c4
commit: 22d4075bf5ef29ba4b329f954ac28a7de1d69a65 [2904/2904] net/oenetcls: remove oenetcls trace hook
config: loongarch-randconfig-r111-20250918 (https://download.01.org/0day-ci/archive/20250918/202509181257.lJX7E7VA-lkp@…)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250918/202509181257.lJX7E7VA-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509181257.lJX7E7VA-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> net/oenetcls/oenetcls_ntuple.c:14:27: sparse: sparse: symbol 'oecls_sk_rules' was not declared. Should it be static?
>> net/oenetcls/oenetcls_ntuple.c:14:43: sparse: sparse: symbol 'oecls_sk_list' was not declared. Should it be static?
>> net/oenetcls/oenetcls_ntuple.c:147:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] dip4 @@ got restricted __be32 [usertype] ifa_local @@
net/oenetcls/oenetcls_ntuple.c:147:38: sparse: expected unsigned int [usertype] dip4
net/oenetcls/oenetcls_ntuple.c:147:38: sparse: got restricted __be32 [usertype] ifa_local
>> net/oenetcls/oenetcls_ntuple.c:161:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __be16 [usertype] @@
net/oenetcls/oenetcls_ntuple.c:161:16: sparse: expected unsigned short [usertype]
net/oenetcls/oenetcls_ntuple.c:161:16: sparse: got restricted __be16 [usertype]
>> net/oenetcls/oenetcls_ntuple.c:169:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] skc_rcv_saddr @@
net/oenetcls/oenetcls_ntuple.c:169:23: sparse: expected unsigned int [usertype]
net/oenetcls/oenetcls_ntuple.c:169:23: sparse: got restricted __be32 [usertype] skc_rcv_saddr
>> net/oenetcls/oenetcls_ntuple.c:393:9: sparse: sparse: cast to restricted __be16
>> net/oenetcls/oenetcls_ntuple.c:393:9: sparse: sparse: cast to restricted __be16
>> net/oenetcls/oenetcls_ntuple.c:393:9: sparse: sparse: cast to restricted __be16
>> net/oenetcls/oenetcls_ntuple.c:406:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4dst @@ got unsigned int [usertype] dip4 @@
net/oenetcls/oenetcls_ntuple.c:406:38: sparse: expected restricted __be32 [usertype] ip4dst
net/oenetcls/oenetcls_ntuple.c:406:38: sparse: got unsigned int [usertype] dip4
>> net/oenetcls/oenetcls_ntuple.c:407:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] pdst @@ got unsigned short [usertype] dport @@
net/oenetcls/oenetcls_ntuple.c:407:36: sparse: expected restricted __be16 [usertype] pdst
net/oenetcls/oenetcls_ntuple.c:407:36: sparse: got unsigned short [usertype] dport
>> net/oenetcls/oenetcls_ntuple.c:409:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] ip4dst @@ got unsigned int [usertype] @@
net/oenetcls/oenetcls_ntuple.c:409:46: sparse: expected restricted __be32 [usertype] ip4dst
net/oenetcls/oenetcls_ntuple.c:409:46: sparse: got unsigned int [usertype]
>> net/oenetcls/oenetcls_ntuple.c:410:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] pdst @@ got unsigned short [usertype] @@
net/oenetcls/oenetcls_ntuple.c:410:36: sparse: expected restricted __be16 [usertype] pdst
net/oenetcls/oenetcls_ntuple.c:410:36: sparse: got unsigned short [usertype]
net/oenetcls/oenetcls_ntuple.c:442:25: sparse: sparse: cast to restricted __be16
net/oenetcls/oenetcls_ntuple.c:442:25: sparse: sparse: cast to restricted __be16
net/oenetcls/oenetcls_ntuple.c:442:25: sparse: sparse: cast to restricted __be16
--
>> net/oenetcls/oenetcls_main.c:265:31: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void *useraddr @@ got void [noderef] __user *ifru_data @@
net/oenetcls/oenetcls_main.c:265:31: sparse: expected void *useraddr
net/oenetcls/oenetcls_main.c:265:31: sparse: got void [noderef] __user *ifru_data
>> net/oenetcls/oenetcls_main.c:344:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __user *[addressable] ifru_data @@ got void *cmd @@
net/oenetcls/oenetcls_main.c:344:22: sparse: expected void [noderef] __user *[addressable] ifru_data
net/oenetcls/oenetcls_main.c:344:22: sparse: got void *cmd
--
>> net/oenetcls/oenetcls_flow.c:18:6: sparse: sparse: symbol 'is_oecls_config_netdev' was not declared. Should it be static?
>> net/oenetcls/oenetcls_flow.c:40:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:40:22: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:40:22: sparse: void *
net/oenetcls/oenetcls_flow.c:149:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:149:15: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:149:15: sparse: void *
net/oenetcls/oenetcls_flow.c:235:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:235:15: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:235:15: sparse: void *
net/oenetcls/oenetcls_flow.c:258:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:258:23: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:258:23: sparse: void *
net/oenetcls/oenetcls_flow.c:260:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:260:17: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:260:17: sparse: void *
net/oenetcls/oenetcls_flow.c:309:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
net/oenetcls/oenetcls_flow.c:309:17: sparse: void [noderef] __rcu *
net/oenetcls/oenetcls_flow.c:309:17: sparse: void *
>> net/oenetcls/oenetcls_flow.c:258:23: sparse: sparse: dereference of noderef expression
vim +/oecls_sk_rules +14 net/oenetcls/oenetcls_ntuple.c
4bed6ba0e88f50 Wang Liang 2025-08-26 13
4bed6ba0e88f50 Wang Liang 2025-08-26 @14 struct oecls_sk_rule_list oecls_sk_rules, oecls_sk_list;
4bed6ba0e88f50 Wang Liang 2025-08-26 15
4bed6ba0e88f50 Wang Liang 2025-08-26 16 static void init_oecls_sk_rules(void)
4bed6ba0e88f50 Wang Liang 2025-08-26 17 {
4bed6ba0e88f50 Wang Liang 2025-08-26 18 unsigned int i;
4bed6ba0e88f50 Wang Liang 2025-08-26 19
4bed6ba0e88f50 Wang Liang 2025-08-26 20 for (i = 0; i < OECLS_SK_RULE_HASHSIZE; i++)
4bed6ba0e88f50 Wang Liang 2025-08-26 21 INIT_HLIST_HEAD(oecls_sk_rules.hash + i);
4bed6ba0e88f50 Wang Liang 2025-08-26 22 mutex_init(&oecls_sk_rules.mutex);
4bed6ba0e88f50 Wang Liang 2025-08-26 23 }
4bed6ba0e88f50 Wang Liang 2025-08-26 24
4bed6ba0e88f50 Wang Liang 2025-08-26 25 static inline struct hlist_head *get_rule_hashlist(u32 dip4, u16 dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 26 {
4bed6ba0e88f50 Wang Liang 2025-08-26 27 return oecls_sk_rules.hash + (jhash_2words(dip4, dport, 0) & OECLS_SK_RULE_HASHMASK);
4bed6ba0e88f50 Wang Liang 2025-08-26 28 }
4bed6ba0e88f50 Wang Liang 2025-08-26 29
4bed6ba0e88f50 Wang Liang 2025-08-26 30 static inline struct hlist_head *get_sk_hashlist(void *sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 31 {
4bed6ba0e88f50 Wang Liang 2025-08-26 32 return oecls_sk_list.hash + (jhash(sk, sizeof(sk), 0) & OECLS_SK_RULE_HASHMASK);
4bed6ba0e88f50 Wang Liang 2025-08-26 33 }
4bed6ba0e88f50 Wang Liang 2025-08-26 34
4bed6ba0e88f50 Wang Liang 2025-08-26 35 static void add_sk_rule(int devid, u32 dip4, u16 dport, void *sk, int action,
4bed6ba0e88f50 Wang Liang 2025-08-26 36 int ruleid, int nid)
4bed6ba0e88f50 Wang Liang 2025-08-26 37 {
4bed6ba0e88f50 Wang Liang 2025-08-26 38 struct hlist_head *hlist = get_rule_hashlist(dip4, dport);
4bed6ba0e88f50 Wang Liang 2025-08-26 39 struct hlist_head *sk_hlist = get_sk_hashlist(sk);
4bed6ba0e88f50 Wang Liang 2025-08-26 40 struct oecls_sk_rule *rule;
4bed6ba0e88f50 Wang Liang 2025-08-26 41 struct oecls_sk_entry *entry;
4bed6ba0e88f50 Wang Liang 2025-08-26 42
4bed6ba0e88f50 Wang Liang 2025-08-26 43 rule = kzalloc(sizeof(*rule), GFP_ATOMIC);
4bed6ba0e88f50 Wang Liang 2025-08-26 44 entry = kzalloc(sizeof(*entry), GFP_ATOMIC);
4bed6ba0e88f50 Wang Liang 2025-08-26 45 if (!rule || !entry)
4bed6ba0e88f50 Wang Liang 2025-08-26 46 goto out;
4bed6ba0e88f50 Wang Liang 2025-08-26 47
4bed6ba0e88f50 Wang Liang 2025-08-26 48 rule->sk = sk;
4bed6ba0e88f50 Wang Liang 2025-08-26 49 rule->dip4 = dip4;
4bed6ba0e88f50 Wang Liang 2025-08-26 50 rule->dport = dport;
4bed6ba0e88f50 Wang Liang 2025-08-26 51 rule->devid = devid;
4bed6ba0e88f50 Wang Liang 2025-08-26 52 rule->action = action;
4bed6ba0e88f50 Wang Liang 2025-08-26 53 rule->ruleid = ruleid;
4bed6ba0e88f50 Wang Liang 2025-08-26 54 rule->nid = nid;
4bed6ba0e88f50 Wang Liang 2025-08-26 55 hlist_add_head(&rule->node, hlist);
4bed6ba0e88f50 Wang Liang 2025-08-26 56
4bed6ba0e88f50 Wang Liang 2025-08-26 57 entry->sk = sk;
4bed6ba0e88f50 Wang Liang 2025-08-26 58 entry->sk_rule_hash = jhash_2words(dip4, dport, 0);
4bed6ba0e88f50 Wang Liang 2025-08-26 59 hlist_add_head(&entry->node, sk_hlist);
4bed6ba0e88f50 Wang Liang 2025-08-26 60 return;
4bed6ba0e88f50 Wang Liang 2025-08-26 61 out:
4bed6ba0e88f50 Wang Liang 2025-08-26 62 oecls_debug("alloc failed rule:%p entry:%p\n", rule, entry);
4bed6ba0e88f50 Wang Liang 2025-08-26 63 kfree(entry);
4bed6ba0e88f50 Wang Liang 2025-08-26 64 kfree(rule);
4bed6ba0e88f50 Wang Liang 2025-08-26 65 }
4bed6ba0e88f50 Wang Liang 2025-08-26 66
4bed6ba0e88f50 Wang Liang 2025-08-26 67 static struct oecls_sk_entry *get_sk_entry(void *sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 68 {
4bed6ba0e88f50 Wang Liang 2025-08-26 69 struct hlist_head *sk_hlist = get_sk_hashlist(sk);
4bed6ba0e88f50 Wang Liang 2025-08-26 70 struct oecls_sk_entry *entry = NULL;
4bed6ba0e88f50 Wang Liang 2025-08-26 71
4bed6ba0e88f50 Wang Liang 2025-08-26 72 hlist_for_each_entry(entry, sk_hlist, node) {
4bed6ba0e88f50 Wang Liang 2025-08-26 73 if (entry->sk == sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 74 break;
4bed6ba0e88f50 Wang Liang 2025-08-26 75 }
4bed6ba0e88f50 Wang Liang 2025-08-26 76 return entry;
4bed6ba0e88f50 Wang Liang 2025-08-26 77 }
4bed6ba0e88f50 Wang Liang 2025-08-26 78
4bed6ba0e88f50 Wang Liang 2025-08-26 79 static void del_sk_rule(struct oecls_sk_rule *rule)
4bed6ba0e88f50 Wang Liang 2025-08-26 80 {
4bed6ba0e88f50 Wang Liang 2025-08-26 81 struct oecls_sk_entry *entry;
4bed6ba0e88f50 Wang Liang 2025-08-26 82
4bed6ba0e88f50 Wang Liang 2025-08-26 83 entry = get_sk_entry(rule->sk);
4bed6ba0e88f50 Wang Liang 2025-08-26 84 if (!entry)
4bed6ba0e88f50 Wang Liang 2025-08-26 85 return;
4bed6ba0e88f50 Wang Liang 2025-08-26 86 hlist_del_init(&entry->node);
4bed6ba0e88f50 Wang Liang 2025-08-26 87 kfree(entry);
4bed6ba0e88f50 Wang Liang 2025-08-26 88
4bed6ba0e88f50 Wang Liang 2025-08-26 89 oecls_debug("del rule=%p\n", rule);
4bed6ba0e88f50 Wang Liang 2025-08-26 90 hlist_del_init(&rule->node);
4bed6ba0e88f50 Wang Liang 2025-08-26 91 kfree(rule);
4bed6ba0e88f50 Wang Liang 2025-08-26 92 }
4bed6ba0e88f50 Wang Liang 2025-08-26 93
4bed6ba0e88f50 Wang Liang 2025-08-26 94 static struct oecls_sk_rule *get_sk_rule(int devid, u32 dip4, u16 dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 95 {
4bed6ba0e88f50 Wang Liang 2025-08-26 96 struct hlist_head *hlist = get_rule_hashlist(dip4, dport);
4bed6ba0e88f50 Wang Liang 2025-08-26 97 struct oecls_sk_rule *rule = NULL;
4bed6ba0e88f50 Wang Liang 2025-08-26 98
4bed6ba0e88f50 Wang Liang 2025-08-26 99 hlist_for_each_entry(rule, hlist, node) {
4bed6ba0e88f50 Wang Liang 2025-08-26 100 if (rule->devid == devid && rule->dip4 == dip4 && rule->dport == dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 101 break;
4bed6ba0e88f50 Wang Liang 2025-08-26 102 }
4bed6ba0e88f50 Wang Liang 2025-08-26 103 return rule;
4bed6ba0e88f50 Wang Liang 2025-08-26 104 }
4bed6ba0e88f50 Wang Liang 2025-08-26 105
4bed6ba0e88f50 Wang Liang 2025-08-26 106 static struct oecls_sk_rule *get_rule_from_sk(int devid, void *sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 107 {
4bed6ba0e88f50 Wang Liang 2025-08-26 108 struct oecls_sk_rule *rule = NULL;
4bed6ba0e88f50 Wang Liang 2025-08-26 109 struct oecls_sk_entry *entry;
4bed6ba0e88f50 Wang Liang 2025-08-26 110 struct hlist_head *hlist;
4bed6ba0e88f50 Wang Liang 2025-08-26 111
4bed6ba0e88f50 Wang Liang 2025-08-26 112 entry = get_sk_entry(sk);
4bed6ba0e88f50 Wang Liang 2025-08-26 113 if (!entry)
4bed6ba0e88f50 Wang Liang 2025-08-26 114 return NULL;
4bed6ba0e88f50 Wang Liang 2025-08-26 115
4bed6ba0e88f50 Wang Liang 2025-08-26 116 hlist = oecls_sk_rules.hash + (entry->sk_rule_hash & OECLS_SK_RULE_HASHMASK);
4bed6ba0e88f50 Wang Liang 2025-08-26 117 hlist_for_each_entry(rule, hlist, node) {
4bed6ba0e88f50 Wang Liang 2025-08-26 118 if (rule->devid == devid && rule->sk == sk)
4bed6ba0e88f50 Wang Liang 2025-08-26 119 break;
4bed6ba0e88f50 Wang Liang 2025-08-26 120 }
4bed6ba0e88f50 Wang Liang 2025-08-26 121 return rule;
4bed6ba0e88f50 Wang Liang 2025-08-26 122 }
4bed6ba0e88f50 Wang Liang 2025-08-26 123
4bed6ba0e88f50 Wang Liang 2025-08-26 124 static inline bool reuseport_check(int devid, u32 dip4, u16 dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 125 {
4bed6ba0e88f50 Wang Liang 2025-08-26 126 return !!get_sk_rule(devid, dip4, dport);
4bed6ba0e88f50 Wang Liang 2025-08-26 127 }
4bed6ba0e88f50 Wang Liang 2025-08-26 128
4bed6ba0e88f50 Wang Liang 2025-08-26 129 static u32 get_first_ip4_addr(struct net *net)
4bed6ba0e88f50 Wang Liang 2025-08-26 130 {
4bed6ba0e88f50 Wang Liang 2025-08-26 131 struct in_device *in_dev;
4bed6ba0e88f50 Wang Liang 2025-08-26 132 struct net_device *dev;
4bed6ba0e88f50 Wang Liang 2025-08-26 133 struct in_ifaddr *ifa;
4bed6ba0e88f50 Wang Liang 2025-08-26 134 u32 dip4 = 0;
4bed6ba0e88f50 Wang Liang 2025-08-26 135
4bed6ba0e88f50 Wang Liang 2025-08-26 136 rtnl_lock();
4bed6ba0e88f50 Wang Liang 2025-08-26 137 rcu_read_lock();
4bed6ba0e88f50 Wang Liang 2025-08-26 138 for_each_netdev(net, dev) {
4bed6ba0e88f50 Wang Liang 2025-08-26 139 if (dev->flags & IFF_LOOPBACK || !(dev->flags & IFF_UP))
4bed6ba0e88f50 Wang Liang 2025-08-26 140 continue;
4bed6ba0e88f50 Wang Liang 2025-08-26 141 in_dev = __in_dev_get_rcu(dev);
4bed6ba0e88f50 Wang Liang 2025-08-26 142 if (!in_dev)
4bed6ba0e88f50 Wang Liang 2025-08-26 143 continue;
4bed6ba0e88f50 Wang Liang 2025-08-26 144
4bed6ba0e88f50 Wang Liang 2025-08-26 145 in_dev_for_each_ifa_rcu(ifa, in_dev) {
4bed6ba0e88f50 Wang Liang 2025-08-26 146 if (!strcmp(dev->name, ifa->ifa_label)) {
4bed6ba0e88f50 Wang Liang 2025-08-26 @147 dip4 = ifa->ifa_local;
4bed6ba0e88f50 Wang Liang 2025-08-26 148 oecls_debug("dev: %s, dip4:%pI4\n", dev->name, &dip4);
4bed6ba0e88f50 Wang Liang 2025-08-26 149 goto out;
4bed6ba0e88f50 Wang Liang 2025-08-26 150 }
4bed6ba0e88f50 Wang Liang 2025-08-26 151 }
4bed6ba0e88f50 Wang Liang 2025-08-26 152 }
4bed6ba0e88f50 Wang Liang 2025-08-26 153 out:
4bed6ba0e88f50 Wang Liang 2025-08-26 154 rcu_read_unlock();
4bed6ba0e88f50 Wang Liang 2025-08-26 155 rtnl_unlock();
4bed6ba0e88f50 Wang Liang 2025-08-26 156 return dip4;
4bed6ba0e88f50 Wang Liang 2025-08-26 157 }
4bed6ba0e88f50 Wang Liang 2025-08-26 158
4bed6ba0e88f50 Wang Liang 2025-08-26 159 static void get_sk_rule_addr(struct sock *sk, u32 *dip4, u16 *dport)
4bed6ba0e88f50 Wang Liang 2025-08-26 160 {
4bed6ba0e88f50 Wang Liang 2025-08-26 @161 *dport = htons(sk->sk_num);
4bed6ba0e88f50 Wang Liang 2025-08-26 162
4bed6ba0e88f50 Wang Liang 2025-08-26 163 if (!match_ip_flag) {
4bed6ba0e88f50 Wang Liang 2025-08-26 164 *dip4 = 0;
4bed6ba0e88f50 Wang Liang 2025-08-26 165 return;
4bed6ba0e88f50 Wang Liang 2025-08-26 166 }
4bed6ba0e88f50 Wang Liang 2025-08-26 167
4bed6ba0e88f50 Wang Liang 2025-08-26 168 if (sk->sk_rcv_saddr)
4bed6ba0e88f50 Wang Liang 2025-08-26 @169 *dip4 = sk->sk_rcv_saddr;
4bed6ba0e88f50 Wang Liang 2025-08-26 170 else
4bed6ba0e88f50 Wang Liang 2025-08-26 171 *dip4 = get_first_ip4_addr(sock_net(sk));
4bed6ba0e88f50 Wang Liang 2025-08-26 172 }
4bed6ba0e88f50 Wang Liang 2025-08-26 173
:::::: The code at line 14 was first introduced by commit
:::::: 4bed6ba0e88f50484fd5fb06bd993727b981b718 net/oenetcls: introduce oenetcls for network optimization
:::::: TO: Wang Liang <wangliang74(a)huawei.com>
:::::: CC: Wang Liang <wangliang74(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[PATCH OLK-6.6 v3] arm64: Do not enable hardware xcall/xint in guest temporarily
by Jinjie Ruan 18 Sep '25
by Jinjie Ruan 18 Sep '25
18 Sep '25
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/release-management/issues/IBV2E4
--------------------------------
In guest VM, ID register is needed to do VM migration, but currently 920G
do not have an ID register to identify hardware xcall/xint feature, which
will be supported by AIDR_EL1.xcall in the next generation, so check
the bit for non-920G hardware and do not enable xcall/xint in guest
for 920G to avoid the problem in guest.
Fixes: 7f2e02718bba ("arm64: entry: Support hardware xcall and xint")
Signed-off-by: Jinjie Ruan <ruanjinjie(a)huawei.com>
---
arch/arm64/kernel/cpufeature.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index 5c9d2f98e488..480af6df8364 100644
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
@@ -2443,15 +2443,35 @@ static void mpam_extra_caps(void)
#include <asm/xcall.h>
DEFINE_STATIC_KEY_FALSE(xcall_enable);
+#define AIDR_ELx_XCALL_SHIFT 32
+#define AIDR_ELx_XCALL (UL(1) << AIDR_ELx_XCALL_SHIFT)
+
static bool is_arch_xcall_xint_support(void)
{
+ u64 aidr_el1 = read_sysreg_s(SYS_AIDR_EL1);
+ u64 el = read_sysreg(CurrentEL);
+
/* List of CPUs that support Xcall/Xint */
- static const struct midr_range xcall_xint_cpus[] = {
+ static const struct midr_range hip12_cpus[] = {
MIDR_ALL_VERSIONS(MIDR_HISI_HIP12),
{ /* sentinel */ }
};
- if (is_midr_in_range_list(read_cpuid_id(), xcall_xint_cpus))
+ if (is_midr_in_range_list(read_cpuid_id(), hip12_cpus)) {
+ if (el == CurrentEL_EL2)
+ return true;
+ else
+ return false;
+ }
+
+ /*
+ * Before hip12, AIDR[33:32] is reserved zero, Xcall/Xint v1
+ * is not supported.
+ *
+ * After hip12, if AIDR[33:32] = 0x01, Xcall/Xint v1 and v2
+ * is supported, else if AIDR[33:32] = 0x0, none of them supported.
+ */
+ if (aidr_el1 & AIDR_ELx_XCALL)
return true;
return false;
--
2.34.1
2
1
[openeuler:OLK-6.6 2904/2904] drivers/scsi/leapioraid/leapioraid_func.c:323:5: sparse: sparse: symbol 'cooo' was not declared. Should it be static?
by kernel test robot 18 Sep '25
by kernel test robot 18 Sep '25
18 Sep '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 8ba53a0f68c5722dd787f872e161bbd850b225c4
commit: cb4f105d75398d2a0bd81c54df74aab82050e0f7 [2904/2904] LeapIOraid: add device and support fw log
config: loongarch-randconfig-r111-20250918 (https://download.01.org/0day-ci/archive/20250918/202509181012.vVyKqQhs-lkp@…)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250918/202509181012.vVyKqQhs-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/202509181012.vVyKqQhs-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/scsi/leapioraid/leapioraid_func.c:303:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 static [addressable] [assigned] [toplevel] [usertype] s_addr @@ got unsigned int [addressable] [usertype] ip @@
drivers/scsi/leapioraid/leapioraid_func.c:303:35: sparse: expected restricted __be32 static [addressable] [assigned] [toplevel] [usertype] s_addr
drivers/scsi/leapioraid/leapioraid_func.c:303:35: sparse: got unsigned int [addressable] [usertype] ip
>> drivers/scsi/leapioraid/leapioraid_func.c:323:5: sparse: sparse: symbol 'cooo' was not declared. Should it be static?
drivers/scsi/leapioraid/leapioraid_func.c:1366:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned long long [usertype] * @@
drivers/scsi/leapioraid/leapioraid_func.c:1366:67: sparse: expected void volatile [noderef] __iomem *addr
drivers/scsi/leapioraid/leapioraid_func.c:1366:67: sparse: got unsigned long long [usertype] *
drivers/scsi/leapioraid/leapioraid_func.c:1398:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned long long [usertype] * @@
drivers/scsi/leapioraid/leapioraid_func.c:1398:51: sparse: expected void volatile [noderef] __iomem *addr
drivers/scsi/leapioraid/leapioraid_func.c:1398:51: sparse: got unsigned long long [usertype] *
drivers/scsi/leapioraid/leapioraid_func.c:1896:21: sparse: sparse: symbol 'leapioraid_pcie_link_speed' was not declared. Should it be static?
drivers/scsi/leapioraid/leapioraid_func.c:2918:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/scsi/leapioraid/leapioraid_func.c:3263:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/scsi/leapioraid/leapioraid_func.c:3263:16: sparse: expected unsigned int [usertype] value
drivers/scsi/leapioraid/leapioraid_func.c:3263:16: sparse: got restricted __le32 [usertype]
drivers/scsi/leapioraid/leapioraid_func.c:3276:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/scsi/leapioraid/leapioraid_func.c:3276:16: sparse: expected unsigned int [usertype] value
drivers/scsi/leapioraid/leapioraid_func.c:3276:16: sparse: got restricted __le32 [usertype]
drivers/scsi/leapioraid/leapioraid_func.c:3289:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/scsi/leapioraid/leapioraid_func.c:3289:16: sparse: expected unsigned int [usertype] value
drivers/scsi/leapioraid/leapioraid_func.c:3289:16: sparse: got restricted __le32 [usertype]
drivers/scsi/leapioraid/leapioraid_func.c:3302:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
drivers/scsi/leapioraid/leapioraid_func.c:3302:16: sparse: expected unsigned int [usertype] value
drivers/scsi/leapioraid/leapioraid_func.c:3302:16: sparse: got restricted __le32 [usertype]
drivers/scsi/leapioraid/leapioraid_func.c:3345:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] ImageSize @@ got unsigned long [assigned] [usertype] data_length @@
drivers/scsi/leapioraid/leapioraid_func.c:3345:32: sparse: expected restricted __le32 [usertype] ImageSize
drivers/scsi/leapioraid/leapioraid_func.c:3345:32: sparse: got unsigned long [assigned] [usertype] data_length
drivers/scsi/leapioraid/leapioraid_func.c:4717:40: sparse: sparse: invalid assignment: |=
drivers/scsi/leapioraid/leapioraid_func.c:4717:40: sparse: left side has type restricted __le16
drivers/scsi/leapioraid/leapioraid_func.c:4717:40: sparse: right side has type int
drivers/scsi/leapioraid/leapioraid_func.c:4775:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le64 [addressable] [assigned] [usertype] BufAddr @@ got unsigned long long [usertype] log_buffer_dma @@
drivers/scsi/leapioraid/leapioraid_func.c:4775:29: sparse: expected restricted __le64 [addressable] [assigned] [usertype] BufAddr
drivers/scsi/leapioraid/leapioraid_func.c:4775:29: sparse: got unsigned long long [usertype] log_buffer_dma
drivers/scsi/leapioraid/leapioraid_func.c:4776:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] BufSize @@ got int @@
drivers/scsi/leapioraid/leapioraid_func.c:4776:29: sparse: expected restricted __le32 [addressable] [assigned] [usertype] BufSize
drivers/scsi/leapioraid/leapioraid_func.c:4776:29: sparse: got int
drivers/scsi/leapioraid/leapioraid_func.c:5218:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned long long [usertype] * @@
drivers/scsi/leapioraid/leapioraid_func.c:5218:67: sparse: expected void volatile [noderef] __iomem *addr
drivers/scsi/leapioraid/leapioraid_func.c:5218:67: sparse: got unsigned long long [usertype] *
vim +/cooo +323 drivers/scsi/leapioraid/leapioraid_func.c
317
318 struct info
319 {
320 u32 user_position;
321 u32 ioc_position;
322 };
> 323 int cooo;
324
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 2904/2904] clang: error: -Wl,-soname=linux-ilp32-vdso.so.1: 'linker' input unused
by kernel test robot 18 Sep '25
by kernel test robot 18 Sep '25
18 Sep '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 8ba53a0f68c5722dd787f872e161bbd850b225c4
commit: f9b54a6714445cde83aeff0318cf767b3b81229d [2904/2904] arm64:ilp32: add ARM64_ILP32 to Kconfig
config: arm64-randconfig-r122-20250918 (https://download.01.org/0day-ci/archive/20250918/202509181039.pyJAKtlO-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 7c861bcedf61607b6c087380ac711eb7ff918ca6)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250918/202509181039.pyJAKtlO-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/202509181039.pyJAKtlO-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from <built-in>:3:
In file included from include/linux/compiler_types.h:150:
include/linux/compiler-clang.h:42:9: warning: '__SANITIZE_THREAD__' macro redefined [-Wmacro-redefined]
42 | #define __SANITIZE_THREAD__
| ^
<built-in>:367:9: note: previous definition is here
367 | #define __SANITIZE_THREAD__ 1
| ^
1 warning generated.
In file included from <built-in>:3:
In file included from include/linux/compiler_types.h:150:
include/linux/compiler-clang.h:42:9: warning: '__SANITIZE_THREAD__' macro redefined [-Wmacro-redefined]
42 | #define __SANITIZE_THREAD__
| ^
<built-in>:367:9: note: previous definition is here
367 | #define __SANITIZE_THREAD__ 1
| ^
1 warning generated.
In file included from <built-in>:3:
In file included from include/linux/compiler_types.h:150:
include/linux/compiler-clang.h:42:9: warning: '__SANITIZE_THREAD__' macro redefined [-Wmacro-redefined]
42 | #define __SANITIZE_THREAD__
| ^
<built-in>:367:9: note: previous definition is here
367 | #define __SANITIZE_THREAD__ 1
| ^
1 warning generated.
In file included from <built-in>:3:
In file included from include/linux/compiler_types.h:150:
include/linux/compiler-clang.h:42:9: warning: '__SANITIZE_THREAD__' macro redefined [-Wmacro-redefined]
42 | #define __SANITIZE_THREAD__
| ^
<built-in>:367:9: note: previous definition is here
367 | #define __SANITIZE_THREAD__ 1
| ^
In file included from arch/arm64/kernel/asm-offsets.c:12:
In file included from include/linux/ftrace.h:13:
In file included from include/linux/kallsyms.h:13:
In file included from include/linux/mm.h:2168:
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
2 warnings generated.
In file included from <built-in>:3:
In file included from include/linux/compiler_types.h:150:
include/linux/compiler-clang.h:42:9: warning: '__SANITIZE_THREAD__' macro redefined [-Wmacro-redefined]
42 | #define __SANITIZE_THREAD__
| ^
<built-in>:367:9: note: previous definition is here
367 | #define __SANITIZE_THREAD__ 1
| ^
1 warning generated.
arch/arm64/kernel/vdso-ilp32/Makefile:84: FORCE prerequisite is missing
arch/arm64/kernel/vdso-ilp32/Makefile:87: FORCE prerequisite is missing
arch/arm64/kernel/vdso-ilp32/Makefile:90: FORCE prerequisite is missing
error: unknown target ABI 'ilp32'
>> clang: error: -Wl,-soname=linux-ilp32-vdso.so.1: 'linker' input unused [-Werror,-Wunused-command-line-argument]
make[3]: *** [scripts/Makefile.build:373: arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds] Error 1
make[3]: *** [arch/arm64/kernel/vdso-ilp32/Makefile:84: arch/arm64/kernel/vdso-ilp32/vgettimeofday-ilp32.o] Error 1
error: unknown target ABI 'ilp32'
make[3]: *** [arch/arm64/kernel/vdso-ilp32/Makefile:87: arch/arm64/kernel/vdso-ilp32/note-ilp32.o] Error 1
error: unknown target ABI 'ilp32'
make[3]: *** [arch/arm64/kernel/vdso-ilp32/Makefile:90: arch/arm64/kernel/vdso-ilp32/sigreturn-ilp32.o] Error 1
make[3]: Target 'include/generated/vdso-ilp32-offsets.h' not remade because of errors.
make[2]: *** [arch/arm64/Makefile:201: vdso_prepare] Error 2
make[2]: Target 'prepare' not remade because of errors.
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:234: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6] BUILD REGRESSION 8ba53a0f68c5722dd787f872e161bbd850b225c4
by kernel test robot 18 Sep '25
by kernel test robot 18 Sep '25
18 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 8ba53a0f68c5722dd787f872e161bbd850b225c4 !16579 Do not shatter hugezeropage on wp-fault
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508210857.2ksxM8sj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508211208.pMTZ4FXY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508212350.cdtYa1wJ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508271625.s6br6gQM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282115.FeEkHc1L-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282129.EDKxrS6o-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292128.aB60Q1zq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292223.h9TBg6O5-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300025.VFiF17aE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300119.FVignUFM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300319.Biz2ibcG-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508301353.sMr1cJLt-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020626.0JaPbty4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020837.kUUC5gs7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091546.3rklFVnn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091707.YxEsJCE3-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509100832.WdxoWFgC-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101135.XUImZv6b-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101407.yFi7BLHu-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101646.6hsrX8dz-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509122354.VZ9a8UaA-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509130621.eY2Y6kXo-lkp@intel.com
arch/arm64/kernel/idle.c:51:5: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
drivers/clocksource/arm_arch_timer.c:371:33: warning: unused variable 'hisi_165010801_oem_info' [-Wunused-variable]
drivers/i2c/busses/i2c-zhaoxin.c:176:5: warning: no previous prototype for function 'zxi2c_fifo_irq_xfer' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:314:5: warning: no previous prototype for function 'zxi2c_xfer' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:123:6: warning: no previous prototype for function 'wakeup_and_poll' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:130:5: warning: no previous prototype for function 'polling_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:147:5: warning: no previous prototype for function 'polling_awaken_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for function 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/pci/pci.c:181:17: error: expected ')'
drivers/pci/pci.c:181:17: error: redefinition of 'suspend_state_t' as different kind of symbol
include/linux/fortify-string.h:597:4: warning: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
kernel/dma/phytium/pswiotlb-mapping.c:400:30: warning: no previous prototype for function 'pswiotlb_clone_orig_dma_ops' [-Wmissing-prototypes]
kernel/dma/phytium/pswiotlb.c:1005: warning: Function parameter or member 'nid' not described in 'pswiotlb_area_find_slots'
kernel/dma/phytium/pswiotlb.c:1115: warning: Function parameter or member 'nid' not described in 'pswiotlb_pool_find_slots'
kernel/dma/phytium/pswiotlb.c:1153: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_slots'
kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used [-Wunused-but-set-variable]
kernel/dma/phytium/pswiotlb.c:1523: warning: Function parameter or member 'dev' not described in 'is_pswiotlb_allocated'
kernel/dma/phytium/pswiotlb.c:1542: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_base'
kernel/dma/phytium/pswiotlb.c:1556: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_limit'
kernel/dma/phytium/pswiotlb.c:474: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_tlb'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'transient' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:806: warning: Function parameter or member 'nid' not described in 'alloc_dma_pages'
kernel/dma/phytium/pswiotlb.c:836: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_pool'
kernel/livepatch/core.c:2105:12: warning: no previous prototype for function 'arch_klp_check_breakpoint' [-Wmissing-prototypes]
kernel/sched/fair.c:15434:12: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
mm/damon/core.c:116:5: warning: no previous prototype for function 'damon_target_init_kfifo' [-Wmissing-prototypes]
mm/damon/core.c:132:6: warning: no previous prototype for function 'damon_target_deinit_kfifo' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for function 'force_swapin_vma' [-Wmissing-prototypes]
mm/mem_sampling.c:72:6: warning: no previous prototype for function 'mem_sampling_record_cb_register' [-Wmissing-prototypes]
mm/mem_sampling.c:89:6: warning: no previous prototype for function 'mem_sampling_record_cb_unregister' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for function 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1611: warning: expecting prototype for memblock_alloc_internal(). Prototype was for __memblock_alloc_internal() instead
mm/memcontrol.c:3496:6: warning: no previous prototype for function 'hisi_oom_recover' [-Wmissing-prototypes]
mm/memcontrol.c:4847:12: warning: 'mem_cgroup_check_swap_for_v1' defined but not used [-Wunused-function]
mm/mempolicy.c:1123:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/mempolicy.c:1123:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/oom_kill.c:319: warning: Function parameter or member 'oc' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'points' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'task' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: expecting prototype for We choose the task in low(). Prototype was for oom_next_task() instead
mm/page_cache_limit.c:61:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/share_pool.c:1510: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc'
mm/share_pool.c:2425: warning: duplicate section name 'Return'
mm/share_pool.c:2796:7: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable]
mm/share_pool.c:2844: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare'
mm/share_pool.c:975: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead
mm/vmalloc.c:4976: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
net/oenetcls/oenetcls_flow.c:18:6: warning: no previous prototype for function 'is_oecls_config_netdev' [-Wmissing-prototypes]
Unverified Error/Warning (likely false positive, kindly check if interested):
warning: unsafe strlcpy() usage lacked '__write_overflow' warning in lib/test_fortify/write_overflow-strlcpy-src.c
warning: unsafe strlcpy() usage lacked '__write_overflow' warning in lib/test_fortify/write_overflow-strlcpy.c
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-kernel-idle.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-cq_polling
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_awaken_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-wakeup_and_poll
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- kernel-dma-phytium-pswiotlb-mapping.c:warning:no-previous-prototype-for-function-pswiotlb_clone_orig_dma_ops
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_base
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_limit
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-is_pswiotlb_allocated
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-alloc_dma_pages
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_tlb
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_area_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_pool_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-transient-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:variable-cpuid-set-but-not-used
| |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_deinit_kfifo
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_init_kfifo
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_register
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_unregister
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-function-hisi_oom_recover
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-share_pool.c:warning:Function-parameter-or-member-node_id-not-described-in-sp_area_alloc
| |-- mm-share_pool.c:warning:Function-parameter-or-member-spg_id-not-described-in-mg_sp_unshare
| |-- mm-share_pool.c:warning:duplicate-section-name-Return
| |-- mm-share_pool.c:warning:expecting-prototype-for-mp_sp_group_id_by_pid().-Prototype-was-for-mg_sp_group_id_by_pid()-instead
| |-- mm-share_pool.c:warning:variable-is_hugepage-set-but-not-used
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- arm64-allnoconfig
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-001-20250917
| |-- drivers-clocksource-arm_arch_timer.c:warning:unused-variable-hisi_165010801_oem_info
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-002-20250917
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- kernel-livepatch-core.c:warning:no-previous-prototype-for-function-arch_klp_check_breakpoint
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-003-20250917
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-004-20250917
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| |-- warning:unsafe-strlcpy()-usage-lacked-__write_overflow-warning-in-lib-test_fortify-write_overflow-strlcpy-src.c
| `-- warning:unsafe-strlcpy()-usage-lacked-__write_overflow-warning-in-lib-test_fortify-write_overflow-strlcpy.c
|-- loongarch-allmodconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- loongarch-allnoconfig
| |-- arch-loongarch-kernel-efi.c:error:assigning-to-pmd_t-from-incompatible-type-int
| |-- arch-loongarch-kernel-efi.c:error:call-to-undeclared-function-pmd_mkhuge-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- arch-loongarch-kernel-legacy_boot.c:error:call-to-undeclared-function-nid_to_addrbase-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-pci-pci.c:error:expected-)
| |-- drivers-pci-pci.c:error:redefinition-of-suspend_state_t-as-different-kind-of-symbol
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allyesconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- loongarch-randconfig-001-20250917
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:mem_cgroup_check_swap_for_v1-defined-but-not-used
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-002-20250917
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allnoconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allyesconfig
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- x86_64-buildonly-randconfig-001-20250917
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:mem_cgroup_check_swap_for_v1-defined-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-002-20250917
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-003-20250917
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-004-20250917
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-005-20250917
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-006-20250917
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-defconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
`-- x86_64-randconfig-161-20250918
|-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
|-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
|-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
|-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
|-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
|-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
|-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
`-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
elapsed time: 883m
configs tested: 20
configs skipped: 117
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250917 clang-22
arm64 randconfig-002-20250917 clang-19
arm64 randconfig-003-20250917 gcc-10.5.0
arm64 randconfig-004-20250917 clang-22
loongarch allmodconfig clang-19
loongarch allnoconfig clang-22
loongarch randconfig-001-20250917 gcc-15.1.0
loongarch randconfig-002-20250917 gcc-15.1.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250917 gcc-14
x86_64 buildonly-randconfig-002-20250917 clang-20
x86_64 buildonly-randconfig-003-20250917 clang-20
x86_64 buildonly-randconfig-004-20250917 clang-20
x86_64 buildonly-randconfig-005-20250917 clang-20
x86_64 buildonly-randconfig-006-20250917 gcc-12
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-20
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[PATCH OLK-6.6] vsock/virtio: Validate length in packet header before skb_put()
by Ziming Du 17 Sep '25
by Ziming Du 17 Sep '25
17 Sep '25
From: Will Deacon <will(a)kernel.org>
mainline inclusion
from mainline-v6.17-rc1
commit 0dab92484474587b82e8e0455839eaf5ac7bf894
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWO1M
CVE: CVE-2025-39718
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
When receiving a vsock packet in the guest, only the virtqueue buffer
size is validated prior to virtio_vsock_skb_rx_put(). Unfortunately,
virtio_vsock_skb_rx_put() uses the length from the packet header as the
length argument to skb_put(), potentially resulting in SKB overflow if
the host has gone wonky.
Validate the length as advertised by the packet header before calling
virtio_vsock_skb_rx_put().
Cc: <stable(a)vger.kernel.org>
Fixes: 71dc9ec9ac7d ("virtio/vsock: replace virtio_vsock_pkt with sk_buff")
Signed-off-by: Will Deacon <will(a)kernel.org>
Message-Id: <20250717090116.11987-3-will(a)kernel.org>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare(a)redhat.com>
Signed-off-by: Ziming Du <duziming2(a)huawei.com>
---
net/vmw_vsock/virtio_transport.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c
index 2925f5d27ad3f..c4877cb7a5737 100644
--- a/net/vmw_vsock/virtio_transport.c
+++ b/net/vmw_vsock/virtio_transport.c
@@ -497,8 +497,9 @@ static void virtio_transport_rx_work(struct work_struct *work)
do {
virtqueue_disable_cb(vq);
for (;;) {
+ unsigned int len, payload_len;
+ struct virtio_vsock_hdr *hdr;
struct sk_buff *skb;
- unsigned int len;
if (!virtio_transport_more_replies(vsock)) {
/* Stop rx until the device processes already
@@ -515,12 +516,19 @@ static void virtio_transport_rx_work(struct work_struct *work)
vsock->rx_buf_nr--;
/* Drop short/long packets */
- if (unlikely(len < sizeof(struct virtio_vsock_hdr) ||
+ if (unlikely(len < sizeof(*hdr) ||
len > virtio_vsock_skb_len(skb))) {
kfree_skb(skb);
continue;
}
+ hdr = virtio_vsock_hdr(skb);
+ payload_len = le32_to_cpu(hdr->len);
+ if (unlikely(payload_len > len - sizeof(*hdr))) {
+ kfree_skb(skb);
+ continue;
+ }
+
virtio_vsock_skb_rx_put(skb);
virtio_transport_deliver_tap_pkt(skb);
virtio_transport_recv_pkt(&virtio_transport, skb);
--
2.43.0
2
1
[openeuler:OLK-6.6] BUILD REGRESSION 95d9bb49cd2a9acbcf01f5f0caa6820d443ac296
by kernel test robot 17 Sep '25
by kernel test robot 17 Sep '25
17 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 95d9bb49cd2a9acbcf01f5f0caa6820d443ac296 !18015 arm64: cca_base: On the Adaptation of CCA and virtCCA.
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508210857.2ksxM8sj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508211208.pMTZ4FXY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508271625.s6br6gQM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282115.FeEkHc1L-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282129.EDKxrS6o-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292128.aB60Q1zq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292223.h9TBg6O5-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300025.VFiF17aE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300119.FVignUFM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300319.Biz2ibcG-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020626.0JaPbty4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020837.kUUC5gs7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091546.3rklFVnn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091707.YxEsJCE3-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509100832.WdxoWFgC-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101135.XUImZv6b-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101407.yFi7BLHu-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101646.6hsrX8dz-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509122354.VZ9a8UaA-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509130621.eY2Y6kXo-lkp@intel.com
arch/arm64/kernel/idle.c:51:5: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:176:5: warning: no previous prototype for function 'zxi2c_fifo_irq_xfer' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:314:5: warning: no previous prototype for function 'zxi2c_xfer' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:123:6: warning: no previous prototype for function 'wakeup_and_poll' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:130:5: warning: no previous prototype for function 'polling_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:147:5: warning: no previous prototype for function 'polling_awaken_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for function 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/pci/pci.c:181:17: error: expected ')'
drivers/pci/pci.c:181:17: error: redefinition of 'suspend_state_t' as different kind of symbol
include/linux/fortify-string.h:597:4: warning: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
kernel/dma/phytium/pswiotlb-mapping.c:400:30: warning: no previous prototype for function 'pswiotlb_clone_orig_dma_ops' [-Wmissing-prototypes]
kernel/dma/phytium/pswiotlb.c:1005: warning: Function parameter or member 'nid' not described in 'pswiotlb_area_find_slots'
kernel/dma/phytium/pswiotlb.c:1115: warning: Function parameter or member 'nid' not described in 'pswiotlb_pool_find_slots'
kernel/dma/phytium/pswiotlb.c:1153: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_slots'
kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used [-Wunused-but-set-variable]
kernel/dma/phytium/pswiotlb.c:1523: warning: Function parameter or member 'dev' not described in 'is_pswiotlb_allocated'
kernel/dma/phytium/pswiotlb.c:1542: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_base'
kernel/dma/phytium/pswiotlb.c:1556: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_limit'
kernel/dma/phytium/pswiotlb.c:474: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_tlb'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'transient' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:806: warning: Function parameter or member 'nid' not described in 'alloc_dma_pages'
kernel/dma/phytium/pswiotlb.c:836: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_pool'
kernel/sched/fair.c:15434:12: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
mm/damon/core.c:116:5: warning: no previous prototype for function 'damon_target_init_kfifo' [-Wmissing-prototypes]
mm/damon/core.c:132:6: warning: no previous prototype for function 'damon_target_deinit_kfifo' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for function 'force_swapin_vma' [-Wmissing-prototypes]
mm/mem_sampling.c:72:6: warning: no previous prototype for function 'mem_sampling_record_cb_register' [-Wmissing-prototypes]
mm/mem_sampling.c:89:6: warning: no previous prototype for function 'mem_sampling_record_cb_unregister' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for function 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1611: warning: expecting prototype for memblock_alloc_internal(). Prototype was for __memblock_alloc_internal() instead
mm/memcontrol.c:3496:6: warning: no previous prototype for function 'hisi_oom_recover' [-Wmissing-prototypes]
mm/mempolicy.c:1123:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/mempolicy.c:1123:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/oom_kill.c:319: warning: Function parameter or member 'oc' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'points' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'task' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: expecting prototype for We choose the task in low(). Prototype was for oom_next_task() instead
mm/page_cache_limit.c:61:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/share_pool.c:1510: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc'
mm/share_pool.c:2425: warning: duplicate section name 'Return'
mm/share_pool.c:2796:7: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable]
mm/share_pool.c:2844: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare'
mm/share_pool.c:975: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead
mm/vmalloc.c:4976: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
net/oenetcls/oenetcls_flow.c:18:6: warning: no previous prototype for function 'is_oecls_config_netdev' [-Wmissing-prototypes]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-kernel-idle.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-cq_polling
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_awaken_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-wakeup_and_poll
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- kernel-dma-phytium-pswiotlb-mapping.c:warning:no-previous-prototype-for-function-pswiotlb_clone_orig_dma_ops
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_base
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_limit
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-is_pswiotlb_allocated
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-alloc_dma_pages
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_tlb
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_area_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_pool_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-transient-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:variable-cpuid-set-but-not-used
| |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_deinit_kfifo
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_init_kfifo
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_register
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_unregister
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-function-hisi_oom_recover
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-share_pool.c:warning:Function-parameter-or-member-node_id-not-described-in-sp_area_alloc
| |-- mm-share_pool.c:warning:Function-parameter-or-member-spg_id-not-described-in-mg_sp_unshare
| |-- mm-share_pool.c:warning:duplicate-section-name-Return
| |-- mm-share_pool.c:warning:expecting-prototype-for-mp_sp_group_id_by_pid().-Prototype-was-for-mg_sp_group_id_by_pid()-instead
| |-- mm-share_pool.c:warning:variable-is_hugepage-set-but-not-used
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- arm64-allnoconfig
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-001-20250916
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-002-20250916
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-003-20250916
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-004-20250916
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allmodconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- loongarch-allnoconfig
| |-- arch-loongarch-kernel-efi.c:error:assigning-to-pmd_t-from-incompatible-type-int
| |-- arch-loongarch-kernel-efi.c:error:call-to-undeclared-function-pmd_mkhuge-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- arch-loongarch-kernel-legacy_boot.c:error:call-to-undeclared-function-nid_to_addrbase-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-pci-pci.c:error:expected-)
| |-- drivers-pci-pci.c:error:redefinition-of-suspend_state_t-as-different-kind-of-symbol
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-002-20250916
| |-- drivers-pci-pci.c:error:expected-)
| |-- drivers-pci-pci.c:error:redefinition-of-suspend_state_t-as-different-kind-of-symbol
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allnoconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allyesconfig
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- x86_64-buildonly-randconfig-001-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-002-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-003-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-004-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-005-20250916
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-006-20250916
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-defconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
`-- x86_64-randconfig-161-20250917
|-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
|-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
|-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
|-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
`-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
elapsed time: 729m
configs tested: 20
configs skipped: 116
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250916 clang-18
arm64 randconfig-002-20250916 clang-22
arm64 randconfig-003-20250916 clang-22
arm64 randconfig-004-20250916 clang-22
loongarch allmodconfig clang-19
loongarch allnoconfig clang-22
loongarch randconfig-001-20250916 clang-16
loongarch randconfig-002-20250916 clang-22
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250916 gcc-14
x86_64 buildonly-randconfig-002-20250916 clang-20
x86_64 buildonly-randconfig-003-20250916 clang-20
x86_64 buildonly-randconfig-004-20250916 clang-20
x86_64 buildonly-randconfig-005-20250916 clang-20
x86_64 buildonly-randconfig-006-20250916 clang-20
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-20
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:openEuler-1.0-LTS] BUILD REGRESSION 1d593bdfdaff241dea4989a81386a6f45887adf2
by kernel test robot 17 Sep '25
by kernel test robot 17 Sep '25
17 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: 1d593bdfdaff241dea4989a81386a6f45887adf2 !8566 [openEuler-1.0-LTS] Update a series of xhci-related Zhaoxin patches
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508301637.4sfu6N2M-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020546.DO94LENh-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020919.PwhZw5yj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509152248.Glnloqtx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509160016.RjCI0LQf-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509160041.xVp7j0qx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509162016.H2iGR5dg-lkp@intel.com
block/blk-rq-qos.o: warning: objtool: missing symbol for section .text
drivers/usb/early/../host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
drivers/usb/host/xhci-mem.c:2210:17: warning: 'minor_revision' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/usb/host/xhci.h:1877: warning: "XHCI_ZHAOXIN_HOST" redefined
drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' redefined
mm/.tmp_ioremap.o: warning: objtool: missing symbol for section .text
mm/.tmp_util.o: warning: objtool: missing symbol for section .text
mm/ioremap.o: warning: objtool: missing symbol for section .text
mm/khugepaged.c:1387: warning: Function parameter or member 'reliable' not described in 'collapse_shmem'
mm/maccess.c:85:6: warning: no previous prototype for function '__probe_user_read' [-Wmissing-prototypes]
mm/memory_hotplug.c:925:16: warning: unused variable 'start_pfn' [-Wunused-variable]
mm/memory_hotplug.c:925:23: warning: unused variable 'start_pfn' [-Wunused-variable]
mm/memory_hotplug.c:970:13: warning: 'rollback_node_hotadd' defined but not used [-Wunused-function]
mm/page_alloc.c:3123: warning: Function parameter or member 'mt' not described in '__putback_isolated_page'
mm/vmalloc.c:231:16: warning: variable 'start' set but not used [-Wunused-but-set-variable]
mm/vmalloc.c:231:23: warning: variable 'start' set but not used [-Wunused-but-set-variable]
Unverified Error/Warning (likely false positive, kindly check if interested):
mm/memory.c:4803:3: warning: cast from 'int (*)(unsigned long, unsigned long, struct cgp_args *)' to 'ktask_thread_func' (aka 'int (*)(void *, void *, void *)') converts to incompatible function type [-Wcast-function-type-mismatch]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_deinit_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_detach
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_stop
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_init_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:variable-fault_level-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:variable-pcie_src-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_io_flush.c:error:no-previous-prototype-for-sss_hwdev_flush_io
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_mgmt_info.c:error:no-previous-prototype-for-sss_deinit_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_mgmt_info.c:error:no-previous-prototype-for-sss_init_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:error:no-previous-prototype-for-sss_sync_send_adm_msg
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_complete_adm_event
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_hwif_deinit_adm
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_hwif_init_adm
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:error:no-previous-prototype-for-sss_ceq_intr_handle
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:error:no-previous-prototype-for-sss_init_ceqe_desc
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_ctrlq_flush_sync_cmd
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_deinit_ctrlq
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_deinit_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_init_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_reinit_ctrlq_ctx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_wait_ctrlq_stop
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_alloc_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_chip_set_msix_auto_mask
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_chip_set_msix_state
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_free_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_func_type
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_glb_pf_vf_offset
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_global_func_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_pcie_itf_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_pf_id_of_vf
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_ppf_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_irq.c:error:no-previous-prototype-for-sss_deinit_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_irq.c:error:no-previous-prototype-for-sss_init_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_hwif_deinit_mbx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_hwif_init_mbx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_init_func_mbx_msg
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_recv_mbx_aeq_handler
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_flush_mgmt_workq
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_force_complete_all
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_mgmt_msg_aeqe_handler
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_error.c:error:no-previous-prototype-for-sss_detect_pci_error
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_attach_is_enable
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_get_uld_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_get_uld_names
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_init_uld_lock
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_lock_uld
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_unlock_uld
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_probe.c:error:no-previous-prototype-for-sss_attach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_probe.c:error:no-previous-prototype-for-sss_pci_probe
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_adapter
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_function
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_pci_dev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_detach_all_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_detach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_dettach_uld_dev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_pci_remove
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_unmap_pci_bar
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_shutdown.c:error:no-previous-prototype-for-sss_pci_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool.c:error:no-previous-prototype-for-sss_nic_set_ethtool_ops
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.c:error:no-previous-prototype-for-sss_nic_get_strings
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_filter.c:error:no-previous-prototype-for-sss_nic_set_rx_mode_work
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-sss_nic_release_qp_irq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-sss_nic_request_qp_irq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-get_nic_uld_info
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-sss_nic_port_module_link_err
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:error:no-previous-prototype-for-sss_nic_set_netdev_ops
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_delete_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_get_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_update_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_rx_flow_rule
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_tcam
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_tcam_list
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_alloc_rq_res_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_free_rq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_free_rq_res_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_init_rq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_reset_rx_rss
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_update_rx_rss
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_alloc_sq_resource
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_flush_all_sq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_free_sq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_free_sq_resource
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_init_all_sq
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-redefined
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory_hotplug.c:warning:rollback_node_hotadd-defined-but-not-used
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- arm64-allnoconfig
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-wait-in-((struct-list_head-)x)-.prev
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-waiter-in-(struct-list_head-)((char-)sem-).prev
| |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-001-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-host-xhci-mem.c:warning:minor_revision-may-be-used-uninitialized-in-this-function
| |-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-redefined
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- arm64-randconfig-003-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-memory_hotplug.c:warning:rollback_node_hotadd-defined-but-not-used
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-r121-20250729
| |-- crypto-algif_aead.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-algif_hash.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-xcbc.c:sparse:sparse:Variable-length-array-is-used.
| |-- drivers-crypto-cavium-cpt-cptvf_main.c:sparse:sparse:symbol-cptvf_device_init-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_mbox.c:sparse:sparse:symbol-cptvf_mbox_send_ack-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_mbox.c:sparse:sparse:symbol-cptvf_mbox_send_nack-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-do_post_process-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-do_request_cleanup-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-send_cpt_command-was-not-declared.-Should-it-be-static
| |-- drivers-gpu-drm-mgag200-mgag200_cursor.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-asn-addr-got-void
| |-- drivers-gpu-drm-mgag200-mgag200_cursor.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-gpu-drm-mgag200-mgag200_fb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-irqchip-irq-mbigen.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-chip_data-got-void-noderef-asn-base
| |-- drivers-irqchip-irq-mbigen.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-noderef-asn-base-got-void-chip_data
| |-- drivers-power-reset-xgene-reboot.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-void-csr
| |-- drivers-power-reset-xgene-reboot.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-csr-got-void-noderef-asn
| |-- drivers-tty-synclinkmp.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-unsigned-char-usertype-memory_base
| |-- fs-file.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-new_fds-got-struct-file-noderef-asn-fd
| |-- fs-proc-etmem_scan.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-noderef-asn-buf-got-void-buf
| |-- include-linux-bpf-cgroup.h:sparse:sparse:Using-plain-integer-as-NULL-pointer
| |-- include-trace-events-vmscan.h:sparse:sparse:cast-to-restricted-isolate_mode_t
| |-- kernel-sys.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-int-noderef-asn-noderef-asn-got-int-noderef-asn-tid_addr
| `-- kernel-trace-ftrace.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-ftrace_ops-ops-got-struct-ftrace_ops-noderef-asn-static-addressable-toplevel-ftrace_ops_list
|-- x86_64-allnoconfig
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-allyesconfig
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-early-..-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
| |-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
| |-- mm-.tmp_ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- x86_64-buildonly-randconfig-001-20250718
| |-- block-cmdline-parser.o:warning:objtool:missing-symbol-for-section-.text
| `-- mm-swap_state.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-002-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- x86_64-buildonly-randconfig-003-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- kernel-sched-core.c:error:use-of-undeclared-identifier-root_task_group
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- x86_64-buildonly-randconfig-004-20250916
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-usb-early-..-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
| |-- mm-.tmp_ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-.tmp_util.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-005-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- x86_64-buildonly-randconfig-006-20250916
| |-- block-blk-rq-qos.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
`-- x86_64-rhel-9.4-rust
|-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
|-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
|-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
|-- drivers-usb-early-..-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
|-- drivers-usb-host-xhci.h:warning:XHCI_ZHAOXIN_HOST-macro-redefined
|-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
|-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
|-- mm-memcontrol.c:warning:bad-line:otherwise.
|-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
|-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
|-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
|-- mm-rmap.c:warning:variable-cstart-set-but-not-used
`-- mm-vmalloc.c:warning:variable-start-set-but-not-used
elapsed time: 779m
configs tested: 16
configs skipped: 115
tested configs:
arm64 allmodconfig gcc-15.1.0
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250916 gcc-9.5.0
arm64 randconfig-002-20250916 gcc-6.5.0
arm64 randconfig-003-20250916 gcc-7.5.0
arm64 randconfig-004-20250916 gcc-5.5.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250916 gcc-14
x86_64 buildonly-randconfig-002-20250916 clang-20
x86_64 buildonly-randconfig-003-20250916 clang-20
x86_64 buildonly-randconfig-004-20250916 clang-20
x86_64 buildonly-randconfig-005-20250916 clang-20
x86_64 buildonly-randconfig-006-20250916 clang-20
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10] BUILD REGRESSION 035f58b2325cc422e20831455ed9faddb6bd5674
by kernel test robot 16 Sep '25
by kernel test robot 16 Sep '25
16 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: 035f58b2325cc422e20831455ed9faddb6bd5674 !17999 gfs2: Validate i_depth for exhash directories
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202509020441.cS6vg9iy-lkp@intel.com
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:546:5: error: no previous prototype for function 'ps3_pci_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:900:5: error: no previous prototype for function 'ps3_pci_init_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:946:6: error: no previous prototype for function 'ps3_pci_init_complete_exit' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1060:5: error: no previous prototype for function 'ps3_dump_context_show' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:41:19: error: unused function 'time_for_log' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:65:19: error: unused function 'time_for_file_name' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:160:5: error: no previous prototype for function 'ps3_dump_file_write' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:201:5: error: no previous prototype for function 'ps3_dump_file_close' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:29:5: error: no previous prototype for function 'ps3_dump_local_time' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:51:5: error: no previous prototype for function 'ps3_dump_filename_build' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:77:5: error: no previous prototype for function 'ps3_dump_file_open' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:132:6: error: no previous prototype for function 'ps3_trigger_irq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:244:5: error: no previous prototype for function 'ps3_resp_status_convert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:404:6: error: no previous prototype for function 'ps3_io_recv_ok_stat_inc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:86:6: error: no previous prototype for function 'ps3_cmd_stat_content_clear' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_debug.c:884:5: error: no previous prototype for function 'ps3_dump_dir_length' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1582:5: error: no previous prototype for function 'ps3_scsi_private_init_pd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1664:5: error: no previous prototype for function 'ps3_scsi_private_init_vd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1633:5: error: no previous prototype for function 'ps3_sas_expander_phys_refresh' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:148:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_hba' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:37:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_switch' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:89:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_raid' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:308:5: error: no previous prototype for function 'ps3_hard_reset_to_ready' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:786:6: error: no previous prototype for function 'ps3_clean_mgr_cmd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: unused variable 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: unused variable 'PS3_INTERRUPT_CMD_ENABLE_MSIX' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: unused variable 'PS3_INTERRUPT_MASK_DISABLE' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: unused variable 'PS3_INTERRUPT_STATUS_EXIST_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:26:27: error: unused variable 'PS3_INTERRUPT_CLEAR_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: unused variable 'PS3_SSD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:29:27: error: unused variable 'PS3_HDD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_module_para.c:610:14: error: no previous prototype for function 'ps3_cli_ver_query' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1059:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2020:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2041:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2101:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:212:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2464:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2828:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2937:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3024:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3280:15: error: no previous prototype for function 'ps3_raid_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3335:6: error: no previous prototype for function 'ps3_qos_mgrq_resend' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:336:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3479:6: error: no previous prototype for function 'ps3_raid_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:352:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:364:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3822:15: error: no previous prototype for function 'ps3_raid_qos_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:750:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:877:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:893:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1174:5: error: no previous prototype for function 'ps3_range_check_and_insert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1232:5: error: no previous prototype for function 'ps3_r1x_hash_range_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1313:6: error: no previous prototype for function 'ps3_r1x_hash_range_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:579:5: error: no previous prototype for function 'ps3_r1x_hash_bit_check' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:679:6: error: no previous prototype for function 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:731:5: error: no previous prototype for function 'ps3_r1x_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:989:6: error: no previous prototype for function 'ps3_r1x_hash_bit_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:155:6: error: no previous prototype for function 'rbtDelNodeDo' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:205:6: error: no previous prototype for function 'ps3_recovery_irq_queue_destroy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2701:6: error: no previous prototype for function 'ps3_hard_recovery_state_finish' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:364:5: error: no previous prototype for function 'ps3_recovery_state_transfer' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:73:30: error: no previous prototype for function 'ps3_recovery_context_alloc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:83:6: error: no previous prototype for function 'ps3_recovery_context_free' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:89:6: error: no previous prototype for function 'ps3_recovery_context_delete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:408:5: error: no previous prototype for function 'ps3_sas_update_phy_info' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1111:5: error: no previous prototype for function 'ps3_wait_for_outstanding_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:877:6: error: no previous prototype for function 'ps3_set_task_manager_busy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsih.c:1959:1: error: unused function 'ps3_scsih_dev_id_get' [-Werror,-Wunused-function]
mm/filemap.c:823:14: warning: no previous prototype for function '__add_to_page_cache_locked' [-Wmissing-prototypes]
mm/page_alloc.c:3040:6: warning: no previous prototype for '__drain_all_pages' [-Wmissing-prototypes]
mm/page_alloc.c:3040:6: warning: no previous prototype for function '__drain_all_pages' [-Wmissing-prototypes]
mm/page_alloc.c:6912:6: warning: no previous prototype for '__zone_set_pageset_high_and_batch' [-Wmissing-prototypes]
mm/page_alloc.c:6912:6: warning: no previous prototype for function '__zone_set_pageset_high_and_batch' [-Wmissing-prototypes]
mm/slub.o: warning: objtool: kmem_cache_free()+0x434: unreachable instruction
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allnoconfig
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-allnoconfig
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-allyesconfig
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete_exit-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-function-ps3_dump_context_show-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_file_name-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_log-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_close-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_open-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_write-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_filename_build-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_local_time-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_resp_status_convert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_trigger_irq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_cmd_stat_content_clear-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_io_recv_ok_stat_inc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-function-ps3_dump_dir_length-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_pd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_vd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-function-ps3_sas_expander_phys_refresh-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_hba-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_raid-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_switch-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-function-ps3_hard_reset_to_ready-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-function-ps3_clean_mgr_cmd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_HDD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CLEAR_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_ENABLE_MSIX-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_MASK_DISABLE-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_STATUS_EXIST_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_SSD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-function-ps3_cli_ver_query-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_cmd_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_reset-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clean-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_all_pd_rc_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_cmd_waitq_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_exclusive_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_mgrq_resend-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_pd_waitq_ratio_update-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_tg_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_vd_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_conflict_queue_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_check-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_range_check_and_insert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-function-rbtDelNodeDo-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_hard_recovery_state_finish-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_alloc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_delete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_irq_queue_destroy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_state_transfer-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-function-ps3_sas_update_phy_info-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_set_task_manager_busy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_wait_for_outstanding_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsih.c:error:unused-function-ps3_scsih_dev_id_get-Werror-Wunused-function
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-001-20250916
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-bfqg_and_blkg_get
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-buildonly-randconfig-002-20250916
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-003-20250916
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-004-20250916
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-005-20250916
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-006-20250916
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-defconfig
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-randconfig-161-20250916
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
`-- x86_64-rhel-9.4-rust
|-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
|-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
|-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
|-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
`-- mm-slub.o:warning:objtool:kmem_cache_free:unreachable-instruction
elapsed time: 753m
configs tested: 16
configs skipped: 115
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250916 clang-18
arm64 randconfig-002-20250916 clang-22
arm64 randconfig-003-20250916 clang-22
arm64 randconfig-004-20250916 clang-22
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250916 gcc-14
x86_64 buildonly-randconfig-002-20250916 clang-20
x86_64 buildonly-randconfig-003-20250916 clang-20
x86_64 buildonly-randconfig-004-20250916 clang-20
x86_64 buildonly-randconfig-005-20250916 clang-20
x86_64 buildonly-randconfig-006-20250916 clang-20
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Guenter Roeck <linux(a)roeck-us.net>
mainline inclusion
from mainline-v6.17-rc4
commit ab1396af7595e7d49a3850481b24d7fe7cbdfd31
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICYBCS
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Commit edede7a6dcd7 ("trace/fgraph: Fix the warning caused by missing
unregister notifier") added a call to unregister the PM notifier if
register_ftrace_graph() failed. It does so unconditionally. However,
the PM notifier is only registered with the first call to
register_ftrace_graph(). If the first registration was successful and
a subsequent registration failed, the notifier is now unregistered even
if ftrace graphs are still registered.
Fix the problem by only unregistering the PM notifier during error handling
if there are no active fgraph registrations.
Fixes: edede7a6dcd7 ("trace/fgraph: Fix the warning caused by missing unregister notifier")
Closes: https://lore.kernel.org/all/63b0ba5a-a928-438e-84f9-93028dd72e54@roeck-us.n…
Cc: Ye Weihua <yeweihua4(a)huawei.com>
Cc: Masami Hiramatsu <mhiramat(a)kernel.org>
Cc: Mark Rutland <mark.rutland(a)arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers(a)efficios.com>
Link: https://lore.kernel.org/20250906050618.2634078-1-linux@roeck-us.net
Signed-off-by: Guenter Roeck <linux(a)roeck-us.net>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Conflicts:
kernel/trace/fgraph.c
[Context conflict, need to integrate the two err handling codes
together]
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/trace/fgraph.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
index fd8f06c5dcc3..c920a7556764 100644
--- a/kernel/trace/fgraph.c
+++ b/kernel/trace/fgraph.c
@@ -609,11 +609,8 @@ int register_ftrace_graph(struct fgraph_ops *gops)
ftrace_graph_active++;
ret = start_graph_tracing();
- if (ret) {
- ftrace_graph_active--;
- unregister_pm_notifier(&ftrace_suspend_notifier);
- goto out;
- }
+ if (ret)
+ goto out_err;
ftrace_graph_return = gops->retfunc;
@@ -628,8 +625,12 @@ int register_ftrace_graph(struct fgraph_ops *gops)
update_function_graph_func();
ret = ftrace_startup(&graph_ops, FTRACE_START_FUNC_RET);
- if (ret)
- unregister_pm_notifier(&ftrace_suspend_notifier);
+out_err:
+ if (ret) {
+ ftrace_graph_active--;
+ if (!ftrace_graph_active)
+ unregister_pm_notifier(&ftrace_suspend_notifier);
+ }
out:
mutex_unlock(&ftrace_lock);
return ret;
--
2.34.1
2
1
From: Guenter Roeck <linux(a)roeck-us.net>
mainline inclusion
from mainline-v6.17-rc4
commit ab1396af7595e7d49a3850481b24d7fe7cbdfd31
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICYBCS
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Commit edede7a6dcd7 ("trace/fgraph: Fix the warning caused by missing
unregister notifier") added a call to unregister the PM notifier if
register_ftrace_graph() failed. It does so unconditionally. However,
the PM notifier is only registered with the first call to
register_ftrace_graph(). If the first registration was successful and
a subsequent registration failed, the notifier is now unregistered even
if ftrace graphs are still registered.
Fix the problem by only unregistering the PM notifier during error handling
if there are no active fgraph registrations.
Fixes: edede7a6dcd7 ("trace/fgraph: Fix the warning caused by missing unregister notifier")
Closes: https://lore.kernel.org/all/63b0ba5a-a928-438e-84f9-93028dd72e54@roeck-us.n…
Cc: Ye Weihua <yeweihua4(a)huawei.com>
Cc: Masami Hiramatsu <mhiramat(a)kernel.org>
Cc: Mark Rutland <mark.rutland(a)arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers(a)efficios.com>
Link: https://lore.kernel.org/20250906050618.2634078-1-linux@roeck-us.net
Signed-off-by: Guenter Roeck <linux(a)roeck-us.net>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Conflicts:
kernel/trace/fgraph.c
[Context conflict, need to integrate the two err handling codes
together]
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/trace/fgraph.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
index 7956a799b5e8..35d14657a28b 100644
--- a/kernel/trace/fgraph.c
+++ b/kernel/trace/fgraph.c
@@ -646,11 +646,8 @@ int register_ftrace_graph(struct fgraph_ops *gops)
ftrace_graph_active++;
ret = start_graph_tracing();
- if (ret) {
- ftrace_graph_active--;
- unregister_pm_notifier(&ftrace_suspend_notifier);
- goto out;
- }
+ if (ret)
+ goto out_err;
ftrace_graph_return = gops->retfunc;
@@ -665,8 +662,12 @@ int register_ftrace_graph(struct fgraph_ops *gops)
update_function_graph_func();
ret = ftrace_startup(&graph_ops, FTRACE_START_FUNC_RET);
- if (ret)
- unregister_pm_notifier(&ftrace_suspend_notifier);
+out_err:
+ if (ret) {
+ ftrace_graph_active--;
+ if (!ftrace_graph_active)
+ unregister_pm_notifier(&ftrace_suspend_notifier);
+ }
out:
mutex_unlock(&ftrace_lock);
return ret;
--
2.34.1
2
1
[PATCH OLK-6.6 v2] arm64: Do not enable hardware xcall/xint in guest temporarily
by Jinjie Ruan 16 Sep '25
by Jinjie Ruan 16 Sep '25
16 Sep '25
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/release-management/issues/IBV2E4
--------------------------------
In guest VM, ID register is needed to do VM migration, but currently 920G
do not have an ID register to identify hardware xcall/xint feature, which
will be supported by AIDR_EL1.xcall in the next generation, so check
the bit for non-920G hardware and do not enable xcall/xint in guest
for 920G to avoid the problem in guest.
Fixes: 7f2e02718bba ("arm64: entry: Support hardware xcall and xint")
Signed-off-by: Jinjie Ruan <ruanjinjie(a)huawei.com>
---
arch/arm64/kernel/cpufeature.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index 5c9d2f98e488..8d4c913d699c 100644
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
@@ -2443,15 +2443,35 @@ static void mpam_extra_caps(void)
#include <asm/xcall.h>
DEFINE_STATIC_KEY_FALSE(xcall_enable);
+#define AIDR_ELx_XCALL_SHIFT 32
+#define AIDR_ELx_XCALL (UL(1) << AIDR_ELx_XCALL_SHIFT)
+
static bool is_arch_xcall_xint_support(void)
{
+ u64 aidr_el1 = read_sysreg_s(SYS_AIDR_EL1);
+ u64 el = read_sysreg(CurrentEL);
+
/* List of CPUs that support Xcall/Xint */
- static const struct midr_range xcall_xint_cpus[] = {
+ static const struct midr_range kunpeng_920g_cpus[] = {
MIDR_ALL_VERSIONS(MIDR_HISI_HIP12),
{ /* sentinel */ }
};
- if (is_midr_in_range_list(read_cpuid_id(), xcall_xint_cpus))
+ if (is_midr_in_range_list(read_cpuid_id(), kunpeng_920g_cpus)) {
+ if (el == CurrentEL_EL2)
+ return true;
+ else
+ return false;
+ }
+
+ /*
+ * Before 1650v100, AIDR[33:32] is reserved zero, Xcall/Xint v1
+ * is not supported.
+ *
+ * After 1650v100, if AIDR[33:32] = 0x01, Xcall/Xint v1 and v2
+ * is supported, else if AIDR[33:32] = 0x0, none of them supported.
+ */
+ if (aidr_el1 & AIDR_ELx_XCALL)
return true;
return false;
--
2.34.1
2
1
[openeuler:openEuler-1.0-LTS 1784/1784] drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined
by kernel test robot 16 Sep '25
by kernel test robot 16 Sep '25
16 Sep '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 1d593bdfdaff241dea4989a81386a6f45887adf2
commit: 8a64dc868d76ad19b65c65fd8168f46b4cb662cb [1784/1784] xhci: Show ZHAOXIN xHCI root hub speed correctly
config: x86_64-buildonly-randconfig-002-20250916 (https://download.01.org/0day-ci/archive/20250916/202509162016.H2iGR5dg-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250916/202509162016.H2iGR5dg-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509162016.H2iGR5dg-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/usb/host/xhci-plat.c:22:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
--
In file included from drivers/usb/host/xhci-ext-caps.c:9:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
In file included from drivers/usb/host/xhci-ext-caps.c:9:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
--
In file included from drivers/usb/host/xhci-mem.c:17:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
drivers/usb/host/xhci-mem.c:936:6: warning: no previous prototype for function 'xhci_free_virt_devices_depth_first' [-Wmissing-prototypes]
936 | void xhci_free_virt_devices_depth_first(struct xhci_hcd *xhci, int slot_id)
| ^
drivers/usb/host/xhci-mem.c:936:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
936 | void xhci_free_virt_devices_depth_first(struct xhci_hcd *xhci, int slot_id)
| ^
| static
2 warnings generated.
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'xhci' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'num_segs' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'cycle_state' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'type' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'max_packet' not described in 'xhci_ring_alloc'
drivers/usb/host/xhci-mem.c:365: warning: Function parameter or member 'flags' not described in 'xhci_ring_alloc'
--
In file included from drivers/usb/host/xhci.c:21:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
drivers/usb/host/xhci.c:1258: warning: Function parameter or member 'desc' not described in 'xhci_get_endpoint_index'
In file included from drivers/usb/host/xhci.c:21:
>> drivers/usb/host/xhci.h:1877:9: warning: 'XHCI_ZHAOXIN_HOST' macro redefined [-Wmacro-redefined]
1877 | #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
| ^
drivers/usb/host/xhci.h:1875:9: note: previous definition is here
1875 | #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
| ^
1 warning generated.
vim +/XHCI_ZHAOXIN_HOST +1877 drivers/usb/host/xhci.h
1732
1733 /* There is one xhci_hcd structure per controller */
1734 struct xhci_hcd {
1735 struct usb_hcd *main_hcd;
1736 struct usb_hcd *shared_hcd;
1737 /* glue to PCI and HCD framework */
1738 struct xhci_cap_regs __iomem *cap_regs;
1739 struct xhci_op_regs __iomem *op_regs;
1740 struct xhci_run_regs __iomem *run_regs;
1741 struct xhci_doorbell_array __iomem *dba;
1742 /* Our HCD's current interrupter register set */
1743 struct xhci_intr_reg __iomem *ir_set;
1744
1745 /* Cached register copies of read-only HC data */
1746 __u32 hcs_params1;
1747 __u32 hcs_params2;
1748 __u32 hcs_params3;
1749 __u32 hcc_params;
1750 __u32 hcc_params2;
1751
1752 spinlock_t lock;
1753
1754 /* packed release number */
1755 u8 sbrn;
1756 u16 hci_version;
1757 u8 max_slots;
1758 u8 max_interrupters;
1759 u8 max_ports;
1760 u8 isoc_threshold;
1761 /* imod_interval in ns (I * 250ns) */
1762 u32 imod_interval;
1763 int event_ring_max;
1764 /* 4KB min, 128MB max */
1765 int page_size;
1766 /* Valid values are 12 to 20, inclusive */
1767 int page_shift;
1768 /* msi-x vectors */
1769 int msix_count;
1770 /* optional clocks */
1771 struct clk *clk;
1772 struct clk *reg_clk;
1773 /* data structures */
1774 struct xhci_device_context_array *dcbaa;
1775 struct xhci_ring *cmd_ring;
1776 unsigned int cmd_ring_state;
1777 #define CMD_RING_STATE_RUNNING (1 << 0)
1778 #define CMD_RING_STATE_ABORTED (1 << 1)
1779 #define CMD_RING_STATE_STOPPED (1 << 2)
1780 struct list_head cmd_list;
1781 unsigned int cmd_ring_reserved_trbs;
1782 struct delayed_work cmd_timer;
1783 struct completion cmd_ring_stop_completion;
1784 struct xhci_command *current_cmd;
1785 struct xhci_ring *event_ring;
1786 struct xhci_erst erst;
1787 /* Scratchpad */
1788 struct xhci_scratchpad *scratchpad;
1789 /* Store LPM test failed devices' information */
1790 struct list_head lpm_failed_devs;
1791
1792 /* slot enabling and address device helpers */
1793 /* these are not thread safe so use mutex */
1794 struct mutex mutex;
1795 /* For USB 3.0 LPM enable/disable. */
1796 struct xhci_command *lpm_command;
1797 /* Internal mirror of the HW's dcbaa */
1798 struct xhci_virt_device *devs[MAX_HC_SLOTS];
1799 /* For keeping track of bandwidth domains per roothub. */
1800 struct xhci_root_port_bw_info *rh_bw;
1801
1802 /* DMA pools */
1803 struct dma_pool *device_pool;
1804 struct dma_pool *segment_pool;
1805 struct dma_pool *small_streams_pool;
1806 struct dma_pool *medium_streams_pool;
1807
1808 /* Host controller watchdog timer structures */
1809 unsigned int xhc_state;
1810
1811 u32 command;
1812 struct s3_save s3;
1813 /* Host controller is dying - not responding to commands. "I'm not dead yet!"
1814 *
1815 * xHC interrupts have been disabled and a watchdog timer will (or has already)
1816 * halt the xHCI host, and complete all URBs with an -ESHUTDOWN code. Any code
1817 * that sees this status (other than the timer that set it) should stop touching
1818 * hardware immediately. Interrupt handlers should return immediately when
1819 * they see this status (any time they drop and re-acquire xhci->lock).
1820 * xhci_urb_dequeue() should call usb_hcd_check_unlink_urb() and return without
1821 * putting the TD on the canceled list, etc.
1822 *
1823 * There are no reports of xHCI host controllers that display this issue.
1824 */
1825 #define XHCI_STATE_DYING (1 << 0)
1826 #define XHCI_STATE_HALTED (1 << 1)
1827 #define XHCI_STATE_REMOVING (1 << 2)
1828 unsigned long long quirks;
1829 #define XHCI_LINK_TRB_QUIRK BIT_ULL(0)
1830 #define XHCI_RESET_EP_QUIRK BIT_ULL(1)
1831 #define XHCI_NEC_HOST BIT_ULL(2)
1832 #define XHCI_AMD_PLL_FIX BIT_ULL(3)
1833 #define XHCI_SPURIOUS_SUCCESS BIT_ULL(4)
1834 /*
1835 * Certain Intel host controllers have a limit to the number of endpoint
1836 * contexts they can handle. Ideally, they would signal that they can't handle
1837 * anymore endpoint contexts by returning a Resource Error for the Configure
1838 * Endpoint command, but they don't. Instead they expect software to keep track
1839 * of the number of active endpoints for them, across configure endpoint
1840 * commands, reset device commands, disable slot commands, and address device
1841 * commands.
1842 */
1843 #define XHCI_EP_LIMIT_QUIRK BIT_ULL(5)
1844 #define XHCI_BROKEN_MSI BIT_ULL(6)
1845 #define XHCI_RESET_ON_RESUME BIT_ULL(7)
1846 #define XHCI_SW_BW_CHECKING BIT_ULL(8)
1847 #define XHCI_AMD_0x96_HOST BIT_ULL(9)
1848 #define XHCI_TRUST_TX_LENGTH BIT_ULL(10)
1849 #define XHCI_LPM_SUPPORT BIT_ULL(11)
1850 #define XHCI_INTEL_HOST BIT_ULL(12)
1851 #define XHCI_SPURIOUS_REBOOT BIT_ULL(13)
1852 #define XHCI_COMP_MODE_QUIRK BIT_ULL(14)
1853 #define XHCI_AVOID_BEI BIT_ULL(15)
1854 #define XHCI_PLAT BIT_ULL(16)
1855 #define XHCI_SLOW_SUSPEND BIT_ULL(17)
1856 #define XHCI_SPURIOUS_WAKEUP BIT_ULL(18)
1857 /* For controllers with a broken beyond repair streams implementation */
1858 #define XHCI_BROKEN_STREAMS BIT_ULL(19)
1859 #define XHCI_PME_STUCK_QUIRK BIT_ULL(20)
1860 #define XHCI_MTK_HOST BIT_ULL(21)
1861 #define XHCI_SSIC_PORT_UNUSED BIT_ULL(22)
1862 #define XHCI_NO_64BIT_SUPPORT BIT_ULL(23)
1863 #define XHCI_MISSING_CAS BIT_ULL(24)
1864 /* For controller with a broken Port Disable implementation */
1865 #define XHCI_BROKEN_PORT_PED BIT_ULL(25)
1866 #define XHCI_LIMIT_ENDPOINT_INTERVAL_7 BIT_ULL(26)
1867 #define XHCI_U2_DISABLE_WAKE BIT_ULL(27)
1868 #define XHCI_ASMEDIA_MODIFY_FLOWCONTROL BIT_ULL(28)
1869 #define XHCI_HW_LPM_DISABLE BIT_ULL(29)
1870 #define XHCI_SUSPEND_DELAY BIT_ULL(30)
1871 #define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31)
1872 #define XHCI_ZERO_64B_REGS BIT_ULL(32)
1873 #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
1874 #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
1875 #define XHCI_ZHAOXIN_HOST BIT_ULL(36)
1876 #define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
> 1877 #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
1878
1879 unsigned int num_active_eps;
1880 unsigned int limit_active_eps;
1881 /* There are two roothubs to keep track of bus suspend info for */
1882 struct xhci_bus_state bus_state[2];
1883 struct xhci_port *hw_ports;
1884 struct xhci_hub usb2_rhub;
1885 struct xhci_hub usb3_rhub;
1886 /* support xHCI 0.96 spec USB2 software LPM */
1887 unsigned sw_lpm_support:1;
1888 /* support xHCI 1.0 spec USB2 hardware LPM */
1889 unsigned hw_lpm_support:1;
1890 /* Broken Suspend flag for SNPS Suspend resume issue */
1891 unsigned broken_suspend:1;
1892 /* cached usb2 extened protocol capabilites */
1893 u32 *ext_caps;
1894 unsigned int num_ext_caps;
1895 /* cached extended protocol port capabilities */
1896 struct xhci_port_cap *port_caps;
1897 unsigned int num_port_caps;
1898 /* Compliance Mode Recovery Data */
1899 struct timer_list comp_mode_recovery_timer;
1900 u32 port_status_u0;
1901 u16 test_mode;
1902 /* Compliance Mode Timer Triggered every 2 seconds */
1903 #define COMP_MODE_RCVRY_MSECS 2000
1904
1905 struct dentry *debugfs_root;
1906 struct dentry *debugfs_slots;
1907 struct list_head regset_list;
1908
1909 void *dbc;
1910 /* platform-specific data -- must come last */
1911 unsigned long priv[0] __aligned(sizeof(s64));
1912 };
1913
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[PATCH openEuler-1.0-LTS] ALSA: usb-audio: Validate UAC3 power domain descriptors, too
by Liu Kai 16 Sep '25
by Liu Kai 16 Sep '25
16 Sep '25
From: Takashi Iwai <tiwai(a)suse.de>
mainline inclusion
from mainline-v6.17-rc2
commit d832ccbc301fbd9e5a1d691bdcf461cdb514595f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWGHZ
CVE: CVE-2025-38729
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
UAC3 power domain descriptors need to be verified with its variable
bLength for avoiding the unexpected OOB accesses by malicious
firmware, too.
Fixes: 9a2fe9b801f5 ("ALSA: usb: initial USB Audio Device Class 3.0 support")
Reported-and-tested-by: Youngjun Lee <yjjuny.lee(a)samsung.com>
Cc: <stable(a)vger.kernel.org>
Link: https://patch.msgid.link/20250814081245.8902-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
Signed-off-by: Liu Kai <liukai284(a)huawei.com>
---
sound/usb/validate.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/sound/usb/validate.c b/sound/usb/validate.c
index 389e8657434ac..5aa20c41cc928 100644
--- a/sound/usb/validate.c
+++ b/sound/usb/validate.c
@@ -221,6 +221,17 @@ static bool validate_uac3_feature_unit(const void *p,
return d->bLength >= sizeof(*d) + 4 + 2;
}
+static bool validate_uac3_power_domain_unit(const void *p,
+ const struct usb_desc_validator *v)
+{
+ const struct uac3_power_domain_descriptor *d = p;
+
+ if (d->bLength < sizeof(*d))
+ return false;
+ /* baEntities[] + wPDomainDescrStr */
+ return d->bLength >= sizeof(*d) + d->bNrEntities + 2;
+}
+
static bool validate_midi_out_jack(const void *p,
const struct usb_desc_validator *v)
{
@@ -285,6 +296,7 @@ static struct usb_desc_validator audio_validators[] = {
struct uac3_clock_multiplier_descriptor),
/* UAC_VERSION_3, UAC3_SAMPLE_RATE_CONVERTER: not implemented yet */
/* UAC_VERSION_3, UAC3_CONNECTORS: not implemented yet */
+ FUNC(UAC_VERSION_3, UAC3_POWER_DOMAIN, validate_uac3_power_domain_unit),
{ } /* terminator */
};
--
2.34.1
2
1
16 Sep '25
cleanup:
1) Add a macro to simplify obtaining the packet size
2) Remove redundant checks for cmd and size, as they are always true
3) Use memcpy instead of for loop statements
4) Remove the redundant initialization of ras_rsp_data to 0
5) Other minor cleanup
refactor:
During the dump file process, do not repeatedly open and close the file
No need to subtract the packet header length, then simplify the code for
obtaining the file buffer size.
Add helper of ras_get_rasdfx_header
Add a check to verify if cmd_ret->rsp_data_num is 0
Add a check to verify whether f_header.pkt_num exceeds the maximum value
The header.pkt_length indicates the size in bytes, which needs to be
converted to DWORD size, and then compared with DFX_REG_PACKET_HEAD_LEN
to address potential division by zero issues.
Refactoring of parseing payload.
Signed-off-by: Junhao He <hejunhao3(a)h-partners.com>
---
ras/ras_func/ras_common.h | 26 --
ras/ras_func/ras_dump_data.c | 541 +++++++++++++------------------
ras/ras_func/ras_dump_data.h | 101 +++---
ras/user_cmd/ras_cmd_dump.c | 37 +--
ras/user_cmd/ras_tools_include.h | 25 --
5 files changed, 282 insertions(+), 448 deletions(-)
delete mode 100644 ras/ras_func/ras_common.h
delete mode 100644 ras/user_cmd/ras_tools_include.h
diff --git a/ras/ras_func/ras_common.h b/ras/ras_func/ras_common.h
deleted file mode 100644
index 9b9a486..0000000
--- a/ras/ras_func/ras_common.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2022 Hisilicon Technologies Co., Ltd.
- * Hikptool is licensed under Mulan PSL v2.
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
- * You may obtain a copy of Mulan PSL v2 at:
- * http://license.coscl.org.cn/MulanPSL2
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
- *
- * See the Mulan PSL v2 for more details.
- */
-
-#ifndef RAS_COMMON_H
-#define RAS_COMMON_H
-
-enum {
- RAS_DUMP,
-};
-
-enum ras_dump_cmd_type {
- DUMP_DFX = 0,
- DUMP_CLEAR,
-};
-
-#endif /* RAS_COMMON_H */
diff --git a/ras/ras_func/ras_dump_data.c b/ras/ras_func/ras_dump_data.c
index f4238e3..5d0ec8e 100644
--- a/ras/ras_func/ras_dump_data.c
+++ b/ras/ras_func/ras_dump_data.c
@@ -13,384 +13,299 @@
#include <unistd.h>
#include <stdint.h>
#include <stdlib.h>
+#include <stdarg.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <time.h>
#include "hikptdev_plug.h"
#include "op_logs.h"
-#include "ras_common.h"
+#include "hikpt_rciep.h"
+#include "tool_lib.h"
#include "ras_dump_data.h"
-static struct dfx_reg_dump_header header;
+static void __attribute__((format(printf, 2, 3))) __THROWNL
+rasdfx_wr2buf(struct file_seq *s, const char *fmt, ...);
-static int ras_get_data(uint32_t ras_cmd_type, struct ras_dump_req_para *req_data,
- struct ras_rsp *ras_rsp_data)
+#define RAS_DUMP 0
+
+#define RASDFX_FILE_HEADER_LEN 6
+#define MAX_DFX_PACKET_LEN 256
+#define DFX_REG_PACKET_HEAD_LEN 3U
+
+#define DFX_DATA_CLEARED_MAGIC 0
+#define DFX_DATA_DUMPED_MAGIC 0x5aa5a55a
+
+#define RASDFX_PACKET_HEAD_SIZE 256
+#define RASDFX_PACKET_SIZE(reg_num) (RASDFX_PACKET_HEAD_SIZE + (reg_num) * 10)
+#define RASDFX_PACKET_NUM_MAX 1000000
+
+static void __THROWNL rasdfx_wr2buf(struct file_seq *s, const char *fmt, ...)
+{
+ size_t size = s->buf_size - s->buf_offs;
+ va_list argp;
+ int len;
+
+ va_start(argp, fmt);
+ len = vsnprintf(s->buf + s->buf_offs, size, fmt, argp);
+ va_end(argp);
+
+ if (len < 0 || (size_t)len >= size)
+ HIKP_WARN_PRINT("rasdfx_wr2buf failed, the dfx data is incomplete\n");
+ else
+ s->buf_offs += (size_t)len;
+}
+
+static struct hikp_cmd_ret *ras_get_rsp_data(struct ras_dump_cmd *cmd)
{
- uint32_t i;
- struct hikp_cmd_ret *cmd_ret;
struct hikp_cmd_header req_header;
+ struct hikp_cmd_ret *cmd_ret;
+
+ hikp_cmd_init(&req_header, RAS_MOD, RAS_DUMP, cmd->cmd_type);
+ cmd_ret = hikp_cmd_alloc(&req_header, &cmd->cmd_id, sizeof(cmd->cmd_id));
+ if (!cmd_ret) {
+ HIKP_ERROR_PRINT("alloc cmd failed, cmd: %u\n", cmd->cmd_id);
+ return NULL;
+ }
- hikp_cmd_init(&req_header, RAS_MOD, RAS_DUMP, ras_cmd_type);
- cmd_ret = hikp_cmd_alloc(&req_header, req_data, RAS_REQ_DATA_LEN);
- if (cmd_ret == NULL || cmd_ret->status != 0 ||
- cmd_ret->rsp_data_num > HIKP_RSP_ALL_DATA_MAX) {
- printf("hikp_data_proc err\n");
+ if (cmd_ret->status) {
+ HIKP_ERROR_PRINT("hikp_data_proc err, status: %u\n", cmd_ret->status);
hikp_cmd_free(&cmd_ret);
- return -1;
+ return NULL;
}
- ras_rsp_data->rsp_data_num = cmd_ret->rsp_data_num;
- for (i = 0; i < ras_rsp_data->rsp_data_num; i++) {
- ras_rsp_data->rsp_data[i] = cmd_ret->rsp_data[i];
- }
+ return cmd_ret;
+}
+
+static int ras_get_rasdfx_header(struct ras_dump_cmd *cmd, struct rasdfx_file_header *f_header)
+{
+ struct hikp_cmd_ret *cmd_ret;
+
+ cmd->cmd_id = 0;
+ cmd_ret = ras_get_rsp_data(cmd);
+ if (!cmd_ret)
+ return -ENOMEM;
+ if (cmd_ret->rsp_data_num != RASDFX_FILE_HEADER_LEN) {
+ HIKP_ERROR_PRINT("invalid number of response data: %u\n", cmd_ret->rsp_data_num);
+ hikp_cmd_free(&cmd_ret);
+ return -1;
+ }
+
+ memcpy(f_header, cmd_ret->rsp_data, sizeof(struct rasdfx_file_header));
hikp_cmd_free(&cmd_ret);
+
return 0;
}
-static void ras_print_time(struct file_seq *s)
+static bool ras_check_header(struct rasdfx_file_header *f_header)
{
+ if (f_header->pkt_size_dwords % REP_DATA_BLK_SIZE) {
+ HIKP_ERROR_PRINT("packet size is not aligned: %u\n", f_header->pkt_size_dwords);
+ return false;
+ }
+
+ /* Converted to DWORD units to simplify subsequent calculations */
+ f_header->pkt_size_dwords = f_header->pkt_size_dwords / REP_DATA_BLK_SIZE;
+ if (f_header->pkt_size_dwords < DFX_REG_PACKET_HEAD_LEN ||
+ f_header->pkt_size_dwords > MAX_DFX_PACKET_LEN) {
+ HIKP_ERROR_PRINT("packet size is out of bounds: %u\n", f_header->pkt_size_dwords);
+ return false;
+ }
+
+ if (f_header->pkt_num == 0 || f_header->pkt_num > RASDFX_PACKET_NUM_MAX) {
+ HIKP_ERROR_PRINT("packet number is out of bounds: %u\n", f_header->pkt_num);
+ return false;
+ }
+
+ return true;
+}
+
+static int ras_open_rasdfx_file_seq(struct file_seq *s, struct rasdfx_file_header *f_header)
+{
+ char file_path[OP_LOG_FILE_PATH_MAXLEN];
time_t time_seconds = time(0);
struct tm timeinfo;
+ s->buf_offs = 0;
+ s->buf_size = RASDFX_PACKET_SIZE(f_header->pkt_size_dwords);
+ s->buf = (char *)malloc(s->buf_size);
+ if (!s->buf) {
+ HIKP_ERROR_PRINT("malloc file_seq buffer is failed\n");
+ return -ENOMEM;
+ }
+
(void)localtime_r(&time_seconds, &timeinfo);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Time: %d-%d-%d %d:%d:%d\n",
- timeinfo.tm_year + START_YEAR, timeinfo.tm_mon + 1, timeinfo.tm_mday,
- timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
+ snprintf(file_path, sizeof(file_path), "%srasdfx_%04d_%02d_%02d_%02d_%02d_%02d.log",
+ HIKP_LOG_DIR_PATH, timeinfo.tm_year + START_YEAR, timeinfo.tm_mon + 1,
+ timeinfo.tm_mday, timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
+
+ // creat and open file, set file permissiion 0440
+ s->fd = open(file_path, O_WRONLY | O_CREAT, S_IRUSR | S_IRGRP);
+ if (s->fd < 0) {
+ HIKP_ERROR_PRINT("open %s failed: %s\n", file_path, strerror(errno));
+ free(s->buf);
+ return -errno;
+ }
+
+ printf("dump dfx log start, log file: %s\n", file_path);
+ return 0;
}
-static int ras_parse_data(uint32_t *reg_save, uint32_t reg_num, uint32_t reg_off, struct file_seq *s)
+static void ras_close_rasdfx_file_seq(struct file_seq *s)
{
- uint32_t i, j;
- uint32_t cycle;
- uint32_t reg_count, pkt_reg_num;
- uint32_t off = reg_off;
-
- pkt_reg_num = header.pkt_length / sizeof(uint32_t);
- cycle = reg_num / pkt_reg_num;
- if (!cycle)
- return -1;
-
- for (i = 0; i < cycle; i++) {
- if ((off + pkt_reg_num) > HIKP_RSP_ALL_DATA_MAX) {
- HIKP_ERROR_PRINT("off is %u, pkt_reg_num is %u,\
- reg_save index will exceed max reg_save length\n",
- off, pkt_reg_num);
- return -1;
- }
-
- ras_print_time(s);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Socket: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW0] >> DFX_HEAD_SKT_ID_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "DIE: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW0] >> DFX_HEAD_DIE_ID_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Module: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW1] >> DFX_HEAD_MODULE_ID_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Sub Module: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW1] >> DFX_HEAD_SUBMODULE_ID_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "SequenceNum: 0X%hhX",
- (reg_save[off + DFX_HEAD_INFO_DW1] >> DFX_HEAD_SEQUENCE_NUM_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "%4s", "");
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "Version: 0X%hhX\n",
- (reg_save[off + DFX_HEAD_INFO_DW0] >> DFX_HEAD_VERSION_OFF) & 0xff);
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len,
- "----------------------- DFX REGISTER DUMP -----------------------\n");
-
- reg_count = (reg_save[off + DFX_HEAD_INFO_DW1] >> DFX_HEAD_REG_COUNT_OFF) & 0xff;
- if (!reg_count || reg_count > pkt_reg_num - DFX_REG_PACKET_HEAD_LEN) {
- HIKP_ERROR_PRINT("reg_count is %u, value is not within the reasonable range(1-%u).\n",
- reg_count, pkt_reg_num - DFX_REG_PACKET_HEAD_LEN);
- return -1;
- }
-
- for (j = 0; j < reg_count; j++)
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "0X%08X\n",
- reg_save[off + DFX_COMMON_MAIN_TEXT_BEGIN + j]);
-
- s->len += snprintf(s->buffer + s->len, s->buffer_size - s->len, "\n");
- off += pkt_reg_num;
- }
-
- return 0;
+ (void)close(s->fd);
+ free(s->buf);
}
-static int ras_generate_file_name(struct file_seq *s)
+static void ras_parse_rasdfx_pkt_header(struct file_seq *s, struct rasdfx_pkt *pkt)
{
time_t time_seconds = time(0);
struct tm timeinfo;
- int ret;
(void)localtime_r(&time_seconds, &timeinfo);
- ret = snprintf(s->file_name, MAX_LOG_NAME_LEN, "rasdfx_%d_%d_%d_%d_%d_%d.log",
- timeinfo.tm_year + START_YEAR, timeinfo.tm_mon + 1, timeinfo.tm_mday,
- timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
- if (ret < 0 || (uint32_t)ret >= MAX_LOG_NAME_LEN) {
- HIKP_ERROR_PRINT("generate file name failed, errno is %d\n", errno);
- return -errno;
- }
-
- return 0;
+ rasdfx_wr2buf(s, "Time: %d-%d-%d %d:%d:%d\n",
+ timeinfo.tm_year + START_YEAR, timeinfo.tm_mon + 1, timeinfo.tm_mday,
+ timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
+ rasdfx_wr2buf(s, "Socket: 0X%hhX ", pkt->dw0.skt_id);
+ rasdfx_wr2buf(s, "DIE: 0X%hhX ", pkt->dw0.die_id);
+ rasdfx_wr2buf(s, "Module: 0X%hhX ", pkt->dw1.module_id);
+ rasdfx_wr2buf(s, "Sub Module: 0X%hhX ", pkt->dw1.submodule_id);
+ rasdfx_wr2buf(s, "SequenceNum: 0X%hhX ", pkt->dw1.sequence_num);
+ rasdfx_wr2buf(s, "Version: 0X%hhX\n", pkt->dw0.version);
+ rasdfx_wr2buf(s, "----------------------- DFX REGISTER DUMP -----------------------\n");
}
-static int ras_store_data(struct file_seq *s)
+static int ras_parse_rasdfx_payload(struct file_seq *s, uint32_t *buf,
+ struct rasdfx_file_header *f_header)
{
- char file_path[OP_LOG_FILE_PATH_MAXLEN];
- size_t write_cnt;
- FILE *fp;
- int rc;
-
- rc = snprintf(file_path, sizeof(file_path), HIKP_LOG_DIR_PATH"%s", s->file_name);
- if (rc < 0) {
- HIKP_ERROR_PRINT("creat log file path fail.\n");
- return -EIO;
- }
+ struct rasdfx_pkt *pkt = (struct rasdfx_pkt *)buf;
+ uint32_t reg_offs, i;
+ ssize_t write_cnt;
- fp = fopen(file_path, "a");
- if (fp == NULL) {
- HIKP_ERROR_PRINT("open %s failed, errno is %d\n", file_path, errno);
- return -errno;
- }
+ rasdfx_wr2buf(s, "SocID: %u\n\n", pkt->dw0.soc_id);
- write_cnt = fwrite(s->buffer, 1, s->len, fp);
- if (write_cnt != (uint32_t)s->len) {
- fclose(fp);
- HIKP_ERROR_PRINT("write %s failed, write cnt %zu.\n", file_path, write_cnt);
- return -EAGAIN;
- }
+ for (i = 0; i < f_header->pkt_num; i++) {
+ ras_parse_rasdfx_pkt_header(s, pkt);
+ if (pkt->dw1.reg_count > f_header->pkt_size_dwords - DFX_REG_PACKET_HEAD_LEN) {
+ HIKP_ERROR_PRINT("ras dfx register number is incorrect\n");
+ return -1;
+ }
- printf("dump dfx log completed, log file: %s.\n", file_path);
- /* Set the file permission to 0440 */
- if (chmod(file_path, 0440))
- HIKP_ERROR_PRINT("chmod %s failed, errno is %d\n", file_path, errno);
+ for (reg_offs = 0; reg_offs < pkt->dw1.reg_count; reg_offs++)
+ rasdfx_wr2buf(s, "0X%08X\n", pkt->reg_base[reg_offs]);
+ rasdfx_wr2buf(s, "\n");
- if (fclose(fp)) {
- HIKP_ERROR_PRINT("close %s failed, errno is %d\n", file_path, errno);
- return -errno;
- }
+ write_cnt = write(s->fd, s->buf, s->buf_offs);
+ if (write_cnt != (ssize_t)s->buf_offs) {
+ HIKP_ERROR_PRINT("write rasdfx file failed: %s\n", strerror(errno));
+ return -1;
+ }
- s->len = 0;
+ s->buf_offs = 0;
+ pkt = (struct rasdfx_pkt *)((uint32_t *)pkt + f_header->pkt_size_dwords);
+ }
return 0;
}
-static int file_seq_init(struct file_seq *s, uint32_t size)
+static int ras_dump_data_into_buf(struct ras_dump_cmd *cmd, uint32_t *buf, uint32_t buf_max)
{
- if (!size)
- return -1;
+ struct hikp_cmd_ret *cmd_ret;
+ uint32_t copy_len = 0;
+ uint32_t data_num;
+
+ while (copy_len < buf_max) {
+ cmd->cmd_id++;
+ cmd_ret = ras_get_rsp_data(cmd);
+ if (!cmd_ret)
+ return -ENOMEM;
+
+ data_num = cmd_ret->rsp_data_num;
+ if (data_num == 0 || data_num > HIKP_RSP_ALL_DATA_MAX) {
+ HIKP_ERROR_PRINT("invalid response data number: %u\n", data_num);
+ hikp_cmd_free(&cmd_ret);
+ return -1;
+ }
- s->buffer_size = size;
- s->len = 0;
- s->buffer = (char*)malloc(s->buffer_size);
- if (!s->buffer)
- return -1;
+ if (copy_len + data_num > buf_max) {
+ HIKP_ERROR_PRINT("response data is more than expected\n");
+ hikp_cmd_free(&cmd_ret);
+ return -1;
+ }
- return 0;
-}
+ memcpy(buf + copy_len, cmd_ret->rsp_data, data_num * REP_DATA_BLK_SIZE);
+ copy_len += data_num;
+ hikp_cmd_free(&cmd_ret);
+ }
-static void file_seq_destroy(struct file_seq *s)
-{
- free(s->buffer);
- s->buffer = NULL;
+ return 0;
}
-static void ras_rsp_init(struct ras_rsp *ras_rsp_data)
+static int ras_get_rasdfx_payload(struct ras_dump_cmd *cmd, struct rasdfx_file_header *f_header)
{
- ras_rsp_data->first_pkt_begin = 0;
- ras_rsp_data->last_pkt_end = 0;
- ras_rsp_data->rsp_data_num = 0;
- ras_rsp_data->packet_buffer_len = 0;
+ uint32_t buf_max = f_header->pkt_size_dwords * f_header->pkt_num;
+ uint32_t *total_buf;
+ struct file_seq s;
+ int ret;
- memset(ras_rsp_data->rsp_data, 0, sizeof(ras_rsp_data->rsp_data));
- memset(ras_rsp_data->packet_buffer, 0, sizeof(ras_rsp_data->packet_buffer));
-}
+ total_buf = (uint32_t *)malloc(buf_max * REP_DATA_BLK_SIZE);
+ if (!total_buf) {
+ HIKP_ERROR_PRINT("malloc total_buf failed\n");
+ return -ENOMEM;
+ }
-static int parse_packet_buffer_data(struct ras_rsp *ras_rsp_data,
- uint32_t pkt_reg_num, struct file_seq *s)
-{
- int ret;
+ ret = ras_dump_data_into_buf(cmd, total_buf, buf_max);
+ if (ret)
+ goto release_total_buf;
- if (ras_rsp_data->packet_buffer_len) {
- uint32_t rest_pkt_length;
+ ret = ras_open_rasdfx_file_seq(&s, f_header);
+ if (ret)
+ goto release_total_buf;
- rest_pkt_length = pkt_reg_num - ras_rsp_data->packet_buffer_len;
- if (rest_pkt_length > ras_rsp_data->rsp_data_num) {
- HIKP_ERROR_PRINT("The rest of packet_buffer is %u and rsp_data_num is %u, \
- memcpy will out of bounds\n",
- rest_pkt_length, ras_rsp_data->rsp_data_num);
- return -1;
- }
- memcpy(ras_rsp_data->packet_buffer + ras_rsp_data->packet_buffer_len,
- ras_rsp_data->rsp_data, rest_pkt_length);
-
- ras_rsp_data->first_pkt_begin = rest_pkt_length;
- ret = ras_parse_data(ras_rsp_data->packet_buffer, pkt_reg_num, 0, s);
- if (ret) {
- HIKP_ERROR_PRINT("ras parse packet_buffer_data is failed\n");
- return ret;
- }
- } else {
- ras_rsp_data->first_pkt_begin = 0;
- }
-
- if (ras_rsp_data->first_pkt_begin == ras_rsp_data->rsp_data_num)
- return 0;
-
- ras_rsp_data->packet_buffer_len =
- (ras_rsp_data->rsp_data_num - ras_rsp_data->first_pkt_begin) % pkt_reg_num;
- ras_rsp_data->last_pkt_end = ras_rsp_data->rsp_data_num - ras_rsp_data->packet_buffer_len - 1;
- ras_rsp_data->rsp_data_num = ras_rsp_data->last_pkt_end - ras_rsp_data->first_pkt_begin + 1;
-
- memcpy(ras_rsp_data->packet_buffer, ras_rsp_data->rsp_data + ras_rsp_data->last_pkt_end + 1,
- ras_rsp_data->packet_buffer_len);
-
- return 0;
-}
+ ret = ras_parse_rasdfx_payload(&s, total_buf, f_header);
-static int ras_dump_pkt_pre(struct ras_rsp *ras_rsp_data, struct file_seq *s)
-{
- int ret;
- uint32_t reg_num, max_pkt_num, s_buffer_size;
-
- max_pkt_num = (HIKP_RSP_DATA_SIZE_MAX / header.pkt_length) + 1;
- reg_num = header.pkt_length / sizeof(uint32_t) - DFX_REG_PACKET_HEAD_LEN;
- s_buffer_size = max_pkt_num *
- (reg_num * DFX_FILE_SINGLE_REG_SIZE + DFX_FILE_SINGLE_PACKET_HEAD_SIZE);
- ras_rsp_data->rsp_data_num = 0;
-
- ret = file_seq_init(s, s_buffer_size);
- if (ret) {
- HIKP_ERROR_PRINT("malloc file_seq buffer is failed\n");
- return ret;
- }
-
- ret = ras_generate_file_name(s);
- if (ret) {
- HIKP_ERROR_PRINT("ras generate file name is failed\n");
- file_seq_destroy(s);
- return ret;
- }
-
- return ret;
+ ras_close_rasdfx_file_seq(&s);
+release_total_buf:
+ free(total_buf);
+ return ret;
}
-static int ras_dump_packet(struct tool_ras_cmd *cmd, struct ras_rsp *ras_rsp_data,
- struct ras_dump_req_para *req_data)
+int ras_data_dump(void)
{
- int ret;
- uint32_t i, cmd_num;
- bool has_printed_socid = false;
- struct file_seq s;
-
- ret = ras_dump_pkt_pre(ras_rsp_data, &s);
- if (ret)
- return ret;
-
- cmd_num = (header.pkt_num * header.pkt_length +
- HIKP_RSP_DATA_SIZE_MAX - 1) / HIKP_RSP_DATA_SIZE_MAX;
- /* 0: get header info; 1-n: get packet data */
- for (i = 0; i < cmd_num; i++) {
- req_data->cmd_id = i + 1;
- ret = ras_get_data(cmd->ras_cmd_type, req_data, ras_rsp_data);
- if (ret) {
- HIKP_ERROR_PRINT("ras dump cmd %u is failed\n", req_data->cmd_id);
- goto err_out_free;
- }
-
- if (!has_printed_socid) {
- s.len += snprintf(s.buffer + s.len, s.buffer_size - s.len, "SocID: %u\n",
- (ras_rsp_data->rsp_data[DFX_HEAD_INFO_DW0] >> DFX_HEAD_SOC_ID_OFF) & 0xff);
- s.len += snprintf(s.buffer + s.len, s.buffer_size - s.len, "\n");
-
- has_printed_socid = true;
- }
-
- ret = parse_packet_buffer_data(ras_rsp_data, header.pkt_length / sizeof(uint32_t), &s);
- if (ret) {
- HIKP_ERROR_PRINT("ras parse packet buffer data is failed\n");
- goto err_out_free;
- }
-
- if (ras_rsp_data->first_pkt_begin != ras_rsp_data->rsp_data_num) {
- ret = ras_parse_data(ras_rsp_data->rsp_data, ras_rsp_data->rsp_data_num,
- ras_rsp_data->first_pkt_begin, &s);
- if (ret) {
- HIKP_ERROR_PRINT("ras parse rsp_data is failed\n");
- goto err_out_free;
- }
- }
-
- ret = ras_store_data(&s);
- if (ret) {
- HIKP_ERROR_PRINT("ras store rsp_data is failed\n");
- goto err_out_free;
- }
- }
-
-err_out_free:
- file_seq_destroy(&s);
- return ret;
+ struct ras_dump_cmd cmd = { .cmd_type = DUMP_DFX };
+ struct rasdfx_file_header f_header;
+ int ret;
+
+ ret = ras_get_rasdfx_header(&cmd, &f_header);
+ if (ret)
+ return ret;
+
+ if (f_header.head_magic != DFX_DATA_DUMPED_MAGIC) {
+ HIKP_ERROR_PRINT("data does not exist or has been cleared.\n");
+ return -1;
+ }
+
+ if (!ras_check_header(&f_header))
+ return -1;
+
+ return ras_get_rasdfx_payload(&cmd, &f_header);
}
-int ras_data_dump(struct tool_ras_cmd *cmd)
+int ras_data_clear(void)
{
+ struct ras_dump_cmd cmd = { .cmd_type = DUMP_CLEAR };
+ struct rasdfx_file_header f_header;
int ret;
- struct ras_rsp ras_rsp_data;
- struct ras_dump_req_para req_data = {0};
-
- if (cmd == NULL)
- return -ENOSPC;
-
- ras_rsp_init(&ras_rsp_data);
- ret = ras_get_data(cmd->ras_cmd_type, &req_data, &ras_rsp_data);
- if (ret || (ras_rsp_data.rsp_data_num != DFX_REG_DUMP_HEADER_LEN)) {
- HIKP_ERROR_PRINT("ras dump header is failed, rsp_data_num is %u\n",
- ras_rsp_data.rsp_data_num);
- return -1;
- }
-
- if (!ras_rsp_data.rsp_data[HEAD_MAGIC]) {
- HIKP_ERROR_PRINT("ras dfx dump is failed, data does not exist or has been cleared.\n");
- return -1;
- }
-
- header.pkt_num = ras_rsp_data.rsp_data[PKT_NUM];
- header.pkt_length = ras_rsp_data.rsp_data[PKT_LENGTH];
- if (header.pkt_num == 0 || header.pkt_length < DFX_REG_PACKET_HEAD_LEN ||
- header.pkt_length > MAX_DFX_PACKET_LEN * sizeof(uint32_t)) {
- HIKP_ERROR_PRINT("ras dfx dump is failed, pkt_num is %u, pkt_length is %u\n",
- header.pkt_num, header.pkt_length);
- return -1;
- }
-
- ret = ras_dump_packet(cmd, &ras_rsp_data, &req_data);
- if (ret)
- HIKP_ERROR_PRINT("ras dump packet is failed\n");
-
- return ret;
-}
-int ras_data_clear(struct tool_ras_cmd *cmd)
-{
- int ret;
- struct ras_rsp ras_rsp_data;
- struct ras_dump_req_para req_data = { 0 };
-
- if (cmd == NULL)
- return -ENOSPC;
-
- ras_rsp_init(&ras_rsp_data);
- ret = ras_get_data(cmd->ras_cmd_type, &req_data, &ras_rsp_data);
- if (ret || ras_rsp_data.rsp_data_num != DFX_REG_DUMP_HEADER_LEN ||
- ras_rsp_data.rsp_data[HEAD_MAGIC] != DFX_DATA_IS_CLEARED) {
- HIKP_ERROR_PRINT("ras dfx data clear is failed\n");
- return -1;
- }
-
- return 0;
-}
+ ret = ras_get_rasdfx_header(&cmd, &f_header);
+ if (ret)
+ return ret;
+ if (f_header.head_magic != DFX_DATA_CLEARED_MAGIC) {
+ HIKP_ERROR_PRINT("ras dfx data clear is failed\n");
+ return -1;
+ }
+
+ return 0;
+}
diff --git a/ras/ras_func/ras_dump_data.h b/ras/ras_func/ras_dump_data.h
index b54efce..a5e8749 100644
--- a/ras/ras_func/ras_dump_data.h
+++ b/ras/ras_func/ras_dump_data.h
@@ -11,78 +11,59 @@
* See the Mulan PSL v2 for more details.
*/
-#ifndef RAS_DUMP_REG_H
-#define RAS_DUMP_REG_H
+#ifndef RAS_DUMP_DATA_H
+#define RAS_DUMP_DATA_H
-#include "ras_tools_include.h"
-#include "hikpt_rciep.h"
-#include "tool_lib.h"
+#include <stdint.h>
-#define RAS_FILE_HEAD_BUF_LEN 256
-#define MAX_DFX_PACKET_LEN 256
-#define RAS_REQ_DATA_LEN 4
-#define DFX_REG_DUMP_HEADER_LEN 6
-#define DFX_REG_PACKET_HEAD_LEN 3
-
-struct dfx_reg_dump_header {
- uint32_t head_magic; // 文件头的magic数字,特定值表示有效记录。
- uint32_t version; // 存储格式版本
- uint32_t cap_bits; // bit0表示是否开启crc,其余bit保留。
- uint32_t pkt_num; // packet数量
- uint32_t pkt_length; // 单个packet占用内存空间,单位bytes
- uint32_t reserved;
-};
-
-struct file_seq {
- char *buffer;
- uint32_t buffer_size;
- int len;
- char file_name[MAX_LOG_NAME_LEN];
+struct rasdfx_file_header {
+ uint32_t head_magic; // 文件头的magic数字,特定值表示有效记录。
+ uint32_t version; // 存储格式版本
+ uint32_t cap_bits; // bit0表示是否开启crc,其余bit保留。
+ uint32_t pkt_num; // packet数量
+ uint32_t pkt_size_dwords; // 单个packet内DWord个数,单位4bytes
+ uint32_t reserved;
};
-struct ras_rsp {
- uint32_t rsp_data[HIKP_RSP_ALL_DATA_MAX];
- uint32_t first_pkt_begin;
- uint32_t last_pkt_end;
- uint32_t rsp_data_num;
- uint32_t packet_buffer[MAX_DFX_PACKET_LEN];
- uint32_t packet_buffer_len;
+struct rasdfx_pkt_header_dw0 {
+ uint32_t version : 8;
+ uint32_t soc_id : 8;
+ uint32_t skt_id : 8;
+ uint32_t die_id : 8;
};
-struct ras_dump_req_para {
- uint32_t cmd_id;
+struct rasdfx_pkt_header_dw1 {
+ uint32_t module_id : 8;
+ uint32_t submodule_id : 8;
+ uint32_t sequence_num : 8;
+ uint32_t reg_count : 8;
};
-enum reg_dump_header_index {
- HEAD_MAGIC,
- VERSION,
- CAP_BITS,
- PKT_NUM,
- PKT_LENGTH
+struct rasdfx_pkt {
+ struct rasdfx_pkt_header_dw0 dw0;
+ struct rasdfx_pkt_header_dw1 dw1;
+ uint32_t reserved;
+ uint32_t reg_base[0];
};
-enum dfx_packet_index {
- DFX_HEAD_INFO_DW0,
- DFX_HEAD_INFO_DW1,
- DFX_COMMON_MAIN_TEXT_BEGIN = 3
+struct file_seq {
+ int fd;
+ char *buf;
+ size_t buf_size;
+ size_t buf_offs;
};
-#define DFX_HEAD_VERSION_OFF 0
-#define DFX_HEAD_SOC_ID_OFF 8
-#define DFX_HEAD_SKT_ID_OFF 16
-#define DFX_HEAD_DIE_ID_OFF 24
-#define DFX_HEAD_MODULE_ID_OFF 0
-#define DFX_HEAD_SUBMODULE_ID_OFF 8
-#define DFX_HEAD_SEQUENCE_NUM_OFF 16
-#define DFX_HEAD_REG_COUNT_OFF 24
-
-#define DFX_DATA_IS_CLEARED 0
-
-#define DFX_FILE_SINGLE_PACKET_HEAD_SIZE 256
-#define DFX_FILE_SINGLE_REG_SIZE 10
+enum ras_dump_cmd_type {
+ DUMP_DFX,
+ DUMP_CLEAR
+ };
+struct ras_dump_cmd {
+ enum ras_dump_cmd_type cmd_type;
+ uint32_t cmd_id; /* 0: get header info, 1-n: get packet data */
+};
-int ras_data_dump(struct tool_ras_cmd *cmd);
-int ras_data_clear(struct tool_ras_cmd *cmd);
+int ras_data_dump(void);
+int ras_data_clear(void);
-#endif /* RAS_DUMP_REG_H */
+#endif /* RAS_DUMP_DATA_H */
diff --git a/ras/user_cmd/ras_cmd_dump.c b/ras/user_cmd/ras_cmd_dump.c
index f8ae828..e0df98f 100644
--- a/ras/user_cmd/ras_cmd_dump.c
+++ b/ras/user_cmd/ras_cmd_dump.c
@@ -13,11 +13,12 @@
#include <stdint.h>
#include "tool_cmd.h"
-#include "ras_tools_include.h"
+#include "hikptdev_plug.h"
+#include "tool_lib.h"
#include "ras_dump_data.h"
-struct tool_ras_cmd g_ras_dump_cmd = {
- .ras_cmd_type = DUMP_DFX,
+struct ras_dump_cmd g_cmd = {
+ .cmd_type = DUMP_DFX
};
static int ras_dump_help(struct major_cmd_ctrl *self, const char *argv)
@@ -34,33 +35,21 @@ static int ras_dump_help(struct major_cmd_ctrl *self, const char *argv)
return 0;
}
-static enum ras_dump_cmd_type ras_get_cmd_type(void)
-{
- return g_ras_dump_cmd.ras_cmd_type;
-}
-
-static void ras_set_cmd_type(enum ras_dump_cmd_type type)
-{
- g_ras_dump_cmd.ras_cmd_type = type;
-}
-
static int ras_set_clear(struct major_cmd_ctrl *self, const char *argv)
{
HIKP_SET_USED(self);
HIKP_SET_USED(argv);
- ras_set_cmd_type(DUMP_CLEAR);
+ g_cmd.cmd_type = DUMP_CLEAR;
return 0;
}
-static int ras_dump_execute_process(void)
+static int ras_dump_execute_process(enum ras_dump_cmd_type cmd_type)
{
- if (ras_get_cmd_type() == DUMP_DFX)
- return ras_data_dump(&g_ras_dump_cmd);
- else if (ras_get_cmd_type() == DUMP_CLEAR)
- return ras_data_clear(&g_ras_dump_cmd);
- else
- return -EINVAL;
+ if (cmd_type == DUMP_CLEAR)
+ return ras_data_clear();
+ else
+ return ras_data_dump();
}
static void ras_dump_execute(struct major_cmd_ctrl *self)
@@ -75,12 +64,12 @@ static void ras_dump_execute(struct major_cmd_ctrl *self)
"ras dfx data clear error."
};
- ret = ras_dump_execute_process();
+ ret = ras_dump_execute_process(g_cmd.cmd_type);
if (ret == 0) {
- printf("%s\n", suc_msg[ras_get_cmd_type()]);
+ printf("%s\n", suc_msg[g_cmd.cmd_type]);
} else {
snprintf(self->err_str, sizeof(self->err_str), "%s\n",
- err_msg[ras_get_cmd_type()]);
+ err_msg[g_cmd.cmd_type]);
self->err_no = ret;
}
}
diff --git a/ras/user_cmd/ras_tools_include.h b/ras/user_cmd/ras_tools_include.h
deleted file mode 100644
index a999b8a..0000000
--- a/ras/user_cmd/ras_tools_include.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2022 Hisilicon Technologies Co., Ltd.
- * Hikptool is licensed under Mulan PSL v2.
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
- * You may obtain a copy of Mulan PSL v2 at:
- * http://license.coscl.org.cn/MulanPSL2
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
- *
- * See the Mulan PSL v2 for more details.
- */
-
-#ifndef RAS_TOOLS_INCLUDE_H
-#define RAS_TOOLS_INCLUDE_H
-
-#include "hikptdev_plug.h"
-#include "tool_lib.h"
-#include "ras_common.h"
-
-struct tool_ras_cmd {
- enum ras_dump_cmd_type ras_cmd_type;
-};
-
-#endif /* RAS_TOOLS_INCLUDE_H */
--
2.33.0
1
0
---
tools/container/client_kill.sh | 8 ++++
tools/container/create.sh | 75 ++++++++++++++++++++++++++++++++
tools/container/edit_client.sh | 34 +++++++++++++++
tools/container/env.sh | 31 +++++++++++++
tools/container/get_specific.sh | 19 ++++++++
tools/container/run_all.sh | 13 ++++++
tools/container/run_bk.sh | 16 +++++++
tools/container/run_bk_117.sh | 7 +++
tools/container/runc_parallel.sh | 41 +++++++++++++++++
tools/container/usage.rst | 56 ++++++++++++++++++++++++
10 files changed, 300 insertions(+)
create mode 100644 tools/container/client_kill.sh
create mode 100644 tools/container/create.sh
create mode 100644 tools/container/edit_client.sh
create mode 100644 tools/container/env.sh
create mode 100644 tools/container/get_specific.sh
create mode 100644 tools/container/run_all.sh
create mode 100644 tools/container/run_bk.sh
create mode 100644 tools/container/run_bk_117.sh
create mode 100644 tools/container/runc_parallel.sh
create mode 100644 tools/container/usage.rst
diff --git a/tools/container/client_kill.sh b/tools/container/client_kill.sh
new file mode 100644
index 000000000000..a12c5be1edef
--- /dev/null
+++ b/tools/container/client_kill.sh
@@ -0,0 +1,8 @@
+source /home/name/common/env.sh
+
+for IP in "${CLIENT[@]}"
+do
+ echo $IP
+ ssh root@$IP "pgrep -f redis-benchmark | xargs kill -9"
+done
+ssh root@$CLIENT_OBSERVE "pgrep -f redis-benchmark | xargs kill -9"
diff --git a/tools/container/create.sh b/tools/container/create.sh
new file mode 100644
index 000000000000..3f507bfc39cd
--- /dev/null
+++ b/tools/container/create.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+source /home/name/common/env.sh
+
+nr=$1
+mode=${2:-"sequential"} # 默认顺序模式,可选:sequential(顺序)或interleave(交错)
+[[ -z $nr ]] && { echo "Usage: $0 <number> [sequential|interleave]"; exit 1; }
+
+docker stop $(docker ps -aq) 2>/dev/null
+docker rm $(docker ps -aq) 2>/dev/null
+
+mkdir -p /var/run/netns
+systemctl stop irqbalance
+
+if [[ $mode == "interleave" ]]; then
+ deployment_order=()
+ for i in $(seq 0 $((nr - 1))); do
+ for j in $(seq $numa_start $numa_end); do
+ deployment_order+=("$j $i")
+ done
+ done
+else
+ deployment_order=()
+ for j in $(seq $numa_start $numa_end); do
+ for i in $(seq 0 $((nr - 1))); do
+ deployment_order+=("$j $i")
+ done
+ done
+fi
+
+ip_count=0
+for deployment in "${deployment_order[@]}"; do
+ j=$(echo $deployment | awk '{print $1}')
+ i=$(echo $deployment | awk '{print $2}')
+
+ docker run --cpus=2 --cpuset-cpus=${cpus_numa[$j]} --cpuset-mems=$j -m 8g \
+ --cap-add CAP_SYS_ADMIN --privileged=true -itd \
+ --name redis-docker-bridge-numa$j-$i \
+ -v /home/name/redis_image:/home -v /usr:/usr -v /mnt:/mnt \
+ -v /lib/modules:/lib/modules -v /data:/data -v /etc:/etc \
+ openeuler-22.03-lts-sp4 /bin/bash
+
+ pid=$(docker inspect -f '{{.State.Pid}}' redis-docker-bridge-numa$j-$i)
+ vf=$((j * nr + i))
+ ip_count=$((ip_count + 1))
+ IP=${UNREACHABLE_IPS[$((ip_count))]}
+
+ echo "vf: ${vf} IP: ${IP}"
+
+ ln -sf /proc/$pid/ns/net /var/run/netns/redis-docker-bridge-numa$j-$i
+ ip link set enp24s0f0v$vf netns redis-docker-bridge-numa$j-$i
+ docker exec redis-docker-bridge-numa$j-$i ifconfig enp24s0f0v$vf $IP/16
+
+ docker exec -d redis-docker-bridge-numa$j-$i \
+ /home/c00838100/redis-origin/src/redis-server \
+ /home/c00838100/redis.conf --bind 0.0.0.0 --port 6379
+
+ while ! docker exec redis-docker-bridge-numa$j-$i ps -ef | grep -q "[r]edis-server"; do
+ sleep 0.5
+ done
+
+ pid=$(docker exec redis-docker-bridge-numa$j-$i pgrep -f redis-server)
+ core_array=(${cpus[$j]})
+ cpu_core=${core_array[$((i * CPU_DIST))]}
+ docker exec redis-docker-bridge-numa$j-$i taskset -pc $cpu_core $pid
+
+ vf_num=$vf
+ vf_dev=$(ls -la /sys/class/net/enp24s0f0np0/device/virtfn${vf_num} | awk '{print $11}' | sed "s|../||g")
+ irq_core=$((cpu_core + 1))
+
+ for irq in `cat /proc/interrupts | grep $vf_dev | awk -F ':' '{print $1}'`; do
+ echo $irq_core > /proc/irq/$irq/smp_affinity_list
+ done
+done
+
+echo "部署完成! 模式: $mode, 容器数量: $((nr * (numa_end - numa_start + 1)))"
diff --git a/tools/container/edit_client.sh b/tools/container/edit_client.sh
new file mode 100644
index 000000000000..7242d49de753
--- /dev/null
+++ b/tools/container/edit_client.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+source /home/name/common/env.sh
+
+connection=40
+data_len=3
+thread=50
+data_num=2000000
+data_num_large=200000000
+
+mod=0
+for IP in "${CLIENT[@]}"
+do
+echo $IP
+ cp run_bk.sh run.sh
+ echo $mod
+ sed -i "s|xx|$mod|g" run.sh
+ sed -i "s|aa|$connection|g" run.sh
+ sed -i "s|bb|$data_len|g" run.sh
+ sed -i "s|cc|$thread|g" run.sh
+ sed -i "s|dd|$data_num_large|g" run.sh
+
+ ssh root@$IP mkdir -p /home/name/common
+ scp /home/name/common/env.sh root@$IP:/home/name/common
+ scp run.sh root@$IP:/home/name/redis/client/
+ mod=$((mod + 1))
+done
+
+cp run_bk_117.sh run_117.sh
+sed -i "s|aa|$connection|g" run_117.sh
+sed -i "s|bb|$data_len|g" run_117.sh
+sed -i "s|cc|$thread|g" run_117.sh
+sed -i "s|dd|$data_num|g" run_117.sh
+scp run_117.sh root@$CLIENT_OBSERVE:/home/name/redis/client/run.sh
diff --git a/tools/container/env.sh b/tools/container/env.sh
new file mode 100644
index 000000000000..8ec051d67708
--- /dev/null
+++ b/tools/container/env.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+CPU_DIST=4
+
+cpus_numa=(
+"0-79" // todo
+)
+
+vf_core=317 // todo
+redis_core=316
+
+numa_start=0
+numa_end=3
+
+cpus=(
+"0 1"// todo
+"80 81"
+)
+
+CLIENT=(
+ip1 // todo
+ip2 // todo
+)
+
+count=80
+CLIENT_OBSERVE=ip3 // todo
+
+UNREACHABLE_IPS=(
+ip1 // todo
+ip2 // todo
+)
diff --git a/tools/container/get_specific.sh b/tools/container/get_specific.sh
new file mode 100644
index 000000000000..4bbbdac6e0b2
--- /dev/null
+++ b/tools/container/get_specific.sh
@@ -0,0 +1,19 @@
+nr=$1
+DIST=4
+
+dir=/home/name/redis_image/test_inbalance_new/result
+echo "****************"
+cat ${dir}/test_1/log_specific | grep throughput | awk '{print $3}'
+for i in $(seq 1 $nr); do
+cat ${dir}/test_$((i * DIST))/log_specific | grep throughput | awk '{print $3}'
+done
+echo "****************"
+cat ${dir}/test_1/log_specific | grep -A 2 "latency summary" | tail -n 1 | awk '{print $1}'
+for i in $(seq 1 $nr); do
+cat ${dir}/test_$((i * DIST))/log_specific | grep -A 2 "latency summary" | tail -n 1 | awk '{print $1}'
+done
+echo "****************"
+cat ${dir}/test_1/log_specific | grep -A 2 "latency summary" | tail -n 1 | awk '{print $5}'
+for i in $(seq 1 $nr); do
+cat ${dir}/test_$((i * DIST))/log_specific | grep -A 2 "latency summary" | tail -n 1 | awk '{print $5}'
+done
diff --git a/tools/container/run_all.sh b/tools/container/run_all.sh
new file mode 100644
index 000000000000..33d40b7d397e
--- /dev/null
+++ b/tools/container/run_all.sh
@@ -0,0 +1,13 @@
+source /home/name/common/env.sh
+
+rm -rf result/test*
+ssh root@$CLIENT_OBSERVE rm -rf /home/name/redis/client/test*
+nr=$1
+
+sh runc_parallel.sh 1
+sleep 3
+
+for i in $(seq 1 $nr); do
+sh runc_parallel.sh $((i * 4))
+sleep 3
+done
diff --git a/tools/container/run_bk.sh b/tools/container/run_bk.sh
new file mode 100644
index 000000000000..794d390b536e
--- /dev/null
+++ b/tools/container/run_bk.sh
@@ -0,0 +1,16 @@
+nr=$1
+
+source /home/name/common/env.sh
+dir=/home/name/redis/client/test_$((nr + 1))
+
+rm -rf $dir
+mkdir $dir
+
+for (( i=1; i<=$nr; i++ ))
+do
+ if [ $((i % 4)) -eq xx ]; then
+ redis-benchmark -h ${UNREACHABLE_IPS[$i]} -p 6379 -c aa -d bb -n dd -r 10000000 -t get --threads cc > $dir/log_${i} &
+# redis-benchmark -h ${UNREACHABLE_IPS[$((80-i))]} -p 6379 -c aa -d bb -n dd -r 10000000 -t get --threads cc > $dir/log_${i} &
+fi
+done
+wait
diff --git a/tools/container/run_bk_117.sh b/tools/container/run_bk_117.sh
new file mode 100644
index 000000000000..16315a256632
--- /dev/null
+++ b/tools/container/run_bk_117.sh
@@ -0,0 +1,7 @@
+nr=$1
+IP=ip_observe // todo
+
+#sleep 8
+rm -rf /home/name/redis/client/test_$nr
+mkdir /home/name/redis/client/test_$nr
+redis-benchmark -h $IP -p 6379 -c aa -d bb -n dd -r 10000000 -t get --threads cc > /home/name/redis/client/test_$nr/log_specific
diff --git a/tools/container/runc_parallel.sh b/tools/container/runc_parallel.sh
new file mode 100644
index 000000000000..47b48e88e703
--- /dev/null
+++ b/tools/container/runc_parallel.sh
@@ -0,0 +1,41 @@
+nr=$1
+
+source /home/name/common/env.sh
+sh client_kill.sh
+function cleanup() {
+ssh root@$CLIENT_OBSERVE "rm -rf /home/name/redis/client/test_*"
+for IP in "${CLIENT[@]}"
+do
+ ssh root@$IP "rm -rf /home/name/redis/client/test_*"
+done
+}
+
+function copy() {
+scp -r root@$CLIENT_OBSERVE:/home/name/redis/client/test_$((nr + 1)) result
+for IP in "${CLIENT[@]}"
+do
+ scp -r root@$IP:/home/name/redis/client/test_$((nr + 1)) result &> /dev/null
+done
+}
+
+function stress() {
+nr=$1
+for IP in "${CLIENT[@]}"
+do
+echo -n $IP
+ ssh root@$IP "sh /home/name/redis/client/run.sh $nr" &
+echo done
+done
+}
+
+nr=$((nr - 1))
+
+cleanup
+stress $nr
+sleep 2
+ssh root@$CLIENT_OBSERVE "sh /home/name/redis/client/run.sh $((nr + 1))"
+
+sleep 15
+mkdir result
+copy
+cat result/test_$((nr + 1))/log_specific | grep -A 4 throughput
diff --git a/tools/container/usage.rst b/tools/container/usage.rst
new file mode 100644
index 000000000000..beb2593b8142
--- /dev/null
+++ b/tools/container/usage.rst
@@ -0,0 +1,56 @@
+镜像下载:wget https://dl-cdn.openeuler.openatom.cn/openEuler-22.03-LTS-SP4/docker_img/aar…
+导入容器镜像:docker load < ./openEuler-docker.aarch64.tar.xz
+redis下载:https://redis.io/downloads/ 版本6.2
+修改点:
+protected-mode no
+daemonize yes
+cd redis-xx && make && make install
+
+# 1. runc
+基线测试方法: 6.6.0-92.0.0.96.oe2403sp2.aarch64
+1. 硬件:服务器,CX5双网口网卡共160个vf
+2. redis容器:每个2u8g容器1个核绑定redis实例,另1个核绑定VF中断;且两个核同属一个SMT
+3. 部署方式:numa 3的最后一个cluster部署1个观察容器,其他背景容器按顺序部署在numa 0-3
+4. 客户端:一台客户端单独加压观察容器,保证客户端不是瓶颈;其他四台客户端加压背景容器
+5. 组网方式:每个容器一个VF
+
+echo 80 > /sys/class/net/enp24s0f0np0/device/sriov_numvfs
+echo 80 > /sys/class/net/enp24s0f1np1/device/sriov_numvfs
+cd /home/name/redis_image/test_inbalance_refactor
+sh create_runc_passthrough.sh 20
+
+# 同时跑4个redis
+sh runc_parallel.sh 4
+# 同时跑80个redis
+sh runc_parallel.sh 80
+
+# 2. vm:6.6.0-95.0.0
+1. BIOS配置:开启SMMU、开启GiCv4.1
+2. 服务器内核配置:开启中断直通kvm-arm.vgic_v4_enable=1、1G大页:default_hugepagesz=1G hugepagesz=1G
+3. 虚拟机规格:2台虚机,单虚机2个numa,160U,240G内存,40个VF直通网卡
+4. host和虚拟机内开启调度策略优化(echo IRQ_AVG > /sys/kernel/debug/sched/features)
+
+
+smt开关:Advanced -> AMD CBS-> CPU Common Options -> performance -> SMU Common Options
+IOMMU开关:Advanced -> AMD CBS-> NBIO Common Options -> IOMMU/security -> IOMMU
+
+分配大页:
+echo 120 > /sys/devices/system/node/node0/hugepages/hugepages-1048576kB/nr_hugepages
+echo 120 > /sys/devices/system/node/node1/hugepages/hugepages-1048576kB/nr_hugepages
+echo 120 > /sys/devices/system/node/node2/hugepages/hugepages-1048576kB/nr_hugepages
+echo 120 > /sys/devices/system/node/node3/hugepages/hugepages-1048576kB/nr_hugepages
+
+virsh create /home/name/vms/vm1/vm1.xml
+virsh create /home/name/vms/vm2/vm2.xml
+
+ssh root@vm_ip1
+cd /home/name/redis_image/test_inbalance_refactor
+sh create_runc_passthrough.sh 20
+
+ssh root@vm_ip2
+cd /home/name/redis_image/test_inbalance_refactor
+sh create_runc_passthrough.sh 20
+
+# host上
+cd /home/name/redis_image/test_inbalance_refactor
+sh runc_parallel.sh 80
--
2.33.0
2
1
[PATCH OLK-6.6] vsock/virtio: Validate length in packet header before skb_put()
by Ziming Du 16 Sep '25
by Ziming Du 16 Sep '25
16 Sep '25
From: Will Deacon <will(a)kernel.org>
mainline inclusion
from mainline-v6.17-rc1
commit 0dab92484474587b82e8e0455839eaf5ac7bf894
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWO1M
CVE: CVE-2025-39718
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
When receiving a vsock packet in the guest, only the virtqueue buffer
size is validated prior to virtio_vsock_skb_rx_put(). Unfortunately,
virtio_vsock_skb_rx_put() uses the length from the packet header as the
length argument to skb_put(), potentially resulting in SKB overflow if
the host has gone wonky.
Validate the length as advertised by the packet header before calling
virtio_vsock_skb_rx_put().
Cc: <stable(a)vger.kernel.org>
Fixes: 71dc9ec9ac7d ("virtio/vsock: replace virtio_vsock_pkt with sk_buff")
Signed-off-by: Will Deacon <will(a)kernel.org>
Message-Id: <20250717090116.11987-3-will(a)kernel.org>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare(a)redhat.com>
Signed-off-by: Ziming Du <duziming2(a)huawei.com>
---
net/vmw_vsock/virtio_transport.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c
index 2925f5d27ad3f..c4877cb7a5737 100644
--- a/net/vmw_vsock/virtio_transport.c
+++ b/net/vmw_vsock/virtio_transport.c
@@ -497,8 +497,9 @@ static void virtio_transport_rx_work(struct work_struct *work)
do {
virtqueue_disable_cb(vq);
for (;;) {
+ unsigned int len, payload_len;
+ struct virtio_vsock_hdr *hdr;
struct sk_buff *skb;
- unsigned int len;
if (!virtio_transport_more_replies(vsock)) {
/* Stop rx until the device processes already
@@ -515,12 +516,19 @@ static void virtio_transport_rx_work(struct work_struct *work)
vsock->rx_buf_nr--;
/* Drop short/long packets */
- if (unlikely(len < sizeof(struct virtio_vsock_hdr) ||
+ if (unlikely(len < sizeof(*hdr) ||
len > virtio_vsock_skb_len(skb))) {
kfree_skb(skb);
continue;
}
+ hdr = virtio_vsock_hdr(skb);
+ payload_len = le32_to_cpu(hdr->len);
+ if (unlikely(payload_len > len - sizeof(*hdr))) {
+ kfree_skb(skb);
+ continue;
+ }
+
virtio_vsock_skb_rx_put(skb);
virtio_transport_deliver_tap_pkt(skb);
virtio_transport_recv_pkt(&virtio_transport, skb);
--
2.43.0
2
1
16 Sep '25
From: Sergey Bashirov <sergeybashirov(a)gmail.com>
stable inclusion
from stable-v6.6.103
commit 24334f3cf8a294f253071b5bf22d754dbb6d0f2d
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWGG2
CVE: CVE-2025-38691
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 9768797c219326699778fba9cd3b607b2f1e7950 ]
The error occurs on the third attempt to encode extents. When function
ext_tree_prepare_commit() reallocates a larger buffer to retry encoding
extents, the "layoutupdate_pages" page array is initialized only after the
retry loop. But ext_tree_free_commitdata() is called on every iteration
and tries to put pages in the array, thus dereferencing uninitialized
pointers.
An additional problem is that there is no limit on the maximum possible
buffer_size. When there are too many extents, the client may create a
layoutcommit that is larger than the maximum possible RPC size accepted
by the server.
During testing, we observed two typical scenarios. First, one memory page
for extents is enough when we work with small files, append data to the
end of the file, or preallocate extents before writing. But when we fill
a new large file without preallocating, the number of extents can be huge,
and counting the number of written extents in ext_tree_encode_commit()
does not help much. Since this number increases even more between
unlocking and locking of ext_tree, the reallocated buffer may not be
large enough again and again.
Co-developed-by: Konstantin Evtushenko <koevtushenko(a)yandex.com>
Signed-off-by: Konstantin Evtushenko <koevtushenko(a)yandex.com>
Signed-off-by: Sergey Bashirov <sergeybashirov(a)gmail.com>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Link: https://lore.kernel.org/r/20250630183537.196479-2-sergeybashirov@gmail.com
Signed-off-by: Trond Myklebust <trond.myklebust(a)hammerspace.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Chen Jinghuang <Chenjinghuang2(a)huawei.com>
---
fs/nfs/blocklayout/extent_tree.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/fs/nfs/blocklayout/extent_tree.c b/fs/nfs/blocklayout/extent_tree.c
index 8f7cff7a4293..0add0f329816 100644
--- a/fs/nfs/blocklayout/extent_tree.c
+++ b/fs/nfs/blocklayout/extent_tree.c
@@ -552,6 +552,15 @@ static int ext_tree_encode_commit(struct pnfs_block_layout *bl, __be32 *p,
return ret;
}
+/**
+ * ext_tree_prepare_commit - encode extents that need to be committed
+ * @arg: layout commit data
+ *
+ * Return values:
+ * %0: Success, all required extents are encoded
+ * %-ENOSPC: Some extents are encoded, but not all, due to RPC size limit
+ * %-ENOMEM: Out of memory, extents not encoded
+ */
int
ext_tree_prepare_commit(struct nfs4_layoutcommit_args *arg)
{
@@ -568,12 +577,12 @@ ext_tree_prepare_commit(struct nfs4_layoutcommit_args *arg)
start_p = page_address(arg->layoutupdate_page);
arg->layoutupdate_pages = &arg->layoutupdate_page;
-retry:
- ret = ext_tree_encode_commit(bl, start_p + 1, buffer_size, &count, &arg->lastbytewritten);
+ ret = ext_tree_encode_commit(bl, start_p + 1, buffer_size,
+ &count, &arg->lastbytewritten);
if (unlikely(ret)) {
ext_tree_free_commitdata(arg, buffer_size);
- buffer_size = ext_tree_layoutupdate_size(bl, count);
+ buffer_size = NFS_SERVER(arg->inode)->wsize;
count = 0;
arg->layoutupdate_pages =
@@ -588,7 +597,8 @@ ext_tree_prepare_commit(struct nfs4_layoutcommit_args *arg)
return -ENOMEM;
}
- goto retry;
+ ret = ext_tree_encode_commit(bl, start_p + 1, buffer_size,
+ &count, &arg->lastbytewritten);
}
*start_p = cpu_to_be32(count);
@@ -608,7 +618,7 @@ ext_tree_prepare_commit(struct nfs4_layoutcommit_args *arg)
}
dprintk("%s found %zu ranges\n", __func__, count);
- return 0;
+ return ret;
}
void
--
2.34.1
2
1
[PATCH OLK-6.6] media: uvcvideo: Fix 1-byte out-of-bounds read in uvc_parse_format()
by Huang Xiaojia 16 Sep '25
by Huang Xiaojia 16 Sep '25
16 Sep '25
From: Youngjun Lee <yjjuny.lee(a)samsung.com>
stable inclusion
from stable-v6.6.103
commit a97e062e4ff3dab84a2f1eb811e9eddc6699e2a9
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWGIM
CVE: CVE-2025-38680
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 782b6a718651eda3478b1824b37a8b3185d2740c upstream.
The buffer length check before calling uvc_parse_format() only ensured
that the buffer has at least 3 bytes (buflen > 2), buf the function
accesses buffer[3], requiring at least 4 bytes.
This can lead to an out-of-bounds read if the buffer has exactly 3 bytes.
Fix it by checking that the buffer has at least 4 bytes in
uvc_parse_format().
Signed-off-by: Youngjun Lee <yjjuny.lee(a)samsung.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart(a)ideasonboard.com>
Fixes: c0efd232929c ("V4L/DVB (8145a): USB Video Class driver")
Cc: stable(a)vger.kernel.org
Reviewed-by: Ricardo Ribalda <ribalda(a)chromium.org>
Link: https://lore.kernel.org/r/20250610124107.37360-1-yjjuny.lee@samsung.com
Signed-off-by: Laurent Pinchart <laurent.pinchart(a)ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil(a)xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Huang Xiaojia <huangxiaojia2(a)huawei.com>
---
drivers/media/usb/uvc/uvc_driver.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index ae2e8bd2b3f7..1a6a3c1cb4ae 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -235,6 +235,9 @@ static int uvc_parse_format(struct uvc_device *dev,
unsigned int i, n;
u8 ftype;
+ if (buflen < 4)
+ return -EINVAL;
+
format->type = buffer[2];
format->index = buffer[3];
format->frames = frames;
--
2.34.1
2
1
[openeuler:openEuler-1.0-LTS] BUILD REGRESSION 8975e9a49fdd2f6402cc5fe68bc08d3c2b7a35a5
by kernel test robot 16 Sep '25
by kernel test robot 16 Sep '25
16 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: 8975e9a49fdd2f6402cc5fe68bc08d3c2b7a35a5 !17998 fix CVE-2025-38449
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508301637.4sfu6N2M-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020546.DO94LENh-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020919.PwhZw5yj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509152248.Glnloqtx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509160016.RjCI0LQf-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509160041.xVp7j0qx-lkp@intel.com
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.o: warning: objtool: amdgpu_vmid_grab()+0xd3e: unreachable instruction
drivers/gpu/drm/gma500/mid_bios.o: warning: objtool: mid_get_fuse_settings()+0x63: 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/memory_hotplug.c:926:16: warning: unused variable 'start_pfn' [-Wunused-variable]
mm/memory_hotplug.c:971:13: warning: 'rollback_node_hotadd' defined but not used [-Wunused-function]
mm/page_alloc.c:3005: warning: Function parameter or member 'mt' not described in '__putback_isolated_page'
mm/page_alloc.c:3123: warning: Function parameter or member 'mt' not described in '__putback_isolated_page'
mm/vmalloc.c:217:23: warning: variable 'start' set but not used [-Wunused-but-set-variable]
mm/vmalloc.c:231:16: warning: variable 'start' set but not used [-Wunused-but-set-variable]
mm/vmalloc.c:231:23: warning: variable 'start' set but not used [-Wunused-but-set-variable]
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/arm64/kernel/smp.c:164:17: sparse: sparse: incorrect type in argument 2 (different address spaces)
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/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/staging/gmjstcm/tcm_tis_spi.c:726:37: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/staging/gmjstcm/tcm_tis_spi.c:729:42: sparse: sparse: incorrect type in argument 2 (different address spaces)
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]
kernel/trace/blktrace.c:1296:24: sparse: sparse: incorrect type in assignment (different base types)
kernel/trace/blktrace.c:1297:24: sparse: sparse: incorrect type in assignment (different base types)
kernel/trace/blktrace.c:1298:24: sparse: sparse: incorrect type in assignment (different base types)
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/memory.c:4655:3: warning: cast from 'int (*)(unsigned long, unsigned long, struct cgp_args *)' to 'ktask_thread_func' (aka 'int (*)(void *, void *, void *)') converts to incompatible function type [-Wcast-function-type-mismatch]
mm/memory.c:4803:3: warning: cast from 'int (*)(unsigned long, unsigned long, struct cgp_args *)' to 'ktask_thread_func' (aka 'int (*)(void *, void *, void *)') converts to incompatible function type [-Wcast-function-type-mismatch]
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:1684:6: warning: no previous prototype for 'is_vma_temporary_stack' [-Wmissing-prototypes]
mm/rmap.c:906:17: warning: variable 'cstart' set but not used [-Wunused-but-set-variable]
mm/rodata_test.c:19:6: warning: no previous prototype for 'rodata_test' [-Wmissing-prototypes]
mm/rodata_test.o: warning: objtool: missing symbol for section .text
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-memory_hotplug.c:warning:rollback_node_hotadd-defined-but-not-used
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- arm64-allnoconfig
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-wait-in-((struct-list_head-)x)-.prev
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-waiter-in-(struct-list_head-)((char-)sem-).prev
| |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-defconfig
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-waiter-in-(struct-list_head-)((char-)sem-).prev
| |-- 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-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| `-- mm-vmalloc.c:warning:variable-start-set-but-not-used
|-- 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-20250915
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- 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-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-memory_hotplug.c:warning:rollback_node_hotadd-defined-but-not-used
| |-- mm-memory_hotplug.c:warning:unused-variable-start_pfn
| |-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
| `-- 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-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-20250915
| |-- 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
| |-- 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-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
|-- arm64-randconfig-r123-20250916
| |-- arch-arm64-kernel-smp.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-unsigned-long-assigned-park_exit
| |-- block-blk-merge.c:sparse:sparse:symbol-blk_try_req_merge-was-not-declared.-Should-it-be-static
| |-- crypto-algif_hash.c:sparse:sparse:Variable-length-array-is-used.
| |-- 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-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- 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-staging-gmjstcm-tcm_tis_spi.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-asn-addr-got-void-static-noderef-toplevel-asn-reuse_conf_
| |-- drivers-staging-gmjstcm-tcm_tis_spi.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-void
| |-- 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
| |-- 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-linux-bpf-cgroup.h:sparse:sparse:Using-plain-integer-as-NULL-pointer
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- include-trace-events-vmscan.h:sparse:sparse:cast-to-restricted-isolate_mode_t
| |-- include-trace-events-vmscan.h:sparse:sparse:restricted-isolate_mode_t-degrades-to-integer
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- 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
| |-- 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
| |-- 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-blktrace.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-restricted-__be32-usertype-device_from-got-unsigned-int
| |-- kernel-trace-blktrace.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-restricted-__be32-usertype-device_to-got-unsigned-int
| |-- kernel-trace-blktrace.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-restricted-__be64-usertype-sector_from-got-unsigned-long-long
| |-- 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:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:sparse:sparse:symbol-__probe_user_read-was-not-declared.-Should-it-be-static
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- 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-page_alloc.c:sparse:sparse:invalid-assignment:
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
| |-- mm-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-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-workingset.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-arg-got-void-noderef-asn
|-- 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
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-.tmp_ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-buildonly-randconfig-001-20250401
| `-- drivers-nvdimm-label.o:warning:objtool:nd_blk_namespace_label_update:unreachable-instruction
|-- 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-20250915
| |-- 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
| `-- 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-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-20250915
| |-- block-cmdline-parser.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-gpu-drm-gma500-mid_bios.o:warning:objtool:mid_get_fuse_settings:unreachable-instruction
| |-- 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-rmap.c:warning:variable-cstart-set-but-not-used
|-- 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-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-20250915
| |-- 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-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- 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-121-20250916
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
| |-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-vmalloc.c:warning:variable-start-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-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
|-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
|-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
|-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
|-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
|-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
|-- mm-memcontrol.c:warning:bad-line:otherwise.
|-- mm-memory.c:warning:cast-from-int-(-)(unsigned-long-unsigned-long-struct-cgp_args-)-to-ktask_thread_func-(aka-int-(-)(void-void-void-)-)-converts-to-incompatible-function-type
|-- mm-page_alloc.c:warning:Function-parameter-or-member-mt-not-described-in-__putback_isolated_page
`-- mm-rmap.c:warning:variable-cstart-set-but-not-used
elapsed time: 739m
configs tested: 17
configs skipped: 122
tested configs:
arm64 allmodconfig gcc-15.1.0
arm64 allnoconfig gcc-15.1.0
arm64 defconfig gcc-15.1.0
arm64 randconfig-001-20250915 gcc-8.5.0
arm64 randconfig-002-20250915 gcc-6.5.0
arm64 randconfig-003-20250915 gcc-6.5.0
arm64 randconfig-004-20250915 gcc-11.5.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250915 clang-20
x86_64 buildonly-randconfig-002-20250915 gcc-12
x86_64 buildonly-randconfig-003-20250915 gcc-14
x86_64 buildonly-randconfig-004-20250915 clang-20
x86_64 buildonly-randconfig-005-20250915 clang-20
x86_64 buildonly-randconfig-006-20250915 gcc-14
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3202/3202] include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
by kernel test robot 16 Sep '25
by kernel test robot 16 Sep '25
16 Sep '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: e1b2b313bb2317d78279ab55c49402841b4ce585
commit: 8a6bee347626968d467aef07453c4547bc23cb64 [3202/3202] blk-mq: fix potential uaf for 'queue_hw_ctx'
config: x86_64-randconfig-122-20250915 (https://download.01.org/0day-ci/archive/20250916/202509160546.iYswCLFR-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250916/202509160546.iYswCLFR-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/202509160546.iYswCLFR-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
block/blk-mq-sysfs.c: note: in included file (through include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq-sysfs.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq-sysfs.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/cpumask.h, ...):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq-sysfs.c: note: in included file:
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
--
block/blk-mq-tag.c: note: in included file (through include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq-tag.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq-tag.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/cpumask.h, ...):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq-tag.c: note: in included file:
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
--
block/blk-sysfs.c: note: in included file (through include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-sysfs.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-sysfs.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/cpumask.h, ...):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-sysfs.c: note: in included file:
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
--
block/blk-mq-sched.c: note: in included file (through include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq-sched.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq-sched.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/cpumask.h, ...):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq-sched.c: note: in included file:
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
--
block/blk-mq.c: note: in included file (through include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
block/blk-mq.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/cpumask.h, ...):
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-87f0227cb6/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
>> block/blk-mq.c:3284:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
block/blk-mq.c:3284:17: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
block/blk-mq.c:3284:17: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
block/blk-mq.c: note: in included file:
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
>> include/linux/blk-mq.h:620:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu *[noderef] __rcu *
include/linux/blk-mq.h:620:18: sparse: struct blk_mq_hw_ctx [noderef] __rcu **
vim +620 include/linux/blk-mq.h
614
615 static inline struct blk_mq_hw_ctx *queue_hctx(struct request_queue *q, int id)
616 {
617 struct blk_mq_hw_ctx *hctx;
618
619 rcu_read_lock();
> 620 hctx = *(rcu_dereference(q->queue_hw_ctx) + id);
621 rcu_read_unlock();
622
623 return hctx;
624 }
625
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10] BUILD REGRESSION e1b2b313bb2317d78279ab55c49402841b4ce585
by kernel test robot 16 Sep '25
by kernel test robot 16 Sep '25
16 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: e1b2b313bb2317d78279ab55c49402841b4ce585 !17995 media: dvb-frontends: w7090p: fix null-ptr-deref in w7090p_tuner_write_serpar and w7090p_tuner_read_serpar
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: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]
kernel/sched/soft_domain.c:186:10: error: implicit declaration of function 'cpu_util_cfs' [-Werror,-Wimplicit-function-declaration]
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:3036:6: warning: no previous prototype for '__drain_all_pages' [-Wmissing-prototypes]
mm/page_alloc.c:3036:6: warning: no previous prototype for function '__drain_all_pages' [-Wmissing-prototypes]
mm/page_alloc.c:3040:6: warning: no previous prototype for '__drain_all_pages' [-Wmissing-prototypes]
mm/page_alloc.c:3040:6: warning: no previous prototype for function '__drain_all_pages' [-Wmissing-prototypes]
mm/page_alloc.c:3480:15: warning: no previous prototype for 'should_fail_alloc_page' [-Wmissing-prototypes]
mm/page_alloc.c:6474:23: warning: no previous prototype for 'arch_memmap_init' [-Wmissing-prototypes]
mm/page_alloc.c:6634:6: warning: no previous prototype for '__zone_set_pageset_high_and_batch' [-Wmissing-prototypes]
mm/page_alloc.c:6634:6: warning: no previous prototype for function '__zone_set_pageset_high_and_batch' [-Wmissing-prototypes]
mm/page_alloc.c:6912:6: warning: no previous prototype for '__zone_set_pageset_high_and_batch' [-Wmissing-prototypes]
mm/page_alloc.c:6912:6: warning: no previous prototype for function '__zone_set_pageset_high_and_batch' [-Wmissing-prototypes]
mm/slub.o: warning: objtool: kmem_cache_free()+0x3e0: unreachable instruction
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()
fs/jffs2/gc.o: warning: objtool: jffs2_garbage_collect_live() falls through to next function jffs2_garbage_collect_dirent()
scripts/gcc-plugins/randomize_layout_plugin.c:692:20: error: 'last_stmt' was not declared in this scope; did you mean 'call_stmt'?
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-defconfig
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
|-- 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-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
|-- arm64-randconfig-004-20250915
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
|-- x86_64-allnoconfig
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-allyesconfig
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete_exit-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-function-ps3_dump_context_show-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_file_name-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_log-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_close-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_open-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_write-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_filename_build-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_local_time-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_resp_status_convert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_trigger_irq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_cmd_stat_content_clear-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_io_recv_ok_stat_inc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-function-ps3_dump_dir_length-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_pd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_vd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-function-ps3_sas_expander_phys_refresh-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_hba-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_raid-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_switch-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-function-ps3_hard_reset_to_ready-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-function-ps3_clean_mgr_cmd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_HDD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CLEAR_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_ENABLE_MSIX-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_MASK_DISABLE-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_STATUS_EXIST_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_SSD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-function-ps3_cli_ver_query-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_cmd_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_reset-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clean-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_all_pd_rc_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_cmd_waitq_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_exclusive_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_mgrq_resend-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_pd_waitq_ratio_update-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_tg_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_vd_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_conflict_queue_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_check-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_range_check_and_insert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-function-rbtDelNodeDo-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_hard_recovery_state_finish-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_alloc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_delete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_irq_queue_destroy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_state_transfer-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-function-ps3_sas_update_phy_info-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_set_task_manager_busy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_wait_for_outstanding_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsih.c:error:unused-function-ps3_scsih_dev_id_get-Werror-Wunused-function
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-001-20250915
| `-- 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-20250909
| `-- kernel-sched-soft_domain.c:error:implicit-declaration-of-function-cpu_util_cfs-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-002-20250915
| |-- 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
|-- x86_64-buildonly-randconfig-003-20250915
| |-- 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-compaction.c:warning:HPAGE_FRAG_CHECK_INTERVAL_MSEC-defined-but-not-used
|-- x86_64-buildonly-randconfig-004-20250915
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-buildonly-randconfig-005-20250915
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-006-20250915
| |-- 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
|-- x86_64-defconfig
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-__zone_set_pageset_high_and_batch
|-- x86_64-randconfig-121-20250909
| `-- scripts-gcc-plugins-randomize_layout_plugin.c:error:last_stmt-was-not-declared-in-this-scope
|-- x86_64-randconfig-121-20250915
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- fs-jffs2-gc.o:warning:objtool:jffs2_garbage_collect_live-falls-through-to-next-function-jffs2_garbage_collect_dirent()
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-randconfig-122-20250915
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-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-123-20250915
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
|-- x86_64-randconfig-161-20250915
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
`-- x86_64-rhel-9.4-rust
|-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
|-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
|-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__drain_all_pages
|-- mm-page_alloc.c:warning:no-previous-prototype-for-function-__zone_set_pageset_high_and_batch
`-- mm-slub.o:warning:objtool:kmem_cache_free:unreachable-instruction
elapsed time: 741m
configs tested: 17
configs skipped: 122
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 defconfig gcc-15.1.0
arm64 randconfig-001-20250915 clang-22
arm64 randconfig-002-20250915 clang-22
arm64 randconfig-003-20250915 gcc-6.5.0
arm64 randconfig-004-20250915 gcc-11.5.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250915 clang-20
x86_64 buildonly-randconfig-002-20250915 gcc-12
x86_64 buildonly-randconfig-003-20250915 gcc-14
x86_64 buildonly-randconfig-004-20250915 clang-20
x86_64 buildonly-randconfig-005-20250915 clang-20
x86_64 buildonly-randconfig-006-20250915 gcc-14
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:openEuler-1.0-LTS 1782/1782] mm/vmalloc.c:217:23: warning: variable 'start' set but not used
by kernel test robot 16 Sep '25
by kernel test robot 16 Sep '25
16 Sep '25
Hi Nicholas,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 8975e9a49fdd2f6402cc5fe68bc08d3c2b7a35a5
commit: 3eb01faed2ebb254019a3bb72ce3bdf4d0a9be74 [1782/1782] mm/vmalloc: add vmap_range_noflush variant
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20250916/202509160016.RjCI0LQf-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250916/202509160016.RjCI0LQf-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/202509160016.RjCI0LQf-lkp@intel.com/
All warnings (new ones prefixed by >>):
mm/vmalloc.c: In function 'vmap_range_noflush':
>> mm/vmalloc.c:217:23: warning: variable 'start' set but not used [-Wunused-but-set-variable]
217 | unsigned long start;
| ^~~~~
mm/vmalloc.c: At top level:
mm/vmalloc.c:1417:6: warning: no previous prototype for 'set_iounmap_nonlazy' [-Wmissing-prototypes]
1417 | void set_iounmap_nonlazy(void)
| ^~~~~~~~~~~~~~~~~~~
In file included from arch/arm64/include/asm/atomic.h:36,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/atomic.h:5,
from arch/arm64/include/asm/bitops.h:37,
from include/linux/bitops.h:19,
from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/preempt.h:11,
from include/linux/spinlock.h:51,
from include/linux/vmalloc.h:5,
from mm/vmalloc.c:11:
In function '__cmpxchg_case_acq_4',
inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1,
inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8,
inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2,
inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2,
inlined from 'spin_lock' at include/linux/spinlock.h:329:2,
inlined from 'find_vmap_area' at mm/vmalloc.c:1519:2:
arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=]
259 | asm volatile( \
| ^~~
arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE'
283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory")
| ^~~~~~~~~~~~~~
In file included from include/linux/spinlock.h:82:
mm/vmalloc.c: In function 'find_vmap_area':
mm/vmalloc.c:557:24: note: object 'vmap_area_lock' of size 4
557 | static DEFINE_SPINLOCK(vmap_area_lock);
| ^~~~~~~~~~~~~~
include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK'
81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
| ^
In function '__cmpxchg_case_acq_4',
inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1,
inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8,
inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2,
inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2,
inlined from 'spin_lock' at include/linux/spinlock.h:329:2,
inlined from 'find_vmap_area' at mm/vmalloc.c:1519:2:
arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=]
259 | asm volatile( \
| ^~~
arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE'
283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory")
| ^~~~~~~~~~~~~~
mm/vmalloc.c: In function 'find_vmap_area':
mm/vmalloc.c:557:24: note: object 'vmap_area_lock' of size 4
557 | static DEFINE_SPINLOCK(vmap_area_lock);
| ^~~~~~~~~~~~~~
include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK'
81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
| ^
In function '__cmpxchg_case_acq_4',
inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1,
inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8,
inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2,
inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2,
inlined from 'spin_lock' at include/linux/spinlock.h:329:2,
inlined from 'setup_vmalloc_vm' at mm/vmalloc.c:2111:2:
arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=]
259 | asm volatile( \
| ^~~
arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE'
283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory")
| ^~~~~~~~~~~~~~
mm/vmalloc.c: In function 'setup_vmalloc_vm':
mm/vmalloc.c:557:24: note: object 'vmap_area_lock' of size 4
557 | static DEFINE_SPINLOCK(vmap_area_lock);
| ^~~~~~~~~~~~~~
include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK'
81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
| ^
In function '__cmpxchg_case_acq_4',
inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1,
inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8,
inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2,
inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2,
inlined from 'spin_lock' at include/linux/spinlock.h:329:2,
inlined from 'setup_vmalloc_vm' at mm/vmalloc.c:2111:2:
arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=]
259 | asm volatile( \
| ^~~
arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE'
283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory")
| ^~~~~~~~~~~~~~
mm/vmalloc.c: In function 'setup_vmalloc_vm':
mm/vmalloc.c:557:24: note: object 'vmap_area_lock' of size 4
557 | static DEFINE_SPINLOCK(vmap_area_lock);
| ^~~~~~~~~~~~~~
include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK'
81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
| ^
In function '__cmpxchg_case_acq_4',
inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1,
vim +/start +217 mm/vmalloc.c
004cface9c1c0b Nicholas Piggin 2021-10-29 211
3eb01faed2ebb2 Nicholas Piggin 2021-10-29 212 static int vmap_range_noflush(unsigned long addr, unsigned long end,
004cface9c1c0b Nicholas Piggin 2021-10-29 213 phys_addr_t phys_addr, pgprot_t prot,
004cface9c1c0b Nicholas Piggin 2021-10-29 214 unsigned int max_page_shift)
004cface9c1c0b Nicholas Piggin 2021-10-29 215 {
004cface9c1c0b Nicholas Piggin 2021-10-29 216 pgd_t *pgd;
004cface9c1c0b Nicholas Piggin 2021-10-29 @217 unsigned long start;
004cface9c1c0b Nicholas Piggin 2021-10-29 218 unsigned long next;
004cface9c1c0b Nicholas Piggin 2021-10-29 219 int err;
004cface9c1c0b Nicholas Piggin 2021-10-29 220
004cface9c1c0b Nicholas Piggin 2021-10-29 221 might_sleep();
004cface9c1c0b Nicholas Piggin 2021-10-29 222 BUG_ON(addr >= end);
004cface9c1c0b Nicholas Piggin 2021-10-29 223
004cface9c1c0b Nicholas Piggin 2021-10-29 224 start = addr;
004cface9c1c0b Nicholas Piggin 2021-10-29 225 pgd = pgd_offset_k(addr);
004cface9c1c0b Nicholas Piggin 2021-10-29 226 do {
004cface9c1c0b Nicholas Piggin 2021-10-29 227 next = pgd_addr_end(addr, end);
004cface9c1c0b Nicholas Piggin 2021-10-29 228 err = vmap_p4d_range(pgd, addr, next, phys_addr, prot, max_page_shift);
004cface9c1c0b Nicholas Piggin 2021-10-29 229 if (err)
004cface9c1c0b Nicholas Piggin 2021-10-29 230 break;
004cface9c1c0b Nicholas Piggin 2021-10-29 231 } while (pgd++, phys_addr += (next - addr), addr = next, addr != end);
004cface9c1c0b Nicholas Piggin 2021-10-29 232
3eb01faed2ebb2 Nicholas Piggin 2021-10-29 233 return err;
3eb01faed2ebb2 Nicholas Piggin 2021-10-29 234 }
3eb01faed2ebb2 Nicholas Piggin 2021-10-29 235
:::::: The code at line 217 was first introduced by commit
:::::: 004cface9c1c0b6351473934a4ce452193e05b07 mm: Move vmap_range from mm/ioremap.c to mm/vmalloc.c
:::::: TO: Nicholas Piggin <npiggin(a)gmail.com>
:::::: CC: Yang Yingliang <yangyingliang(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:openEuler-1.0-LTS 1782/1782] mm/memory_hotplug.c:926:16: warning: unused variable 'start_pfn'
by kernel test robot 16 Sep '25
by kernel test robot 16 Sep '25
16 Sep '25
Hi Michal,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 8975e9a49fdd2f6402cc5fe68bc08d3c2b7a35a5
commit: 2f5f99f3efc5d34c37f9918c50808a4cfe36c211 [1782/1782] mm: handle uninitialized numa nodes gracefully
config: arm64-randconfig-001-20250915 (https://download.01.org/0day-ci/archive/20250916/202509160041.xVp7j0qx-lkp@…)
compiler: aarch64-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250916/202509160041.xVp7j0qx-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/202509160041.xVp7j0qx-lkp@intel.com/
All warnings (new ones prefixed by >>):
mm/memory_hotplug.c: In function '__remove_section':
mm/memory_hotplug.c:481:16: warning: variable 'start_pfn' set but not used [-Wunused-but-set-variable]
unsigned long start_pfn;
^~~~~~~~~
mm/memory_hotplug.c: In function 'hotadd_init_pgdat':
>> mm/memory_hotplug.c:926:16: warning: unused variable 'start_pfn' [-Wunused-variable]
unsigned long start_pfn = PFN_DOWN(start);
^~~~~~~~~
At top level:
>> mm/memory_hotplug.c:971:13: warning: 'rollback_node_hotadd' defined but not used [-Wunused-function]
static void rollback_node_hotadd(int nid)
^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/migrate.h:6,
from mm/memory_hotplug.c:27:
include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used [-Wunused-function]
static long __do_mbind(unsigned long start, unsigned long len,
^~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for HARDLOCKUP_DETECTOR
Depends on [n]: DEBUG_KERNEL [=n] && !S390 && (HAVE_HARDLOCKUP_DETECTOR_PERF [=n] || HAVE_HARDLOCKUP_DETECTOR_ARCH [=y])
Selected by [y]:
- SDEI_WATCHDOG [=y] && <choice> && ARM_SDE_INTERFACE [=y] && !HARDLOCKUP_CHECK_TIMESTAMP [=n]
vim +/start_pfn +926 mm/memory_hotplug.c
0bd85420087389 Tang Chen 2014-11-13 921
e13193319d3a55 Hidetoshi Seto 2009-11-17 922 /* we are OK calling __meminit stuff here - we have CONFIG_MEMORY_HOTPLUG */
2f5f99f3efc5d3 Michal Hocko 2023-11-08 923 static pg_data_t __ref *hotadd_init_pgdat(int nid, u64 start)
9af3c2dea3a3ae Yasunori Goto 2006-06-27 924 {
9af3c2dea3a3ae Yasunori Goto 2006-06-27 925 struct pglist_data *pgdat;
c8e861a531b019 Fabian Frederick 2014-06-04 @926 unsigned long start_pfn = PFN_DOWN(start);
9af3c2dea3a3ae Yasunori Goto 2006-06-27 927
a1e565aa3cfc7c Tang Chen 2013-02-22 928 pgdat = NODE_DATA(nid);
9af3c2dea3a3ae Yasunori Goto 2006-06-27 929
2f5f99f3efc5d3 Michal Hocko 2023-11-08 930 /*
2f5f99f3efc5d3 Michal Hocko 2023-11-08 931 * NODE_DATA is preallocated (free_area_init) but its internal
2f5f99f3efc5d3 Michal Hocko 2023-11-08 932 * state is not allocated completely. Add missing pieces.
2f5f99f3efc5d3 Michal Hocko 2023-11-08 933 * Completely offline nodes stay around and they just need
2f5f99f3efc5d3 Michal Hocko 2023-11-08 934 * reintialization.
2f5f99f3efc5d3 Michal Hocko 2023-11-08 935 */
2f5f99f3efc5d3 Michal Hocko 2023-11-08 936 if (pgdat->per_cpu_nodestats == &boot_nodestats) {
b0dc3a342af36f Gu Zheng 2015-03-25 937 } else {
e716f2eb24defb Mel Gorman 2017-05-03 938 /*
e716f2eb24defb Mel Gorman 2017-05-03 939 * Reset the nr_zones, order and classzone_idx before reuse.
e716f2eb24defb Mel Gorman 2017-05-03 940 * Note that kswapd will init kswapd_classzone_idx properly
e716f2eb24defb Mel Gorman 2017-05-03 941 * when it starts in the near future.
e716f2eb24defb Mel Gorman 2017-05-03 942 */
b0dc3a342af36f Gu Zheng 2015-03-25 943 pgdat->nr_zones = 0;
38087d9b036098 Mel Gorman 2016-07-28 944 pgdat->kswapd_order = 0;
38087d9b036098 Mel Gorman 2016-07-28 945 pgdat->kswapd_classzone_idx = 0;
a1e565aa3cfc7c Tang Chen 2013-02-22 946 }
9af3c2dea3a3ae Yasunori Goto 2006-06-27 947
2f5f99f3efc5d3 Michal Hocko 2023-11-08 948 pgdat->node_start_pfn = 0;
03e85f9d5f1f8c Oscar Salvador 2018-08-21 949
9af3c2dea3a3ae Yasunori Goto 2006-06-27 950 /* init node's zones as empty zones, we don't have any present pages.*/
03e85f9d5f1f8c Oscar Salvador 2018-08-21 951 free_area_init_core_hotplug(nid);
5830169f47269f Reza Arbab 2016-08-11 952 pgdat->per_cpu_nodestats = alloc_percpu(struct per_cpu_nodestat);
9af3c2dea3a3ae Yasunori Goto 2006-06-27 953
959ecc48fc7506 KAMEZAWA Hiroyuki 2011-06-15 954 /*
959ecc48fc7506 KAMEZAWA Hiroyuki 2011-06-15 955 * The node we allocated has no zone fallback lists. For avoiding
959ecc48fc7506 KAMEZAWA Hiroyuki 2011-06-15 956 * to access not-initialized zonelist, build here.
959ecc48fc7506 KAMEZAWA Hiroyuki 2011-06-15 957 */
72675e131eb418 Michal Hocko 2017-09-06 958 build_all_zonelists(pgdat);
959ecc48fc7506 KAMEZAWA Hiroyuki 2011-06-15 959
0bd85420087389 Tang Chen 2014-11-13 960 /*
0bd85420087389 Tang Chen 2014-11-13 961 * When memory is hot-added, all the memory is in offline state. So
0bd85420087389 Tang Chen 2014-11-13 962 * clear all zones' present_pages because they will be updated in
0bd85420087389 Tang Chen 2014-11-13 963 * online_pages() and offline_pages().
0bd85420087389 Tang Chen 2014-11-13 964 */
03e85f9d5f1f8c Oscar Salvador 2018-08-21 965 reset_node_managed_pages(pgdat);
0bd85420087389 Tang Chen 2014-11-13 966 reset_node_present_pages(pgdat);
0bd85420087389 Tang Chen 2014-11-13 967
9af3c2dea3a3ae Yasunori Goto 2006-06-27 968 return pgdat;
9af3c2dea3a3ae Yasunori Goto 2006-06-27 969 }
9af3c2dea3a3ae Yasunori Goto 2006-06-27 970
b9ff036082cd17 Oscar Salvador 2018-08-17 @971 static void rollback_node_hotadd(int nid)
9af3c2dea3a3ae Yasunori Goto 2006-06-27 972 {
b9ff036082cd17 Oscar Salvador 2018-08-17 973 pg_data_t *pgdat = NODE_DATA(nid);
b9ff036082cd17 Oscar Salvador 2018-08-17 974
9af3c2dea3a3ae Yasunori Goto 2006-06-27 975 arch_refresh_nodedata(nid, NULL);
5830169f47269f Reza Arbab 2016-08-11 976 free_percpu(pgdat->per_cpu_nodestats);
9af3c2dea3a3ae Yasunori Goto 2006-06-27 977 arch_free_nodedata(pgdat);
9af3c2dea3a3ae Yasunori Goto 2006-06-27 978 return;
9af3c2dea3a3ae Yasunori Goto 2006-06-27 979 }
9af3c2dea3a3ae Yasunori Goto 2006-06-27 980
:::::: The code at line 926 was first introduced by commit
:::::: c8e861a531b0199dc6ef9e402e29c474dfa507ce mm/memory_hotplug.c: use PFN_DOWN()
:::::: TO: Fabian Frederick <fabf(a)skynet.be>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6] BUILD REGRESSION fa9b22508a3812c9e52816d31a20a90b7136a252
by kernel test robot 15 Sep '25
by kernel test robot 15 Sep '25
15 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: fa9b22508a3812c9e52816d31a20a90b7136a252 !17985 Updates of HiSilicon Uncore L3C PMU
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508210857.2ksxM8sj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508211208.pMTZ4FXY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508271625.s6br6gQM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282115.FeEkHc1L-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508282129.EDKxrS6o-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292128.aB60Q1zq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508292223.h9TBg6O5-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300025.VFiF17aE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300119.FVignUFM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508300319.Biz2ibcG-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508301353.sMr1cJLt-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020626.0JaPbty4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020837.kUUC5gs7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509090200.9YmQvn3N-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509090252.kSGtR6Xq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091546.3rklFVnn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509091707.YxEsJCE3-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509100832.WdxoWFgC-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101135.XUImZv6b-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101407.yFi7BLHu-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509101646.6hsrX8dz-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509122354.VZ9a8UaA-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509130621.eY2Y6kXo-lkp@intel.com
arch/arm64/kernel/idle.c:51:5: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
arch/arm64/kvm/sys_regs.c:282:26: warning: unused variable 'val' [-Wunused-variable]
drivers/i2c/busses/i2c-zhaoxin.c:176:5: warning: no previous prototype for function 'zxi2c_fifo_irq_xfer' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:314:5: warning: no previous prototype for function 'zxi2c_xfer' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:123:6: warning: no previous prototype for function 'wakeup_and_poll' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:130:5: warning: no previous prototype for function 'polling_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:147:5: warning: no previous prototype for function 'polling_awaken_thread' [-Wmissing-prototypes]
drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/pci/pci.c:181:17: error: expected ')'
drivers/pci/pci.c:181:17: error: redefinition of 'suspend_state_t' as different kind of symbol
include/linux/fortify-string.h:507:4: warning: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
include/linux/fortify-string.h:597:4: warning: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
kernel/dma/phytium/pswiotlb-mapping.c:400:30: warning: no previous prototype for function 'pswiotlb_clone_orig_dma_ops' [-Wmissing-prototypes]
kernel/dma/phytium/pswiotlb.c:1005: warning: Function parameter or member 'nid' not described in 'pswiotlb_area_find_slots'
kernel/dma/phytium/pswiotlb.c:1115: warning: Function parameter or member 'nid' not described in 'pswiotlb_pool_find_slots'
kernel/dma/phytium/pswiotlb.c:1153: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_slots'
kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used [-Wunused-but-set-variable]
kernel/dma/phytium/pswiotlb.c:1523: warning: Function parameter or member 'dev' not described in 'is_pswiotlb_allocated'
kernel/dma/phytium/pswiotlb.c:1542: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_base'
kernel/dma/phytium/pswiotlb.c:1556: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_limit'
kernel/dma/phytium/pswiotlb.c:474: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_tlb'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'transient' not described in 'pswiotlb_alloc_pool'
kernel/dma/phytium/pswiotlb.c:806: warning: Function parameter or member 'nid' not described in 'alloc_dma_pages'
kernel/dma/phytium/pswiotlb.c:836: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_pool'
kernel/sched/fair.c:15434:12: warning: no previous prototype for function 'is_sibling_idle' [-Wmissing-prototypes]
mm/damon/core.c:116:5: warning: no previous prototype for function 'damon_target_init_kfifo' [-Wmissing-prototypes]
mm/damon/core.c:132:6: warning: no previous prototype for function 'damon_target_deinit_kfifo' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for function 'force_swapin_vma' [-Wmissing-prototypes]
mm/mem_sampling.c:72:6: warning: no previous prototype for function 'mem_sampling_record_cb_register' [-Wmissing-prototypes]
mm/mem_sampling.c:89:6: warning: no previous prototype for function 'mem_sampling_record_cb_unregister' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for function 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1611: warning: expecting prototype for memblock_alloc_internal(). Prototype was for __memblock_alloc_internal() instead
mm/memcontrol.c:3496:6: warning: no previous prototype for function 'hisi_oom_recover' [-Wmissing-prototypes]
mm/memcontrol.c:4847:12: warning: 'mem_cgroup_check_swap_for_v1' defined but not used [-Wunused-function]
mm/mempolicy.c:1123:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/mempolicy.c:1123:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/oom_kill.c:319: warning: Function parameter or member 'oc' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'points' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'task' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: expecting prototype for We choose the task in low(). Prototype was for oom_next_task() instead
mm/page_cache_limit.c:61:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/share_pool.c:1510: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc'
mm/share_pool.c:2425: warning: duplicate section name 'Return'
mm/share_pool.c:2796:7: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable]
mm/share_pool.c:2844: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare'
mm/share_pool.c:975: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead
mm/vmalloc.c:4976: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
net/oenetcls/oenetcls_flow.c:18:6: warning: no previous prototype for function 'is_oecls_config_netdev' [-Wmissing-prototypes]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-kernel-idle.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-cq_polling
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_awaken_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-polling_thread
| |-- drivers-infiniband-core-ib_core_cq_poll.c:warning:no-previous-prototype-for-function-wakeup_and_poll
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- kernel-dma-phytium-pswiotlb-mapping.c:warning:no-previous-prototype-for-function-pswiotlb_clone_orig_dma_ops
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_base
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-default_pswiotlb_limit
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-dev-not-described-in-is_pswiotlb_allocated
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-alloc_dma_pages
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_alloc_tlb
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_area_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-nid-not-described-in-pswiotlb_pool_find_slots
| |-- kernel-dma-phytium-pswiotlb.c:warning:Function-parameter-or-member-transient-not-described-in-pswiotlb_alloc_pool
| |-- kernel-dma-phytium-pswiotlb.c:warning:variable-cpuid-set-but-not-used
| |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-is_sibling_idle
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_deinit_kfifo
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_init_kfifo
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_register
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_unregister
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-function-hisi_oom_recover
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-share_pool.c:warning:Function-parameter-or-member-node_id-not-described-in-sp_area_alloc
| |-- mm-share_pool.c:warning:Function-parameter-or-member-spg_id-not-described-in-mg_sp_unshare
| |-- mm-share_pool.c:warning:duplicate-section-name-Return
| |-- mm-share_pool.c:warning:expecting-prototype-for-mp_sp_group_id_by_pid().-Prototype-was-for-mg_sp_group_id_by_pid()-instead
| |-- mm-share_pool.c:warning:variable-is_hugepage-set-but-not-used
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- arm64-allnoconfig
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-defconfig
| |-- arch-arm64-kvm-sys_regs.c:warning:unused-variable-val
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-001-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-002-20250915
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-004-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allmodconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- loongarch-allnoconfig
| |-- arch-loongarch-kernel-efi.c:error:assigning-to-pmd_t-from-incompatible-type-int
| |-- arch-loongarch-kernel-efi.c:error:call-to-undeclared-function-pmd_mkhuge-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- arch-loongarch-kernel-legacy_boot.c:error:call-to-undeclared-function-nid_to_addrbase-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-pci-pci.c:error:expected-)
| |-- drivers-pci-pci.c:error:redefinition-of-suspend_state_t-as-different-kind-of-symbol
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allyesconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- loongarch-defconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-001-20250915
| |-- arch-loongarch-kernel-efi.c:error:assigning-to-pmd_t-from-incompatible-type-int
| |-- arch-loongarch-kernel-efi.c:error:call-to-undeclared-function-pmd_mkhuge-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- arch-loongarch-kernel-legacy_boot.c:error:call-to-undeclared-function-nid_to_addrbase-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-002-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:mem_cgroup_check_swap_for_v1-defined-but-not-used
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-r123-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:mem_cgroup_check_swap_for_v1-defined-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allnoconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allyesconfig
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-oenetcls-oenetcls_flow.c:warning:no-previous-prototype-for-function-is_oecls_config_netdev
|-- x86_64-buildonly-randconfig-001-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-002-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-003-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-004-20250915
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-005-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-006-20250915
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-defconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-randconfig-121-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-randconfig-122-20250915
| |-- drivers-i2c-busses-i2c-zhaoxin.c:sparse:sparse:symbol-zxi2c_fifo_irq_xfer-was-not-declared.-Should-it-be-static
| |-- drivers-i2c-busses-i2c-zhaoxin.c:sparse:sparse:symbol-zxi2c_xfer-was-not-declared.-Should-it-be-static
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-randconfig-123-20250915
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-randconfig-161-20250915
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
`-- x86_64-randconfig-r133-20250915
|-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
|-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
|-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
|-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
`-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
elapsed time: 724m
configs tested: 22
configs skipped: 117
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 defconfig gcc-15.1.0
arm64 randconfig-001-20250915 clang-22
arm64 randconfig-002-20250915 clang-22
arm64 randconfig-003-20250915 gcc-6.5.0
arm64 randconfig-004-20250915 gcc-11.5.0
loongarch allmodconfig clang-19
loongarch allnoconfig clang-22
loongarch defconfig clang-19
loongarch randconfig-001-20250915 clang-22
loongarch randconfig-002-20250915 gcc-12.5.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250915 clang-20
x86_64 buildonly-randconfig-002-20250915 gcc-12
x86_64 buildonly-randconfig-003-20250915 gcc-14
x86_64 buildonly-randconfig-004-20250915 clang-20
x86_64 buildonly-randconfig-005-20250915 clang-20
x86_64 buildonly-randconfig-006-20250915 gcc-14
x86_64 defconfig gcc-14
x86_64 rhel-9.4-rust clang-20
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0