Kernel
Threads by month
- ----- 2026 -----
- February
- January
- ----- 2025 -----
- December
- 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
- 36 participants
- 22827 discussions
[openeuler:OLK-6.6 2/2] drivers/crypto/ccp/hygon/hct.c:233:18: sparse: sparse: symbol 'hct_mdev_type' was not declared. Should it be static?
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: c74ae2c5da57becf3f41c596d79b3dd30fa1baa6 [2/2] hct: add mediated ccp driver support for hygon crypto technology.
config: x86_64-randconfig-123-20251223 (https://download.01.org/0day-ci/archive/20251223/202512232143.LPloCdRW-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/20251223/202512232143.LPloCdRW-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/202512232143.LPloCdRW-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/crypto/ccp/hygon/hct.c:233:18: sparse: sparse: symbol 'hct_mdev_type' was not declared. Should it be static?
>> drivers/crypto/ccp/hygon/hct.c:237:18: sparse: sparse: symbol 'hct_mdev_types' was not declared. Should it be static?
>> drivers/crypto/ccp/hygon/hct.c:459:23: sparse: sparse: cast to restricted __le32
>> drivers/crypto/ccp/hygon/hct.c:1204:20: sparse: sparse: symbol 'hct_mdev_driver' was not declared. Should it be static?
>> drivers/crypto/ccp/hygon/hct.c:1333:13: sparse: sparse: symbol 'hct_pin_memory' was not declared. Should it be static?
vim +/hct_mdev_type +233 drivers/crypto/ccp/hygon/hct.c
232
> 233 struct mdev_type hct_mdev_type = {
234 .sysfs_name = "1",
235 .pretty_name = "hct mdev type"
236 };
> 237 struct mdev_type *hct_mdev_types[] = {
238 &hct_mdev_type
239 };
240
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
stable inclusion
from stable-v6.6.119
commit e81e6d6d99b16dae11adbeda5c996317942a940c
category: bugfix
bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11609
CVE: CVE-2025-68173
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 4099b98203d6b33d990586542fa5beee408032a3 ]
A soft lockup was observed when loading amdgpu module.
If a module has a lot of tracable functions, multiple calls
to kallsyms_lookup can spend too much time in RCU critical
section and with disabled preemption, causing kernel panic.
This is the same issue that was fixed in
commit d0b24b4e91fc ("ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY
kernels") and commit 42ea22e754ba ("ftrace: Add cond_resched() to
ftrace_graph_set_hash()").
Fix it the same way by adding cond_resched() in ftrace_module_enable.
Link: https://lore.kernel.org/aMQD9_lxYmphT-up@vova-pc
Signed-off-by: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/trace/ftrace.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 15785a729a0c..398992597685 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -6873,6 +6873,8 @@ void ftrace_module_enable(struct module *mod)
if (!within_module(rec->ip, mod))
break;
+ cond_resched();
+
/* Weak functions should still be ignored */
if (!test_for_valid_rec(rec)) {
/* Clear all other flags. Should not be enabled anyway */
--
2.34.1
2
1
[PATCH] [Backport] nvmet-fc: avoid scheduling association deletion twice
by Chen Jinghuang 23 Dec '25
by Chen Jinghuang 23 Dec '25
23 Dec '25
From: Daniel Wagner <wagi(a)kernel.org>
stable inclusion
from stable-v6.6.117
commit 601ed47b2363c24d948d7bac0c23abc8bd459570
category: bugfix
bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11412
CVE: CVE-2025-40343
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
----------------------------------------------------------------------
[ Upstream commit f2537be4f8421f6495edfa0bc284d722f253841d ]
When forcefully shutting down a port via the configfs interface,
nvmet_port_subsys_drop_link() first calls nvmet_port_del_ctrls() and
then nvmet_disable_port(). Both functions will eventually schedule all
remaining associations for deletion.
The current implementation checks whether an association is about to be
removed, but only after the work item has already been scheduled. As a
result, it is possible for the first scheduled work item to free all
resources, and then for the same work item to be scheduled again for
deletion.
Because the association list is an RCU list, it is not possible to take
a lock and remove the list entry directly, so it cannot be looked up
again. Instead, a flag (terminating) must be used to determine whether
the association is already in the process of being deleted.
Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki(a)wdc.com>
Closes: https://lore.kernel.org/all/rsdinhafrtlguauhesmrrzkybpnvwantwmyfq2ih5areggh…
Reviewed-by: Hannes Reinecke <hare(a)suse.de>
Signed-off-by: Daniel Wagner <wagi(a)kernel.org>
Signed-off-by: Keith Busch <kbusch(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Chen Jinghuang <chenjinghuang2(a)huawei.com>
---
drivers/nvme/target/fc.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c
index a15e764bae35..188b9f1bdaca 100644
--- a/drivers/nvme/target/fc.c
+++ b/drivers/nvme/target/fc.c
@@ -1090,6 +1090,14 @@ nvmet_fc_delete_assoc_work(struct work_struct *work)
static void
nvmet_fc_schedule_delete_assoc(struct nvmet_fc_tgt_assoc *assoc)
{
+ int terminating;
+
+ terminating = atomic_xchg(&assoc->terminating, 1);
+
+ /* if already terminating, do nothing */
+ if (terminating)
+ return;
+
nvmet_fc_tgtport_get(assoc->tgtport);
if (!queue_work(nvmet_wq, &assoc->del_work))
nvmet_fc_tgtport_put(assoc->tgtport);
@@ -1209,13 +1217,7 @@ nvmet_fc_delete_target_assoc(struct nvmet_fc_tgt_assoc *assoc)
{
struct nvmet_fc_tgtport *tgtport = assoc->tgtport;
unsigned long flags;
- int i, terminating;
-
- terminating = atomic_xchg(&assoc->terminating, 1);
-
- /* if already terminating, do nothing */
- if (terminating)
- return;
+ int i;
spin_lock_irqsave(&tgtport->lock, flags);
list_del_rcu(&assoc->a_list);
--
2.34.1
1
0
[PATCH OLK-6.6 v2] bpf: account for current allocated stack depth in widen_imprecise_scalars()
by Pu Lehui 23 Dec '25
by Pu Lehui 23 Dec '25
23 Dec '25
From: Eduard Zingerman <eddyz87(a)gmail.com>
stable inclusion
from stable-v6.6.117
commit 64b12dca2b0abcb5fc0542887d18b926ea5cf711
category: bugfix
bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11581
CVE: CVE-2025-68208
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit b0c8e6d3d866b6a7f73877f71968dbffd27b7785 ]
The usage pattern for widen_imprecise_scalars() looks as follows:
prev_st = find_prev_entry(env, ...);
queued_st = push_stack(...);
widen_imprecise_scalars(env, prev_st, queued_st);
Where prev_st is an ancestor of the queued_st in the explored states
tree. This ancestor is not guaranteed to have same allocated stack
depth as queued_st. E.g. in the following case:
def main():
for i in 1..2:
foo(i) // same callsite, differnt param
def foo(i):
if i == 1:
use 128 bytes of stack
iterator based loop
Here, for a second 'foo' call prev_st->allocated_stack is 128,
while queued_st->allocated_stack is much smaller.
widen_imprecise_scalars() needs to take this into account and avoid
accessing bpf_verifier_state->frame[*]->stack out of bounds.
Fixes: 2793a8b015f7 ("bpf: exact states comparison for iterator convergence checks")
Reported-by: Emil Tsalapatis <emil(a)etsalapatis.com>
Signed-off-by: Eduard Zingerman <eddyz87(a)gmail.com>
Link: https://lore.kernel.org/r/20251114025730.772723-1-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
kernel/bpf/verifier.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 26086c893dfb..ce1f5a9bdd9a 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -7918,7 +7918,7 @@ static int widen_imprecise_scalars(struct bpf_verifier_env *env,
struct bpf_verifier_state *cur)
{
struct bpf_func_state *fold, *fcur;
- int i, fr;
+ int i, fr, num_slots;
reset_idmap_scratch(env);
for (fr = old->curframe; fr >= 0; fr--) {
@@ -7931,7 +7931,9 @@ static int widen_imprecise_scalars(struct bpf_verifier_env *env,
&fcur->regs[i],
&env->idmap_scratch);
- for (i = 0; i < fold->allocated_stack / BPF_REG_SIZE; i++) {
+ num_slots = min(fold->allocated_stack / BPF_REG_SIZE,
+ fcur->allocated_stack / BPF_REG_SIZE);
+ for (i = 0; i < num_slots; i++) {
if (!is_spilled_reg(&fold->stack[i]) ||
!is_spilled_reg(&fcur->stack[i]))
continue;
--
2.34.1
2
1
From: Eric Dumazet <edumazet(a)google.com>
stable inclusion
from stable-v6.6.117
commit baa61dcaa50b7141048c8d2aede7fe9ed8f21d11
category: bugfix
bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11594
CVE: CVE-2025-68200
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 4ef92743625818932b9c320152b58274c05e5053 ]
syzbot found that cls_bpf_classify() is able to change
tc_skb_cb(skb)->drop_reason triggering a warning in sk_skb_reason_drop().
WARNING: CPU: 0 PID: 5965 at net/core/skbuff.c:1192 __sk_skb_reason_drop net/core/skbuff.c:1189 [inline]
WARNING: CPU: 0 PID: 5965 at net/core/skbuff.c:1192 sk_skb_reason_drop+0x76/0x170 net/core/skbuff.c:1214
struct tc_skb_cb has been added in commit ec624fe740b4 ("net/sched:
Extend qdisc control block with tc control block"), which added a wrong
interaction with db58ba459202 ("bpf: wire in data and data_end for
cls_act_bpf").
drop_reason was added later.
Add bpf_prog_run_data_pointers() helper to save/restore the net_sched
storage colliding with BPF data_meta/data_end.
Fixes: ec624fe740b4 ("net/sched: Extend qdisc control block with tc control block")
Reported-by: syzbot <syzkaller(a)googlegroups.com>
Closes: https://lore.kernel.org/netdev/6913437c.a70a0220.22f260.013b.GAE@google.com/
Signed-off-by: Eric Dumazet <edumazet(a)google.com>
Signed-off-by: Martin KaFai Lau <martin.lau(a)kernel.org>
Reviewed-by: Victor Nogueira <victor(a)mojatatu.com>
Acked-by: Jamal Hadi Salim <jhs(a)mojatatu.com>
Link: https://patch.msgid.link/20251112125516.1563021-1-edumazet@google.com
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Conflicts:
net/sched/act_bpf.c
net/sched/cls_bpf.c
[ctx conflicts]
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
include/linux/filter.h | 20 ++++++++++++++++++++
net/sched/act_bpf.c | 6 ++----
net/sched/cls_bpf.c | 6 ++----
3 files changed, 24 insertions(+), 8 deletions(-)
diff --git a/include/linux/filter.h b/include/linux/filter.h
index a7c0caa8b7ad..4ae423d8533f 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -685,6 +685,26 @@ static inline void bpf_compute_data_pointers(struct sk_buff *skb)
cb->data_end = skb->data + skb_headlen(skb);
}
+static inline int bpf_prog_run_data_pointers(
+ const struct bpf_prog *prog,
+ struct sk_buff *skb)
+{
+ struct bpf_skb_data_end *cb = (struct bpf_skb_data_end *)skb->cb;
+ void *save_data_meta, *save_data_end;
+ int res;
+
+ save_data_meta = cb->data_meta;
+ save_data_end = cb->data_end;
+
+ bpf_compute_data_pointers(skb);
+ res = bpf_prog_run(prog, skb);
+
+ cb->data_meta = save_data_meta;
+ cb->data_end = save_data_end;
+
+ return res;
+}
+
/* Similar to bpf_compute_data_pointers(), except that save orginal
* data in cb->data and cb->meta_data for restore.
*/
diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c
index b0455fda7d0b..223cc157312a 100644
--- a/net/sched/act_bpf.c
+++ b/net/sched/act_bpf.c
@@ -47,12 +47,10 @@ TC_INDIRECT_SCOPE int tcf_bpf_act(struct sk_buff *skb,
filter = rcu_dereference(prog->filter);
if (at_ingress) {
__skb_push(skb, skb->mac_len);
- bpf_compute_data_pointers(skb);
- filter_res = bpf_prog_run(filter, skb);
+ filter_res = bpf_prog_run_data_pointers(filter, skb);
__skb_pull(skb, skb->mac_len);
} else {
- bpf_compute_data_pointers(skb);
- filter_res = bpf_prog_run(filter, skb);
+ filter_res = bpf_prog_run_data_pointers(filter, skb);
}
if (unlikely(!skb->tstamp && skb->mono_delivery_time))
skb->mono_delivery_time = 0;
diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c
index 382c7a71f81f..05f718dd09a6 100644
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
@@ -97,12 +97,10 @@ TC_INDIRECT_SCOPE int cls_bpf_classify(struct sk_buff *skb,
} else if (at_ingress) {
/* It is safe to push/pull even if skb_shared() */
__skb_push(skb, skb->mac_len);
- bpf_compute_data_pointers(skb);
- filter_res = bpf_prog_run(prog->filter, skb);
+ filter_res = bpf_prog_run_data_pointers(prog->filter, skb);
__skb_pull(skb, skb->mac_len);
} else {
- bpf_compute_data_pointers(skb);
- filter_res = bpf_prog_run(prog->filter, skb);
+ filter_res = bpf_prog_run_data_pointers(prog->filter, skb);
}
if (unlikely(!skb->tstamp && skb->mono_delivery_time))
skb->mono_delivery_time = 0;
--
2.34.1
2
1
[PATCH OLK-6.6] [Backport] nvmet-fc: avoid scheduling association deletion twice
by Chen Jinghuang 23 Dec '25
by Chen Jinghuang 23 Dec '25
23 Dec '25
From: Daniel Wagner <wagi(a)kernel.org>
stable inclusion
from stable-v6.6.117
commit 601ed47b2363c24d948d7bac0c23abc8bd459570
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDBQL1
CVE: CVE-2025-40343
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
----------------------------------------------------------------------
[ Upstream commit f2537be4f8421f6495edfa0bc284d722f253841d ]
When forcefully shutting down a port via the configfs interface,
nvmet_port_subsys_drop_link() first calls nvmet_port_del_ctrls() and
then nvmet_disable_port(). Both functions will eventually schedule all
remaining associations for deletion.
The current implementation checks whether an association is about to be
removed, but only after the work item has already been scheduled. As a
result, it is possible for the first scheduled work item to free all
resources, and then for the same work item to be scheduled again for
deletion.
Because the association list is an RCU list, it is not possible to take
a lock and remove the list entry directly, so it cannot be looked up
again. Instead, a flag (terminating) must be used to determine whether
the association is already in the process of being deleted.
Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki(a)wdc.com>
Closes: https://lore.kernel.org/all/rsdinhafrtlguauhesmrrzkybpnvwantwmyfq2ih5areggh…
Reviewed-by: Hannes Reinecke <hare(a)suse.de>
Signed-off-by: Daniel Wagner <wagi(a)kernel.org>
Signed-off-by: Keith Busch <kbusch(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Chen Jinghuang <chenjinghuang2(a)huawei.com>
---
drivers/nvme/target/fc.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c
index a15e764bae35..188b9f1bdaca 100644
--- a/drivers/nvme/target/fc.c
+++ b/drivers/nvme/target/fc.c
@@ -1090,6 +1090,14 @@ nvmet_fc_delete_assoc_work(struct work_struct *work)
static void
nvmet_fc_schedule_delete_assoc(struct nvmet_fc_tgt_assoc *assoc)
{
+ int terminating;
+
+ terminating = atomic_xchg(&assoc->terminating, 1);
+
+ /* if already terminating, do nothing */
+ if (terminating)
+ return;
+
nvmet_fc_tgtport_get(assoc->tgtport);
if (!queue_work(nvmet_wq, &assoc->del_work))
nvmet_fc_tgtport_put(assoc->tgtport);
@@ -1209,13 +1217,7 @@ nvmet_fc_delete_target_assoc(struct nvmet_fc_tgt_assoc *assoc)
{
struct nvmet_fc_tgtport *tgtport = assoc->tgtport;
unsigned long flags;
- int i, terminating;
-
- terminating = atomic_xchg(&assoc->terminating, 1);
-
- /* if already terminating, do nothing */
- if (terminating)
- return;
+ int i;
spin_lock_irqsave(&tgtport->lock, flags);
list_del_rcu(&assoc->a_list);
--
2.34.1
2
1
From: 岳智超 <yuezhichao1(a)h-partners.com>
driver inclusion
category: feature
bugzilla: https://atomgit.com/openeuler/kernel/issues/8290
CVE: NA
--------------------------------
Add thread irq for io queue
Signed-off-by: 岳智超 <yuezhichao1(a)h-partners.com>
---
drivers/scsi/hisi_raid/hiraid.h | 1 +
drivers/scsi/hisi_raid/hiraid_main.c | 60 ++++++++++++++++++++++++++--
2 files changed, 58 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/hisi_raid/hiraid.h b/drivers/scsi/hisi_raid/hiraid.h
index 04b2e25..b786066 100644
--- a/drivers/scsi/hisi_raid/hiraid.h
+++ b/drivers/scsi/hisi_raid/hiraid.h
@@ -686,6 +686,7 @@ struct hiraid_queue {
atomic_t inflight;
void *sense_buffer_virt;
dma_addr_t sense_buffer_phy;
+ s32 pci_irq;
struct dma_pool *prp_small_pool;
};
diff --git a/drivers/scsi/hisi_raid/hiraid_main.c b/drivers/scsi/hisi_raid/hiraid_main.c
index 2f33339..ee5cb10 100644
--- a/drivers/scsi/hisi_raid/hiraid_main.c
+++ b/drivers/scsi/hisi_raid/hiraid_main.c
@@ -107,6 +107,13 @@ static u32 log_debug_switch;
module_param(log_debug_switch, uint, 0644);
MODULE_PARM_DESC(log_debug_switch, "set log state, default zero for switch off");
+static bool threaded_irq = true;
+module_param(threaded_irq, bool, 0444);
+MODULE_PARM_DESC(threaded_irq, "use threaded irq for io queue, default on");
+
+static u32 poll_delay_min = 9;
+static u32 poll_delay_max = 19;
+
static int extra_pool_num_set(const char *val, const struct kernel_param *kp)
{
u8 n = 0;
@@ -152,7 +159,7 @@ static struct workqueue_struct *work_queue;
__func__, ##__VA_ARGS__); \
} while (0)
-#define HIRAID_DRV_VERSION "1.1.0.1"
+#define HIRAID_DRV_VERSION "1.1.0.2"
#define ADMIN_TIMEOUT (admin_tmout * HZ)
#define USRCMD_TIMEOUT (180 * HZ)
@@ -1305,6 +1312,7 @@ static int hiraid_alloc_queue(struct hiraid_dev *hdev, u16 qid, u16 depth)
hiraidq->q_depth = depth;
hiraidq->qid = qid;
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
hdev->queue_count++;
return 0;
@@ -1631,6 +1639,39 @@ static irqreturn_t hiraid_handle_irq(int irq, void *data)
return ret;
}
+static irqreturn_t hiraid_io_poll(int irq, void *data)
+{
+ struct hiraid_queue *hiraidq = data;
+ irqreturn_t ret = IRQ_NONE;
+ u16 start, end;
+
+ do {
+ spin_lock(&hiraidq->cq_lock);
+ hiraid_process_cq(hiraidq, &start, &end, -1);
+ hiraidq->last_cq_head = hiraidq->cq_head;
+ spin_unlock(&hiraidq->cq_lock);
+
+ if (start != end) {
+ hiraid_complete_cqes(hiraidq, start, end);
+ ret = IRQ_HANDLED;
+ }
+ usleep_range(poll_delay_min, poll_delay_max);
+ } while (start != end);
+ enable_irq(hiraidq->pci_irq);
+ return ret;
+}
+
+static irqreturn_t hiraid_io_irq(int irq, void *data)
+{
+ struct hiraid_queue *q = data;
+
+ if (hiraid_cqe_pending(q)) {
+ disable_irq_nosync(q->pci_irq);
+ return IRQ_WAKE_THREAD;
+ }
+ return IRQ_NONE;
+}
+
static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
{
struct hiraid_queue *adminq = &hdev->queues[0];
@@ -1666,9 +1707,11 @@ static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
adminq->cq_vector = -1;
+ adminq->pci_irq = -1;
return ret;
}
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hiraid_init_queue(adminq, 0);
dev_info(hdev->dev, "setup admin queue success, queuecount[%d] online[%d] pagesize[%d]\n",
@@ -1937,14 +1980,23 @@ static int hiraid_create_queue(struct hiraid_queue *hiraidq, u16 qid)
goto delete_cq;
hiraidq->cq_vector = cq_vector;
- ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq, NULL,
- hiraidq, "hiraid%d_q%d", hdev->instance, qid);
+
+ if (threaded_irq)
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_io_irq,
+ hiraid_io_poll, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
+ else
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq,
+ NULL, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
if (ret) {
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
dev_err(hdev->dev, "request queue[%d] irq failed\n", qid);
goto delete_sq;
}
+ hiraidq->pci_irq = pci_irq_vector(hdev->pdev, hiraidq->cq_vector);
hiraid_init_queue(hiraidq, qid);
return 0;
@@ -2094,10 +2146,12 @@ static int hiraid_setup_io_queues(struct hiraid_dev *hdev)
adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
dev_err(hdev->dev, "request admin irq failed\n");
+ adminq->pci_irq = -1;
adminq->cq_vector = -1;
return ret;
}
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hdev->online_queues++;
for (i = hdev->queue_count; i <= hdev->max_qid; i++) {
--
2.45.1.windows.1
2
1
23 Dec '25
driver inclusion
category: feature
bugzilla: https://atomgit.com/openeuler/kernel/issues/8292
----------------------------------------------------------------------
The non-strict smmu mode has significant performance gains and can
resolve the nvme soft lockup problem. We enable it by default.
Currently, many peripherals are faster than before. For example, the top
speed of the older netcard is 10Gb/s, and now it's more than 25Gb/s. But
when iommu page-table mapping enabled, it's hard to reach the top speed
in strict mode, because of frequently map and unmap operations. In order
to keep abreast of the times, I think it's better to set non-strict as
default.
Below it's our iperf performance data of 25Gb netcard:
strict mode: 18-20 Gb/s
non-strict mode: 23.5 Gb/s
Qinxin Xia (1):
iommu: set the default iommu-dma mode as non-strict
Documentation/admin-guide/kernel-parameters.txt | 2 +-
arch/arm64/configs/openeuler_defconfig | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
--
2.33.0
2
2
From: 岳智超 <yuezhichao1(a)h-partners.com>
driver inclusion
category: feature
bugzilla: https://atomgit.com/openeuler/kernel/issues/8291
CVE: NA
--------------------------------
Add thread irq for io queue
Signed-off-by: 岳智超 <yuezhichao1(a)h-partners.com>
---
drivers/scsi/hisi_raid/hiraid.h | 1 +
drivers/scsi/hisi_raid/hiraid_main.c | 61 ++++++++++++++++++++++++++--
2 files changed, 58 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/hisi_raid/hiraid.h b/drivers/scsi/hisi_raid/hiraid.h
index 1ebc3dd..bc4e05a 100644
--- a/drivers/scsi/hisi_raid/hiraid.h
+++ b/drivers/scsi/hisi_raid/hiraid.h
@@ -683,6 +683,7 @@ struct hiraid_queue {
atomic_t inflight;
void *sense_buffer_virt;
dma_addr_t sense_buffer_phy;
+ s32 pci_irq;
struct dma_pool *prp_small_pool;
};
diff --git a/drivers/scsi/hisi_raid/hiraid_main.c b/drivers/scsi/hisi_raid/hiraid_main.c
index f84182f..ee25893 100644
--- a/drivers/scsi/hisi_raid/hiraid_main.c
+++ b/drivers/scsi/hisi_raid/hiraid_main.c
@@ -107,6 +107,13 @@ static u32 log_debug_switch;
module_param(log_debug_switch, uint, 0644);
MODULE_PARM_DESC(log_debug_switch, "set log state, default zero for switch off");
+static bool threaded_irq = true;
+module_param(threaded_irq, bool, 0444);
+MODULE_PARM_DESC(threaded_irq, "use threaded irq for io queue, default on");
+
+static u32 poll_delay_min = 9;
+static u32 poll_delay_max = 19;
+
static int extra_pool_num_set(const char *val, const struct kernel_param *kp)
{
u8 n = 0;
@@ -153,7 +160,7 @@ static struct workqueue_struct *work_queue;
__func__, ##__VA_ARGS__); \
} while (0)
-#define HIRAID_DRV_VERSION "1.1.0.0"
+#define HIRAID_DRV_VERSION "1.1.0.1"
#define ADMIN_TIMEOUT (admin_tmout * HZ)
#define USRCMD_TIMEOUT (180 * HZ)
@@ -1305,6 +1312,7 @@ static int hiraid_alloc_queue(struct hiraid_dev *hdev, u16 qid, u16 depth)
hiraidq->q_depth = depth;
hiraidq->qid = qid;
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
hdev->queue_count++;
return 0;
@@ -1646,6 +1654,39 @@ static irqreturn_t hiraid_handle_irq(int irq, void *data)
return ret;
}
+static irqreturn_t hiraid_io_poll(int irq, void *data)
+{
+ struct hiraid_queue *hiraidq = data;
+ irqreturn_t ret = IRQ_NONE;
+ u16 start, end;
+
+ do {
+ spin_lock(&hiraidq->cq_lock);
+ hiraid_process_cq(hiraidq, &start, &end, -1);
+ hiraidq->last_cq_head = hiraidq->cq_head;
+ spin_unlock(&hiraidq->cq_lock);
+
+ if (start != end) {
+ hiraid_complete_cqes(hiraidq, start, end);
+ ret = IRQ_HANDLED;
+ }
+ usleep_range(poll_delay_min, poll_delay_max);
+ } while (start != end);
+ enable_irq(hiraidq->pci_irq);
+ return ret;
+}
+
+static irqreturn_t hiraid_io_irq(int irq, void *data)
+{
+ struct hiraid_queue *q = data;
+
+ if (hiraid_cqe_pending(q)) {
+ disable_irq_nosync(q->pci_irq);
+ return IRQ_WAKE_THREAD;
+ }
+ return IRQ_NONE;
+}
+
static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
{
struct hiraid_queue *adminq = &hdev->queues[0];
@@ -1681,9 +1722,11 @@ static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
NULL, adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
adminq->cq_vector = -1;
+ adminq->pci_irq = -1;
return ret;
}
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hiraid_init_queue(adminq, 0);
dev_info(hdev->dev, "setup admin queue success, queuecount[%d] online[%d] pagesize[%d]\n",
@@ -1958,14 +2001,23 @@ static int hiraid_create_queue(struct hiraid_queue *hiraidq, u16 qid)
goto delete_cq;
hiraidq->cq_vector = cq_vector;
- ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq, NULL,
- hiraidq, "hiraid%d_q%d", hdev->instance, qid);
+ if (threaded_irq)
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_io_irq,
+ hiraid_io_poll, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
+ else
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq,
+ NULL, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
+
if (ret) {
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
dev_err(hdev->dev, "request queue[%d] irq failed\n", qid);
goto delete_sq;
}
+ hiraidq->pci_irq = pci_irq_vector(hdev->pdev, hiraidq->cq_vector);
hiraid_init_queue(hiraidq, qid);
return 0;
@@ -2122,10 +2174,11 @@ static int hiraid_setup_io_queues(struct hiraid_dev *hdev)
adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
dev_err(hdev->dev, "request admin irq failed\n");
+ adminq->pci_irq = -1;
adminq->cq_vector = -1;
return ret;
}
-
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hdev->online_queues++;
for (i = hdev->queue_count; i <= hdev->max_qid; i++) {
--
2.45.1.windows.1
2
1
[openeuler:OLK-6.6 2/2] drivers/platform/mpam/mpam_devices.c:247:11: error: implicit declaration of function '__acpi_get_mem_attribute'
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
Hi James,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: 3e9e723f3bf92a19e5e15dda89bbb136ce463294 [2/2] arm_mpam: Add probe/remove for mpam msc driver and kbuild boiler plate
config: arm64-randconfig-004-20251223 (https://download.01.org/0day-ci/archive/20251223/202512231755.XRc0hf4e-lkp@…)
compiler: aarch64-linux-gcc (GCC) 9.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512231755.XRc0hf4e-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/202512231755.XRc0hf4e-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/mmzone.h:8,
from include/linux/gfp.h:7,
from include/linux/slab.h:16,
from include/linux/resource_ext.h:11,
from include/linux/acpi.h:13,
from drivers/platform/mpam/mpam_devices.c:6:
drivers/platform/mpam/mpam_devices.c: In function 'mpam_msc_drv_probe':
drivers/platform/mpam/mpam_devices.c:212:24: error: 'struct mpam_msc' has no member named 'mon_sel_lock'; did you mean 'part_sel_lock'?
212 | spin_lock_init(&msc->mon_sel_lock);
| ^~~~~~~~~~~~
include/linux/spinlock.h:335:38: note: in definition of macro 'spin_lock_init'
335 | __raw_spin_lock_init(spinlock_check(lock), \
| ^~~~
>> drivers/platform/mpam/mpam_devices.c:247:11: error: implicit declaration of function '__acpi_get_mem_attribute' [-Werror=implicit-function-declaration]
247 | prot = __acpi_get_mem_attribute(msc->pcc_chan->shmem_base_addr);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/platform/mpam/mpam_devices.c:247:11: error: incompatible types when assigning to type 'pgprot_t' {aka 'struct <anonymous>'} from type 'int'
cc1: some warnings being treated as errors
vim +/__acpi_get_mem_attribute +247 drivers/platform/mpam/mpam_devices.c
170
171 static int mpam_msc_drv_probe(struct platform_device *pdev)
172 {
173 int err;
174 pgprot_t prot;
175 void * __iomem io;
176 struct mpam_msc *msc;
177 struct resource *msc_res;
178 void *plat_data = pdev->dev.platform_data;
179
180 mutex_lock(&mpam_list_lock);
181 do {
182 msc = devm_kzalloc(&pdev->dev, sizeof(*msc), GFP_KERNEL);
183 if (!msc) {
184 err = -ENOMEM;
185 break;
186 }
187
188 INIT_LIST_HEAD_RCU(&msc->glbl_list);
189 msc->pdev = pdev;
190
191 err = device_property_read_u32(&pdev->dev, "arm,not-ready-us",
192 &msc->nrdy_usec);
193 if (err) {
194 /* This will prevent CSU monitors being usable */
195 msc->nrdy_usec = 0;
196 }
197
198 err = get_msc_affinity(msc);
199 if (err)
200 break;
201 if (cpumask_empty(&msc->accessibility)) {
202 pr_err_once("msc:%u is not accessible from any CPU!",
203 msc->id);
204 err = -EINVAL;
205 break;
206 }
207
208 mutex_init(&msc->lock);
209 msc->id = mpam_num_msc++;
210 INIT_LIST_HEAD_RCU(&msc->ris);
211 spin_lock_init(&msc->part_sel_lock);
212 spin_lock_init(&msc->mon_sel_lock);
213
214 if (device_property_read_u32(&pdev->dev, "pcc-channel",
215 &msc->pcc_subspace_id))
216 msc->iface = MPAM_IFACE_MMIO;
217 else
218 msc->iface = MPAM_IFACE_PCC;
219
220 if (msc->iface == MPAM_IFACE_MMIO) {
221 io = devm_platform_get_and_ioremap_resource(pdev, 0,
222 &msc_res);
223 if (IS_ERR(io)) {
224 pr_err("Failed to map MSC base address\n");
225 devm_kfree(&pdev->dev, msc);
226 err = PTR_ERR(io);
227 break;
228 }
229 msc->mapped_hwpage_sz = msc_res->end - msc_res->start;
230 msc->mapped_hwpage = io;
231 } else if (msc->iface == MPAM_IFACE_PCC) {
232 msc->pcc_cl.dev = &pdev->dev;
233 msc->pcc_cl.rx_callback = mpam_pcc_rx_callback;
234 msc->pcc_cl.tx_block = false;
235 msc->pcc_cl.tx_tout = 1000; /* 1s */
236 msc->pcc_cl.knows_txdone = false;
237
238 msc->pcc_chan = pcc_mbox_request_channel(&msc->pcc_cl,
239 msc->pcc_subspace_id);
240 if (IS_ERR(msc->pcc_chan)) {
241 pr_err("Failed to request MSC PCC channel\n");
242 devm_kfree(&pdev->dev, msc);
243 err = PTR_ERR(msc->pcc_chan);
244 break;
245 }
246
> 247 prot = __acpi_get_mem_attribute(msc->pcc_chan->shmem_base_addr);
248 io = ioremap_prot(msc->pcc_chan->shmem_base_addr,
249 msc->pcc_chan->shmem_size, pgprot_val(prot));
250 if (IS_ERR(io)) {
251 pr_err("Failed to map MSC base address\n");
252 pcc_mbox_free_channel(msc->pcc_chan);
253 devm_kfree(&pdev->dev, msc);
254 err = PTR_ERR(io);
255 break;
256 }
257
258 /* TODO: issue a read to update the registers */
259
260 msc->mapped_hwpage_sz = msc->pcc_chan->shmem_size;
261 msc->mapped_hwpage = io + sizeof(struct acpi_pcct_shared_memory);
262 }
263
264 list_add_rcu(&msc->glbl_list, &mpam_all_msc);
265 platform_set_drvdata(pdev, msc);
266 } while (0);
267 mutex_unlock(&mpam_list_lock);
268
269 if (!err) {
270 /* Create RIS entries described by firmware */
271 if (!acpi_disabled)
272 err = acpi_mpam_parse_resources(msc, plat_data);
273 else
274 err = mpam_dt_parse_resources(msc, plat_data);
275 }
276
277 if (!err && fw_num_msc == mpam_num_msc)
278 mpam_discovery_complete();
279
280 return err;
281 }
282
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
23 Dec '25
driver inclusion
category: feature
bugzilla: https://atomgit.com/openeuler/kernel/issues/8292
----------------------------------------------------------------------
The non-strict smmu mode has significant performance gains and can
resolve the nvme soft lockup problem. We enable it by default.
Currently, many peripherals are faster than before. For example, the top
speed of the older netcard is 10Gb/s, and now it's more than 25Gb/s. But
when iommu page-table mapping enabled, it's hard to reach the top speed
in strict mode, because of frequently map and unmap operations. In order
to keep abreast of the times, I think it's better to set non-strict as
default.
Below it's our iperf performance data of 25Gb netcard:
strict mode: 18-20 Gb/s
non-strict mode: 23.5 Gb/s
Qinxin Xia (1):
iommu: set the default iommu-dma mode as non-strict
Documentation/admin-guide/kernel-parameters.txt | 2 +-
arch/arm64/configs/openeuler_defconfig | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
--
2.33.0
2
2
From: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
stable inclusion
from stable-v6.6.119
commit e81e6d6d99b16dae11adbeda5c996317942a940c
category: bugfix
bugzilla: http://atomgit.com/src-openeuler/kernel/issues/11609
CVE: CVE-2025-68173
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 4099b98203d6b33d990586542fa5beee408032a3 ]
A soft lockup was observed when loading amdgpu module.
If a module has a lot of tracable functions, multiple calls
to kallsyms_lookup can spend too much time in RCU critical
section and with disabled preemption, causing kernel panic.
This is the same issue that was fixed in
commit d0b24b4e91fc ("ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY
kernels") and commit 42ea22e754ba ("ftrace: Add cond_resched() to
ftrace_graph_set_hash()").
Fix it the same way by adding cond_resched() in ftrace_module_enable.
Link: https://lore.kernel.org/aMQD9_lxYmphT-up@vova-pc
Signed-off-by: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/trace/ftrace.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 15785a729a0c..398992597685 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -6873,6 +6873,8 @@ void ftrace_module_enable(struct module *mod)
if (!within_module(rec->ip, mod))
break;
+ cond_resched();
+
/* Weak functions should still be ignored */
if (!test_for_valid_rec(rec)) {
/* Clear all other flags. Should not be enabled anyway */
--
2.34.1
2
1
[PATCH openEuler-26.09 0/2] memcg: enable asynchronous reclaim for cgroup-v2
by Chen Ridong 23 Dec '25
by Chen Ridong 23 Dec '25
23 Dec '25
memcg: enable asynchronous reclaim for cgroup-v2
Chen Ridong (2):
memcg: change CONFIG_MEMCG_V1_RECLAIM to CONFIG_MEMCG_QOS
memcg: enable asynchronous reclaim for cgroup-v2
arch/arm64/configs/openeuler_defconfig | 2 +-
arch/riscv/configs/openeuler_defconfig | 2 +-
arch/x86/configs/openeuler_defconfig | 2 +-
include/linux/memcontrol.h | 4 ++--
init/Kconfig | 10 +++++++--
mm/memcontrol.c | 30 ++++++++++++++++----------
6 files changed, 32 insertions(+), 18 deletions(-)
--
2.34.1
2
3
[PATCH OLK-5.10] [Backport] ima: Handle error code returned by ima_filter_rule_match()
by Zhao Yipeng 23 Dec '25
by Zhao Yipeng 23 Dec '25
23 Dec '25
mainline inclusion
from mainline-v6.19-rc1
commit 738c9738e690f5cea24a3ad6fd2d9a323cf614f6
category: bugfix
bugzilla: https://atomgit.com/openeuler/kernel/issues/7810
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
In ima_match_rules(), if ima_filter_rule_match() returns -ENOENT due to
the rule being NULL, the function incorrectly skips the 'if (!rc)' check
and sets 'result = true'. The LSM rule is considered a match, causing
extra files to be measured by IMA.
This issue can be reproduced in the following scenario:
After unloading the SELinux policy module via 'semodule -d', if an IMA
measurement is triggered before ima_lsm_rules is updated,
in ima_match_rules(), the first call to ima_filter_rule_match() returns
-ESTALE. This causes the code to enter the 'if (rc == -ESTALE &&
!rule_reinitialized)' block, perform ima_lsm_copy_rule() and retry. In
ima_lsm_copy_rule(), since the SELinux module has been removed, the rule
becomes NULL, and the second call to ima_filter_rule_match() returns
-ENOENT. This bypasses the 'if (!rc)' check and results in a false match.
Call trace:
selinux_audit_rule_match+0x310/0x3b8
security_audit_rule_match+0x60/0xa0
ima_match_rules+0x2e4/0x4a0
ima_match_policy+0x9c/0x1e8
ima_get_action+0x48/0x60
process_measurement+0xf8/0xa98
ima_bprm_check+0x98/0xd8
security_bprm_check+0x5c/0x78
search_binary_handler+0x6c/0x318
exec_binprm+0x58/0x1b8
bprm_execve+0xb8/0x130
do_execveat_common.isra.0+0x1a8/0x258
__arm64_sys_execve+0x48/0x68
invoke_syscall+0x50/0x128
el0_svc_common.constprop.0+0xc8/0xf0
do_el0_svc+0x24/0x38
el0_svc+0x44/0x200
el0t_64_sync_handler+0x100/0x130
el0t_64_sync+0x3c8/0x3d0
Fix this by changing 'if (!rc)' to 'if (rc <= 0)' to ensure that error
codes like -ENOENT do not bypass the check and accidentally result in a
successful match.
Fixes: 4af4662fa4a9d ("integrity: IMA policy")
Signed-off-by: Zhao Yipeng <zhaoyipeng5(a)huawei.com>
Reviewed-by: Roberto Sassu <roberto.sassu(a)huawei.com>
Signed-off-by: Mimi Zohar <zohar(a)linux.ibm.com>
Signed-off-by: Zhao Yipeng <zhaoyipeng5(a)huawei.com>
---
security/integrity/ima/ima_policy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c
index fa9942e126b1..e2c617a824a5 100644
--- a/security/integrity/ima/ima_policy.c
+++ b/security/integrity/ima/ima_policy.c
@@ -640,7 +640,7 @@ static bool ima_match_rules(struct ima_rule_entry *rule, struct inode *inode,
goto retry;
}
}
- if (!rc) {
+ if (rc <= 0) {
result = false;
goto out;
}
--
2.34.1
2
1
[PATCH OLK-6.6] [Backport] ima: Handle error code returned by ima_filter_rule_match()
by Zhao Yipeng 23 Dec '25
by Zhao Yipeng 23 Dec '25
23 Dec '25
mainline inclusion
from mainline-v6.19-rc1
commit 738c9738e690f5cea24a3ad6fd2d9a323cf614f6
category: bugfix
bugzilla: https://atomgit.com/openeuler/kernel/issues/7810
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
In ima_match_rules(), if ima_filter_rule_match() returns -ENOENT due to
the rule being NULL, the function incorrectly skips the 'if (!rc)' check
and sets 'result = true'. The LSM rule is considered a match, causing
extra files to be measured by IMA.
This issue can be reproduced in the following scenario:
After unloading the SELinux policy module via 'semodule -d', if an IMA
measurement is triggered before ima_lsm_rules is updated,
in ima_match_rules(), the first call to ima_filter_rule_match() returns
-ESTALE. This causes the code to enter the 'if (rc == -ESTALE &&
!rule_reinitialized)' block, perform ima_lsm_copy_rule() and retry. In
ima_lsm_copy_rule(), since the SELinux module has been removed, the rule
becomes NULL, and the second call to ima_filter_rule_match() returns
-ENOENT. This bypasses the 'if (!rc)' check and results in a false match.
Call trace:
selinux_audit_rule_match+0x310/0x3b8
security_audit_rule_match+0x60/0xa0
ima_match_rules+0x2e4/0x4a0
ima_match_policy+0x9c/0x1e8
ima_get_action+0x48/0x60
process_measurement+0xf8/0xa98
ima_bprm_check+0x98/0xd8
security_bprm_check+0x5c/0x78
search_binary_handler+0x6c/0x318
exec_binprm+0x58/0x1b8
bprm_execve+0xb8/0x130
do_execveat_common.isra.0+0x1a8/0x258
__arm64_sys_execve+0x48/0x68
invoke_syscall+0x50/0x128
el0_svc_common.constprop.0+0xc8/0xf0
do_el0_svc+0x24/0x38
el0_svc+0x44/0x200
el0t_64_sync_handler+0x100/0x130
el0t_64_sync+0x3c8/0x3d0
Fix this by changing 'if (!rc)' to 'if (rc <= 0)' to ensure that error
codes like -ENOENT do not bypass the check and accidentally result in a
successful match.
Fixes: 4af4662fa4a9d ("integrity: IMA policy")
Signed-off-by: Zhao Yipeng <zhaoyipeng5(a)huawei.com>
Reviewed-by: Roberto Sassu <roberto.sassu(a)huawei.com>
Signed-off-by: Mimi Zohar <zohar(a)linux.ibm.com>
Signed-off-by: Zhao Yipeng <zhaoyipeng5(a)huawei.com>
---
security/integrity/ima/ima_policy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c
index a01f30d2d8cc..ba4f617366a5 100644
--- a/security/integrity/ima/ima_policy.c
+++ b/security/integrity/ima/ima_policy.c
@@ -729,7 +729,7 @@ static bool ima_match_rules(struct ima_rule_entry *rule,
goto retry;
}
}
- if (!rc) {
+ if (rc <= 0) {
result = false;
goto out;
}
--
2.34.1
2
1
Patch #1 is the prerequisite patch, and Patch #2 fixes CVE-2025-39810.
Michael Chan (1):
[Backport] bnxt_en: Fix possible crash after creating sw mqprio TCs
Sreekanth Reddy (1):
[Backport] bnxt_en: Fix memory corruption when FW resources change
during ifdown
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 34 ++++++++++++++-----
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c | 2 +-
.../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 4 +--
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 2 +-
5 files changed, 30 insertions(+), 13 deletions(-)
--
2.34.1
2
3
23 Dec '25
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IDAPXZ
----------------------------------------------------------------------
The non-strict smmu mode has significant performance gains and can
resolve the nvme soft lockup problem. We enable it by default.
Currently, many peripherals are faster than before. For example, the top
speed of the older netcard is 10Gb/s, and now it's more than 25Gb/s. But
when iommu page-table mapping enabled, it's hard to reach the top speed
in strict mode, because of frequently map and unmap operations. In order
to keep abreast of the times, I think it's better to set non-strict as
default.
Below it's our iperf performance data of 25Gb netcard:
strict mode: 18-20 Gb/s
non-strict mode: 23.5 Gb/s
Qinxin Xia (1):
iommu: set the default iommu-dma mode as non-strict
Documentation/admin-guide/kernel-parameters.txt | 2 +-
arch/arm64/configs/openeuler_defconfig | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
--
2.33.0
2
3
[openeuler:OLK-6.6] BUILD REGRESSION c098fa18c07cc52100a52db8fd0c2900461888c9
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: c098fa18c07cc52100a52db8fd0c2900461888c9 删除文件 .本项目已经正式迁移至AtomGit平台/README.md
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202511241700.GqFsj3QM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512051112.JRlvwQmR-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512051233.eoZixxMi-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512090002.kbElJ2I7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512091138.u8NXXfZk-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512091141.r06Y9a5w-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512091204.Q8mSD8MC-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512110543.30EinXFl-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512110706.bkOqQiMM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512111016.FVDarhlL-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512111142.MddOammZ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512111243.5gbg71Im-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512111810.cbJGbotT-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512111912.9dS3N6D9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512112035.fGJa8Hzw-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512121402.K1KWDJc7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512121829.l6WBMb9f-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512122024.MnPMvwJ8-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512122109.Sy1IvzI5-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512130131.7HrtXRUl-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512131040.ErvjOWkV-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512151347.pYQgm67P-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512151453.z27gHP7d-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202109.DOPKqwQT-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210031.v4yKIJFE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210038.6F02IwRo-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210228.QnsbClZ7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210422.Gfg4tcZV-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512211025.4cSwOTdS-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512221648.01it8GuK-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512230232.mDLII3OZ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512230505.cMBSrJNZ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512230528.roqd2yzx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512230715.3UJUkD3z-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512230734.tlvqbdf4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512230823.urp3AnL9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512230928.obIRItp9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512231020.T3d5Cq3i-lkp@intel.com
arch/arm64/kernel/cpufeature.c:2137:13: warning: unused variable 'enable_pseudo_nmi' [-Wunused-variable]
arch/arm64/kvm/arm.c:569:5: warning: no previous prototype for function 'kvm_arch_rec_init' [-Wmissing-prototypes]
arch/loongarch/kernel/asm-offsets.c:173:6: warning: no previous prototype for 'output_thread_lbt_defines' [-Wmissing-prototypes]
arch/x86/kernel/cpu/proc.c:63:5: warning: no previous prototype for 'show_cpuinfo' [-Wmissing-prototypes]
arch/x86/kernel/cpu/proc.c:63:5: warning: no previous prototype for function 'show_cpuinfo' [-Wmissing-prototypes]
arch/x86/kernel/early-quirks.c:722:6: warning: no previous prototype for function 'is_zhaoxin_kh40000' [-Wmissing-prototypes]
arch/x86/kernel/early-quirks.c:727:34: warning: no previous prototype for function 'kh40000_get_direct_dma_ops' [-Wmissing-prototypes]
block/genhd.c:100:6: warning: no previous prototype for 'part_stat_read_all' [-Wmissing-prototypes]
block/genhd.c:100:6: warning: no previous prototype for function 'part_stat_read_all' [-Wmissing-prototypes]
drivers/ata/libahci.c:210:5: warning: no previous prototype for function 'get_ahci_em_messages' [-Wmissing-prototypes]
drivers/block/drbd/drbd_bitmap.c:1232: warning: Function parameter or member 'peer_device' not described in 'drbd_bm_write'
drivers/clocksource/arm_arch_timer.c:371:33: warning: unused variable 'hisi_165010801_oem_info' [-Wunused-variable]
drivers/crypto/ccp/hygon/ccp-mdev.c:1144:15: warning: no previous prototype for function 'ccp_pin_memory' [-Wmissing-prototypes]
drivers/dax/super.c:45: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'dax_device'
drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c:1450:52: warning: '%s' directive output may be truncated writing between 1 and 2 bytes into a region of size between 0 and 29 [-Wformat-truncation=]
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/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/irqchip/irq-mbigen.c:129: warning: Function parameter or member 'vtimer_mbigen_chip' not described in 'mbigen_device'
drivers/irqchip/irq-mbigen.c:138: warning: expecting prototype for Due to the existence of hyper(). Prototype was for GICR_LENGTH() instead
drivers/media/platform/cadence/cdns-csi2tx.c:485:63: warning: '%u' directive output may be truncated writing between 1 and 10 bytes into a region of size 8 [-Wformat-truncation=]
drivers/net/ethernet/linkdata/sxe/base/log/sxe_log.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/base/trace/sxe_trace.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_csum.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_dcb.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:432:6: error: no previous prototype for 'sxe_debugfs_entries_init' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:459:6: error: no previous prototype for 'sxe_debugfs_entries_exit' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:465:6: error: no previous prototype for 'sxe_debugfs_init' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:470:6: error: no previous prototype for 'sxe_debugfs_exit' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2022:5: error: no previous prototype for 'sxe_reg_test' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2644:5: error: no previous prototype for 'sxe_phys_id_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2736:47: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_filter.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
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]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1064:5: error: no previous prototype for 'sxe_hw_fc_enable' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1135:6: error: no previous prototype for 'sxe_fc_autoneg_localcap_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1256:6: error: no previous prototype for 'sxe_hw_crc_configure' [-Werror=missing-prototypes]
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]
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]
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]
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]
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]
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]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2147:6: error: no previous prototype for 'sxe_hw_fnav_enable' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2204:5: error: no previous prototype for 'sxe_hw_fnav_port_mask_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2310:5: error: no previous prototype for 'sxe_hw_fnav_specific_rule_mask_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2445:5: error: no previous prototype for 'sxe_hw_fnav_specific_rule_add' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2469:5: error: no previous prototype for 'sxe_hw_fnav_specific_rule_del' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2500:6: error: no previous prototype for 'sxe_hw_fnav_sample_rule_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2587:5: error: no previous prototype for 'sxe_hw_fnav_sample_rules_table_reinit' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3147:6: error: no previous prototype for 'sxe_hw_all_ring_disable' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3295:6: error: no previous prototype for 'sxe_hw_dcb_rx_bw_alloc_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3330:6: error: no previous prototype for 'sxe_hw_dcb_tx_desc_bw_alloc_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3360:6: error: no previous prototype for 'sxe_hw_dcb_tx_data_bw_alloc_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3397:6: error: no previous prototype for 'sxe_hw_dcb_pfc_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3565:6: error: no previous prototype for 'sxe_hw_dcb_max_mem_window_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3570:6: error: no previous prototype for 'sxe_hw_dcb_tx_ring_rate_factor_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3674:6: error: no previous prototype for 'sxe_hw_dcb_rate_limiter_clear' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4497:5: error: no previous prototype for 'sxe_hw_hdc_lock_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4536:6: error: no previous prototype for 'sxe_hw_hdc_lock_release' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4552:6: error: no previous prototype for 'sxe_hw_hdc_fw_ov_clear' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4557:6: error: no previous prototype for 'sxe_hw_hdc_is_fw_over_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4567:6: error: no previous prototype for 'sxe_hw_hdc_packet_send_done' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4573:6: error: no previous prototype for 'sxe_hw_hdc_packet_header_send' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4578:6: error: no previous prototype for 'sxe_hw_hdc_packet_data_dword_send' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4584:5: error: no previous prototype for 'sxe_hw_hdc_fw_ack_header_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4589:5: error: no previous prototype for 'sxe_hw_hdc_packet_data_dword_rcv' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4594:5: error: no previous prototype for 'sxe_hw_hdc_fw_status_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4604:6: error: no previous prototype for 'sxe_hw_hdc_drv_status_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4609:5: error: no previous prototype for 'sxe_hw_hdc_channel_state_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:745:5: error: no previous prototype for 'sxe_hw_irq_cause_get' [-Werror=missing-prototypes]
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]
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]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:790:6: error: no previous prototype for 'sxe_hw_event_irq_map' [-Werror=missing-prototypes]
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]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:876:6: error: no previous prototype for 'sxe_hw_all_irq_disable' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:994:5: error: no previous prototype for function 'sxe_hw_link_speed_get' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ipsec.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ptp.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_tx_proc.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/base/log/sxe_log.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_csum.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:640:6: error: no previous prototype for function 'sxevf_rx_rcv_ctl_configure' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_main.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_monitor.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_netdev.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_ring.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c:171: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c:674:6: warning: variable 'node_num' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c:798:13: warning: variable 'node_size' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c:798:6: warning: variable 'node_size' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c:756:16: warning: variable 'vfn' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c:756:23: warning: variable 'vfn' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:3554:38: warning: variable 'param' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:3554:45: warning: variable 'param' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:7888:26: warning: variable 'chan_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:7888:33: warning: variable 'chan_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:3025:28: warning: variable 'ring_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:3025:35: warning: variable 'ring_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c:1823:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c:1823:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c:644:55: warning: '%08x' directive output may be truncated writing 8 bytes into a region of size between 2 and 11 [-Wformat-truncation=]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_flow_leonis.c:893:22: warning: variable 'phy_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_flow_leonis.c:893:29: warning: variable 'phy_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.c:12:17: warning: variable 'dev' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.c:12:24: warning: variable 'dev' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.c:1196: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:76:24: warning: variable 'queue_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:76:31: warning: variable 'queue_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:96:22: warning: variable 'vsi_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:96:29: warning: variable 'vsi_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:97:22: warning: variable 'phy_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:97:29: warning: variable 'phy_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_main.c:434: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/pinctrl/zhaoxin/pinctrl-zhaoxin.c:123:13: warning: variable 'value_back' set but not used [-Wunused-but-set-variable]
drivers/pinctrl/zhaoxin/pinctrl-zhaoxin.c:123:6: warning: variable 'value_back' set but not used [-Wunused-but-set-variable]
drivers/pinctrl/zhaoxin/pinctrl-zhaoxin.c:487:13: warning: variable 'test_mask' set but not used [-Wunused-but-set-variable]
drivers/pinctrl/zhaoxin/pinctrl-zhaoxin.c:487:6: warning: variable 'test_mask' set but not used [-Wunused-but-set-variable]
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/ps3_irq.c:21:27: error: unused variable 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: unused variable 'PS3_INTERRUPT_CMD_ENABLE_MSIX' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: unused variable 'PS3_INTERRUPT_MASK_DISABLE' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: unused variable 'PS3_INTERRUPT_STATUS_EXIST_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: unused variable 'PS3_INTERRUPT_CLEAR_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:27:27: error: unused variable 'PS3_SSD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: unused variable 'PS3_HDD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3023:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3279:15: error: no previous prototype for function 'ps3_raid_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3334:6: error: no previous prototype for function 'ps3_qos_mgrq_resend' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3478:6: error: no previous prototype for function 'ps3_raid_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3821:15: error: no previous prototype for function 'ps3_raid_qos_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsih.c:1958:1: error: unused function 'ps3_scsih_dev_id_get' [-Werror,-Wunused-function]
drivers/spi/spi-axi-spi-engine.c:101: warning: Function parameter or member 'p' not described in 'spi_engine_message_state'
drivers/video/fbdev/ls2k500sfb.c:143:27: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/video/fbdev/ls2k500sfb.c:145:30: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/video/fbdev/ls2k500sfb.c:199:36: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/video/fbdev/ls2k500sfb.c:201:37: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/video/fbdev/ls2k500sfb.c:254:13: sparse: sparse: symbol 'ls2k500sfb_interrupt' was not declared. Should it be static?
drivers/video/fbdev/ls2k500sfb.c:456:28: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/video/fbdev/ls2k500sfb.c:457:32: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/video/fbdev/ls2k500sfb.c:569:19: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/video/fbdev/ls2k500sfb.c:570:19: sparse: sparse: incorrect type in assignment (different address spaces)
fs/nfs/dir.c:1500:6: warning: no previous prototype for 'nfs_check_have_lookup_cache_flag' [-Wmissing-prototypes]
fs/nfs/dir.c:1500:6: warning: no previous prototype for function 'nfs_check_have_lookup_cache_flag' [-Wmissing-prototypes]
fs/resctrl/monitor.c:51: warning: Cannot understand * @closid_num_dirty_rmid The number of dirty RMID each CLOSID has.
fs/xfs/libxfs/xfs_alloc.c:103:1: warning: no previous prototype for function 'xfs_ag_fixup_aside' [-Wmissing-prototypes]
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/mmzone.h:1834:2: error: #error Allocator MAX_ORDER exceeds SECTION_SIZE
include/linux/mmzone.h:1834:2: error: Allocator MAX_ORDER exceeds SECTION_SIZE
kernel/bpf/mprog.c:420:13: warning: default initialization of an object of type 'typeof ((attr->query.prog_ids))' (aka 'const unsigned long long') leaves the object uninitialized [-Wdefault-const-init-var-unsafe]
kernel/bpf/mprog.c:421:16: warning: default initialization of an object of type 'typeof ((attr->query.prog_attach_flags))' (aka 'const unsigned long long') leaves the object uninitialized [-Wdefault-const-init-var-unsafe]
kernel/bpf/mprog.c:422:13: warning: default initialization of an object of type 'typeof ((attr->query.link_ids))' (aka 'const unsigned long long') leaves the object uninitialized [-Wdefault-const-init-var-unsafe]
kernel/bpf/mprog.c:423:16: warning: default initialization of an object of type 'typeof ((attr->query.link_attach_flags))' (aka 'const unsigned long long') leaves the object uninitialized [-Wdefault-const-init-var-unsafe]
kernel/cpu.c:2684: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
kernel/dma/contiguous.c:212:13: warning: no previous prototype for 'is_zhaoxin_kh40000' [-Wmissing-prototypes]
kernel/dma/contiguous.c:212:13: warning: no previous prototype for function 'is_zhaoxin_kh40000' [-Wmissing-prototypes]
kernel/fork.c:2233: warning: Excess function parameter 'pidfd' description in '__pidfd_prepare'
kernel/fork.c:2233: warning: Function parameter or member 'ret' not described in '__pidfd_prepare'
kernel/fork.c:2282: warning: Excess function parameter 'pidfd' description in 'pidfd_prepare'
kernel/fork.c:2282: warning: Function parameter or member 'ret' not described in 'pidfd_prepare'
kernel/irq/proc.c:338:13: warning: no previous prototype for function 'register_irqchip_proc' [-Wmissing-prototypes]
kernel/irq/proc.c:339:13: warning: no previous prototype for function 'unregister_irqchip_proc' [-Wmissing-prototypes]
kernel/locking/mutex.c:623:6: warning: variable 'ifs_clock' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
kernel/power/swap.c:1572: warning: Excess function parameter 'exclusive' description in 'swsusp_close'
kernel/sched/debug.c:102:12: warning: no previous prototype for 'is_prefer_numa' [-Wmissing-prototypes]
lib/iov_iter.c:330:38: sparse: sparse: incorrect type in argument 1 (different address spaces)
lib/kunit/test.c:862:38: warning: cast from 'void (*)(const void *)' to 'kunit_action_t *' (aka 'void (*)(void *)') converts to incompatible function type [-Wcast-function-type-strict]
lib/overflow_kunit.c:998:9: sparse: sparse: cast truncates bits from constant value (ffffff01 becomes 1)
lib/percpu_counter.c:178:33: sparse: sparse: incorrect type in assignment (different address spaces)
lib/percpu_counter.c:178:36: sparse: sparse: cast removes address space '__percpu' of expression
mm/gmem.c:383:13: warning: unused variable 'nid' [-Wunused-variable]
mm/gmem.c:383:6: warning: unused variable 'nid' [-Wunused-variable]
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/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/mempolicy.c:1145:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/mempolicy.c:1145:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/vmalloc.c:4443: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
mm/vmalloc.c:4976: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
net/ipv4/tcp_output.c:1371:12: warning: variable 'tcp_hdr_rsrvd_4b' set but not used [-Wunused-but-set-variable]
net/ipv4/tcp_output.c:1371:5: warning: variable 'tcp_hdr_rsrvd_4b' set but not used [-Wunused-but-set-variable]
Unverified Error/Warning (likely false positive, kindly check if interested):
arch/arm64/mm/fixmap.c:190:10: warning: variable 'bm_pudp' set but not used [-Wunused-but-set-variable]
arch/x86/kvm/../../../virt/kvm/eventfd.c:1098: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
arch/x86/kvm/../../../virt/kvm/eventfd.c:718: warning: cannot understand function prototype: 'struct eventfd_shadow '
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allnoconfig
| |-- block-genhd.c:warning:no-previous-prototype-for-part_stat_read_all
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- 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-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-001-20251215
| `-- arch-arm64-kvm-arm.c:warning:no-previous-prototype-for-function-kvm_arch_rec_init
|-- arm64-randconfig-001-20251223
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- drivers-clocksource-arm_arch_timer.c:warning:unused-variable-hisi_165010801_oem_info
| |-- drivers-crypto-ccp-hygon-ccp-mdev.c:warning:no-previous-prototype-for-function-ccp_pin_memory
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-spmi-spmi-pmic-arb.c:warning:Function-parameter-or-member-core-not-described-in-spmi_pmic_arb
| |-- fs-resctrl-monitor.c:warning:Cannot-understand-closid_num_dirty_rmid-The-number-of-dirty-RMID-each-CLOSID-has.
| |-- fs-xfs-libxfs-xfs_alloc.c:warning:no-previous-prototype-for-function-xfs_ag_fixup_aside
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- lib-crypto-mpi-mpi-inv.c:warning:variable-k-set-but-not-used
| |-- lib-kunit-test.c:warning:cast-from-void-(-)(const-void-)-to-kunit_action_t-(aka-void-(-)(void-)-)-converts-to-incompatible-function-type
| |-- mm-gmem.c:warning:unused-variable-nid
| |-- 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
|-- arm64-randconfig-002-20251223
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
| |-- fs-resctrl-monitor.c:warning:Cannot-understand-closid_num_dirty_rmid-The-number-of-dirty-RMID-each-CLOSID-has.
| |-- kernel-bpf-mprog.c:warning:default-initialization-of-an-object-of-type-typeof-((attr-query.link_attach_flags))-(aka-const-unsigned-long-long-)-leaves-the-object-uninitialized
| |-- kernel-bpf-mprog.c:warning:default-initialization-of-an-object-of-type-typeof-((attr-query.link_ids))-(aka-const-unsigned-long-long-)-leaves-the-object-uninitialized
| |-- kernel-bpf-mprog.c:warning:default-initialization-of-an-object-of-type-typeof-((attr-query.prog_attach_flags))-(aka-const-unsigned-long-long-)-leaves-the-object-uninitialized
| |-- kernel-bpf-mprog.c:warning:default-initialization-of-an-object-of-type-typeof-((attr-query.prog_ids))-(aka-const-unsigned-long-long-)-leaves-the-object-uninitialized
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- lib-crypto-mpi-mpi-inv.c:warning:variable-k-set-but-not-used
| |-- 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
|-- arm64-randconfig-003-20251223
| |-- arch-arm64-kernel-cpufeature.c:warning:unused-variable-enable_pseudo_nmi
| |-- drivers-crypto-ccp-hygon-ccp-mdev.c:warning:no-previous-prototype-for-function-ccp_pin_memory
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-spmi-spmi-pmic-arb.c:warning:Function-parameter-or-member-core-not-described-in-spmi_pmic_arb
| |-- fs-resctrl-monitor.c:warning:Cannot-understand-closid_num_dirty_rmid-The-number-of-dirty-RMID-each-CLOSID-has.
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- lib-crypto-mpi-mpi-inv.c:warning:variable-k-set-but-not-used
| |-- lib-kunit-test.c:warning:cast-from-void-(-)(const-void-)-to-kunit_action_t-(aka-void-(-)(void-)-)-converts-to-incompatible-function-type
| |-- 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
|-- arm64-randconfig-004-20251223
| |-- arch-arm64-mm-fixmap.c:warning:variable-bm_pudp-set-but-not-used
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_mes.c:warning:s-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| |-- drivers-irqchip-irq-mbigen.c:warning:Function-parameter-or-member-vtimer_mbigen_chip-not-described-in-mbigen_device
| |-- drivers-irqchip-irq-mbigen.c:warning:expecting-prototype-for-Due-to-the-existence-of-hyper().-Prototype-was-for-GICR_LENGTH()-instead
| |-- fs-resctrl-monitor.c:warning:Cannot-understand-closid_num_dirty_rmid-The-number-of-dirty-RMID-each-CLOSID-has.
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-sched-debug.c:warning:no-previous-prototype-for-is_prefer_numa
| |-- 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-r113-20251213
| |-- kernel-sched-fair.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-struct-task_struct-sibling_p-got-struct-task_struct-noderef-__rcu-curr
| |-- kernel-sched-fair.c:sparse:sparse:symbol-sysctl_sched_prio_load_balance_enabled-was-not-declared.-Should-it-be-static
| |-- kernel-sched-fair.c:sparse:sparse:symbol-sysctl_sched_util_low_pct-was-not-declared.-Should-it-be-static
| |-- kernel-sched-topology.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-restricted-gfp_t-usertype-flags-got-int-flags
| `-- kernel-sched-topology.c:sparse:sparse:incorrect-type-in-initializer-(different-base-types)-expected-int-flags-got-restricted-gfp_t
|-- arm64-randconfig-r132-20251218
| |-- security-integrity-ima-ima_digest_list.c:sparse:sparse:cast-to-restricted-__le16
| |-- security-integrity-ima-ima_digest_list.c:sparse:sparse:cast-to-restricted-__le32
| `-- security-integrity-ima-ima_digest_list.c:sparse:sparse:symbol-parser_task-was-not-declared.-Should-it-be-static
|-- loongarch-allnoconfig
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- 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-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-001-20251223
| |-- arch-loongarch-kernel-asm-offsets.c:warning:no-previous-prototype-for-output_thread_lbt_defines
| `-- include-linux-mmzone.h:error:error-Allocator-MAX_ORDER-exceeds-SECTION_SIZE
|-- loongarch-randconfig-002-20251223
| `-- include-linux-mmzone.h:error:Allocator-MAX_ORDER-exceeds-SECTION_SIZE
|-- loongarch-randconfig-r061-20251223
| |-- arch-loongarch-kernel-asm-offsets.c:warning:no-previous-prototype-for-output_thread_lbt_defines
| `-- include-linux-mmzone.h:error:error-Allocator-MAX_ORDER-exceeds-SECTION_SIZE
|-- x86_64-allnoconfig
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- 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-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allyesconfig
| |-- 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-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_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_qos_mgrq_resend-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_scsih.c:error:unused-function-ps3_scsih_dev_id_get-Werror-Wunused-function
|-- x86_64-buildonly-randconfig-006-20251223
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- drivers-ata-libahci.c:warning:no-previous-prototype-for-function-get_ahci_em_messages
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-test_mask-set-but-not-used
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-value_back-set-but-not-used
| |-- fs-xfs-libxfs-xfs_alloc.c:warning:no-previous-prototype-for-function-xfs_ag_fixup_aside
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- lib-crypto-mpi-mpi-inv.c:warning:variable-k-set-but-not-used
| |-- 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
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
| |-- block-genhd.c:warning:no-previous-prototype-for-part_stat_read_all
| |-- drivers-net-ethernet-linkdata-sxe-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-base-trace-sxe_trace.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_phys_id_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_reg_test
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_filter.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_fc_autoneg_localcap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_ring_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_crc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_max_mem_window_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_pfc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rate_limiter_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rx_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_data_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_desc_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_ring_rate_factor_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_auto_clear_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_autoneg_disable_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_mac_addr_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_requested_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_high_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_low_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_port_mask_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rule_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rules_table_reinit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_mask_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_channel_state_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_drv_status_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ack_header_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ov_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_status_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_is_fw_over_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_release
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_rcv
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_header_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_send_done
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_cause_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_fc_autoneg_disabled
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_link_state_up
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_pad_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_txrx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_mem_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_nic_reset
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_no_snoop_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pcie_vt_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_read_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_write_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pf_rst_done_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pfc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_mac_anti_spoof_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_ring_drop_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_is_rx_timestamp_valid
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_tx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rcv_msg_from_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_auto_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_key_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_reg_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_off
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_on
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_ctrl_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_lro_ctrl_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_drop_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ack_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_multi_ring_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_nfs_filter_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pkt_buf_size_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_queue_desc_reg_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_udp_frag_checksum_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_send_msg_to_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_spoof_count_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_regs_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_seq_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_size_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_thresh_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_head_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_info_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_tail_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_insert_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_tag_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_ack_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_req_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_rst_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_pool_filter_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_tag_strip_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlvf_slot_find
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_ctrl_cfg
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_pool_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ipsec.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_dcb
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_rss
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_lsc_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_mailbox_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_msi_irq_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-sxe_allow_inval_mac
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-sxe_multispeed_sfp_link_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ptp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_headers_cleanup
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_rx_buffer_page_offset_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-sxe_set_vf_link_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_tx_proc.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-sxe_txrx_ring_enable
| |-- drivers-net-ethernet-linkdata-sxevf-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_32bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_36bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_reset
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_stop
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_disable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_link_state_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_packet_stats_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_ack_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_req_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_stats_init_value_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_ring.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-sxevf_rx_ring_buffers_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_free
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-else-statement
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-power-swap.c:warning:Excess-function-parameter-exclusive-description-in-swsusp_close
| |-- 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
| `-- net-ipv4-tcp_output.c:warning:variable-tcp_hdr_rsrvd_4b-set-but-not-used
|-- x86_64-randconfig-001-20251223
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-kh40000_get_direct_dma_ops
| |-- block-genhd.c:warning:no-previous-prototype-for-part_stat_read_all
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-net-ethernet-linkdata-sxe-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-base-trace-sxe_trace.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_phys_id_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_reg_test
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_filter.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_fc_autoneg_localcap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_ring_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_crc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_max_mem_window_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_pfc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rate_limiter_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rx_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_data_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_desc_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_ring_rate_factor_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_auto_clear_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_autoneg_disable_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_mac_addr_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_requested_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_high_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_low_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_port_mask_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rule_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rules_table_reinit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_mask_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_channel_state_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_drv_status_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ack_header_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ov_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_status_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_is_fw_over_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_release
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_rcv
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_header_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_send_done
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_cause_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_fc_autoneg_disabled
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_link_state_up
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_pad_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_txrx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_mem_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_nic_reset
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_no_snoop_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pcie_vt_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_read_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_write_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pf_rst_done_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pfc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_mac_anti_spoof_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_ring_drop_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_is_rx_timestamp_valid
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_tx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rcv_msg_from_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_auto_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_key_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_reg_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_off
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_on
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_ctrl_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_lro_ctrl_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_drop_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ack_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_multi_ring_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_nfs_filter_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pkt_buf_size_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_queue_desc_reg_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_udp_frag_checksum_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_send_msg_to_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_spoof_count_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_regs_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_seq_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_size_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_thresh_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_head_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_info_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_tail_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_insert_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_tag_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_ack_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_req_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_rst_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_pool_filter_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_tag_strip_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlvf_slot_find
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_ctrl_cfg
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_pool_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ipsec.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_dcb
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_rss
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_lsc_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_mailbox_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_msi_irq_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-sxe_allow_inval_mac
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-sxe_multispeed_sfp_link_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ptp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_headers_cleanup
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_rx_buffer_page_offset_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-sxe_set_vf_link_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_tx_proc.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-sxe_txrx_ring_enable
| |-- drivers-net-ethernet-linkdata-sxevf-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_32bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_36bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_reset
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_stop
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_disable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_link_state_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_packet_stats_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_ack_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_req_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_stats_init_value_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_ring.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-sxevf_rx_ring_buffers_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_free
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-else-statement
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_size-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:variable-vfn-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-chan_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-param-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:variable-ring_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:08x-directive-output-may-be-truncated-writing-bytes-into-a-region-of-size-between-and
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_interrupt.c:warning:variable-dev-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-queue_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-vsi_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-test_mask-set-but-not-used
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-value_back-set-but-not-used
| |-- drivers-spi-spi-axi-spi-engine.c:warning:Function-parameter-or-member-p-not-described-in-spi_engine_message_state
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-power-swap.c:warning:Excess-function-parameter-exclusive-description-in-swsusp_close
| |-- kernel-sched-debug.c:warning:no-previous-prototype-for-is_prefer_numa
| |-- lib-test_kmod.c:warning:Function-parameter-or-member-task_sync-not-described-in-kmod_test_device_info
| |-- lib-test_kmod.c:warning:Function-parameter-or-member-thread_mutex-not-described-in-kmod_test_device
| |-- mm-gmem.c:warning:unused-variable-nid
| |-- 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-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-ipv4-tcp_output.c:warning:variable-tcp_hdr_rsrvd_4b-set-but-not-used
|-- x86_64-randconfig-002-20251223
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-function-kh40000_get_direct_dma_ops
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- drivers-ata-libahci.c:warning:no-previous-prototype-for-function-get_ahci_em_messages
| |-- drivers-net-ethernet-linkdata-sxe-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-base-trace-sxe_trace.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_phys_id_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_reg_test-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_filter.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_auto_clear_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_cause_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_no_snoop_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_write_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pf_rst_done_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_auto_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_del-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ipsec.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_rss-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_lsc_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_mailbox_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-function-sxe_allow_inval_mac-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-function-sxe_multispeed_sfp_link_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ptp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_headers_cleanup-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_rx_buffer_page_offset_update-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-function-sxe_set_vf_link_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used-Werror-Wunused-but-set-variable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_tx_proc.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-function-sxe_txrx_ring_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_stop-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_link_state_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_ack_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_req_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_ring.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-function-sxevf_rx_ring_buffers_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_free-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_num-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_size-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:variable-vfn-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-chan_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-param-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:variable-ring_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_interrupt.c:warning:variable-dev-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-queue_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-vsi_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-test_mask-set-but-not-used
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-value_back-set-but-not-used
| |-- drivers-spi-spi-axi-spi-engine.c:warning:Function-parameter-or-member-p-not-described-in-spi_engine_message_state
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-function-nfs_check_have_lookup_cache_flag
| |-- fs-xfs-libxfs-xfs_alloc.c:warning:no-previous-prototype-for-function-xfs_ag_fixup_aside
| |-- 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-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-livepatch-core.c:warning:bad-line:
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- kernel-power-swap.c:warning:Excess-function-parameter-exclusive-description-in-swsusp_close
| |-- lib-crypto-mpi-mpi-inv.c:warning:variable-k-set-but-not-used
| |-- lib-kunit-test.c:warning:cast-from-void-(-)(const-void-)-to-kunit_action_t-(aka-void-(-)(void-)-)-converts-to-incompatible-function-type
| |-- lib-test_kmod.c:warning:Function-parameter-or-member-task_sync-not-described-in-kmod_test_device_info
| |-- lib-test_kmod.c:warning:Function-parameter-or-member-thread_mutex-not-described-in-kmod_test_device
| |-- 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-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-ipv4-tcp_output.c:warning:variable-tcp_hdr_rsrvd_4b-set-but-not-used
|-- x86_64-randconfig-003-20251223
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-kh40000_get_direct_dma_ops
| |-- block-genhd.c:warning:no-previous-prototype-for-part_stat_read_all
| |-- drivers-block-drbd-drbd_bitmap.c:warning:Function-parameter-or-member-peer_device-not-described-in-drbd_bm_write
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-net-ethernet-linkdata-sxe-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-base-trace-sxe_trace.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_phys_id_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_reg_test
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_filter.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_fc_autoneg_localcap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_ring_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_crc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_max_mem_window_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_pfc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rate_limiter_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rx_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_data_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_desc_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_ring_rate_factor_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_auto_clear_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_autoneg_disable_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_mac_addr_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_requested_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_high_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_low_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_port_mask_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rule_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rules_table_reinit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_mask_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_channel_state_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_drv_status_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ack_header_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ov_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_status_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_is_fw_over_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_release
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_rcv
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_header_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_send_done
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_cause_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_fc_autoneg_disabled
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_link_state_up
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_pad_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_txrx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_mem_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_nic_reset
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_no_snoop_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pcie_vt_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_read_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_write_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pf_rst_done_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pfc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_mac_anti_spoof_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_ring_drop_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_is_rx_timestamp_valid
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_tx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rcv_msg_from_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_auto_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_key_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_reg_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_off
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_on
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_ctrl_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_lro_ctrl_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_drop_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ack_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_multi_ring_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_nfs_filter_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pkt_buf_size_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_queue_desc_reg_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_udp_frag_checksum_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_send_msg_to_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_spoof_count_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_regs_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_seq_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_size_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_thresh_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_head_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_info_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_tail_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_insert_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_tag_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_ack_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_req_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_rst_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_pool_filter_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_tag_strip_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlvf_slot_find
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_ctrl_cfg
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_pool_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ipsec.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_dcb
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_rss
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_lsc_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_mailbox_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_msi_irq_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-sxe_allow_inval_mac
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-sxe_multispeed_sfp_link_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ptp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_headers_cleanup
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_rx_buffer_page_offset_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-sxe_set_vf_link_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_tx_proc.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-sxe_txrx_ring_enable
| |-- drivers-net-ethernet-linkdata-sxevf-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_32bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_36bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_reset
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_stop
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_disable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_link_state_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_packet_stats_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_ack_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_req_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_stats_init_value_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_ring.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-sxevf_rx_ring_buffers_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_free
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-else-statement
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_size-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:variable-vfn-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-chan_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-param-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:variable-ring_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:08x-directive-output-may-be-truncated-writing-bytes-into-a-region-of-size-between-and
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_interrupt.c:warning:variable-dev-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-queue_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-vsi_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-test_mask-set-but-not-used
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-value_back-set-but-not-used
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-livepatch-core.c:warning:bad-line:
| |-- kernel-sched-debug.c:warning:no-previous-prototype-for-is_prefer_numa
| |-- mm-gmem.c:warning:unused-variable-nid
| |-- 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-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-ipv4-tcp_output.c:warning:variable-tcp_hdr_rsrvd_4b-set-but-not-used
|-- x86_64-randconfig-004-20251223
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-function-kh40000_get_direct_dma_ops
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- 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
| |-- drivers-net-ethernet-linkdata-sxe-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-base-trace-sxe_trace.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_phys_id_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_reg_test-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_filter.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_auto_clear_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_cause_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_no_snoop_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_write_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pf_rst_done_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_auto_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_del-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ipsec.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_rss-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_lsc_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_mailbox_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-function-sxe_allow_inval_mac-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-function-sxe_multispeed_sfp_link_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ptp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_headers_cleanup-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_rx_buffer_page_offset_update-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-function-sxe_set_vf_link_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used-Werror-Wunused-but-set-variable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_tx_proc.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-function-sxe_txrx_ring_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_stop-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_link_state_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_ack_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_req_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_ring.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-function-sxevf_rx_ring_buffers_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_free-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_num-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_size-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:variable-vfn-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-chan_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-param-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:variable-ring_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_interrupt.c:warning:variable-dev-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-queue_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-vsi_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-test_mask-set-but-not-used
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-value_back-set-but-not-used
| |-- fs-xfs-libxfs-xfs_alloc.c:warning:no-previous-prototype-for-function-xfs_ag_fixup_aside
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- lib-crypto-mpi-mpi-inv.c:warning:variable-k-set-but-not-used
| |-- lib-kunit-test.c:warning:cast-from-void-(-)(const-void-)-to-kunit_action_t-(aka-void-(-)(void-)-)-converts-to-incompatible-function-type
| |-- 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-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-ipv4-tcp_output.c:warning:variable-tcp_hdr_rsrvd_4b-set-but-not-used
|-- x86_64-randconfig-005-20251223
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-kh40000_get_direct_dma_ops
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-media-platform-cadence-cdns-csi2tx.c:warning:u-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-net-ethernet-linkdata-sxe-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-base-trace-sxe_trace.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_phys_id_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_reg_test
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_filter.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_fc_autoneg_localcap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_ring_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_crc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_max_mem_window_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_pfc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rate_limiter_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rx_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_data_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_desc_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_ring_rate_factor_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_auto_clear_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_autoneg_disable_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_mac_addr_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_requested_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_high_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_low_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_port_mask_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rule_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rules_table_reinit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_mask_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_channel_state_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_drv_status_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ack_header_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ov_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_status_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_is_fw_over_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_release
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_rcv
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_header_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_send_done
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_cause_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_fc_autoneg_disabled
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_link_state_up
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_pad_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_txrx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_mem_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_nic_reset
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_no_snoop_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pcie_vt_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_read_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_write_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pf_rst_done_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pfc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_mac_anti_spoof_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_ring_drop_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_is_rx_timestamp_valid
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_tx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rcv_msg_from_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_auto_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_key_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_reg_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_off
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_on
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_ctrl_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_lro_ctrl_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_drop_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ack_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_multi_ring_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_nfs_filter_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pkt_buf_size_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_queue_desc_reg_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_udp_frag_checksum_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_send_msg_to_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_spoof_count_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_regs_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_seq_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_size_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_thresh_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_head_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_info_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_tail_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_insert_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_tag_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_ack_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_req_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_rst_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_pool_filter_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_tag_strip_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlvf_slot_find
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_ctrl_cfg
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_pool_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ipsec.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_dcb
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_rss
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_lsc_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_mailbox_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_msi_irq_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-sxe_allow_inval_mac
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-sxe_multispeed_sfp_link_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ptp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_headers_cleanup
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_rx_buffer_page_offset_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-sxe_set_vf_link_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_tx_proc.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-sxe_txrx_ring_enable
| |-- drivers-net-ethernet-linkdata-sxevf-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_32bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_36bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_reset
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_stop
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_disable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_link_state_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_packet_stats_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_ack_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_req_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_stats_init_value_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_ring.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-sxevf_rx_ring_buffers_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_free
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-else-statement
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_size-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:variable-vfn-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-chan_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-param-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:variable-ring_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:08x-directive-output-may-be-truncated-writing-bytes-into-a-region-of-size-between-and
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_interrupt.c:warning:variable-dev-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-queue_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-vsi_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-test_mask-set-but-not-used
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-value_back-set-but-not-used
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-sched-debug.c:warning:no-previous-prototype-for-is_prefer_numa
| |-- 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-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-ipv4-tcp_output.c:warning:variable-tcp_hdr_rsrvd_4b-set-but-not-used
|-- x86_64-randconfig-016-20251223
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
| |-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-kh40000_get_direct_dma_ops
| |-- block-genhd.c:warning:no-previous-prototype-for-part_stat_read_all
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-net-ethernet-linkdata-sxe-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-base-trace-sxe_trace.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_phys_id_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_reg_test
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_filter.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_fc_autoneg_localcap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_ring_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_crc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_max_mem_window_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_pfc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rate_limiter_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rx_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_data_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_desc_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_ring_rate_factor_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_auto_clear_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_autoneg_disable_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_mac_addr_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_requested_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_high_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_low_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_port_mask_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rule_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rules_table_reinit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_mask_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_channel_state_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_drv_status_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ack_header_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ov_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_status_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_is_fw_over_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_release
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_rcv
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_header_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_send_done
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_cause_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_fc_autoneg_disabled
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_link_state_up
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_pad_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_txrx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_mem_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_nic_reset
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_no_snoop_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pcie_vt_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_read_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_write_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pf_rst_done_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pfc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_mac_anti_spoof_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_ring_drop_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_is_rx_timestamp_valid
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_tx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rcv_msg_from_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_auto_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_key_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_reg_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_off
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_on
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_ctrl_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_lro_ctrl_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_drop_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ack_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_multi_ring_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_nfs_filter_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pkt_buf_size_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_queue_desc_reg_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_udp_frag_checksum_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_send_msg_to_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_spoof_count_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_regs_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_seq_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_size_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_thresh_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_head_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_info_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_tail_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_insert_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_tag_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_ack_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_req_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_rst_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_pool_filter_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_tag_strip_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlvf_slot_find
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_ctrl_cfg
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_pool_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ipsec.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_dcb
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_rss
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_lsc_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_mailbox_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_msi_irq_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-sxe_allow_inval_mac
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-sxe_multispeed_sfp_link_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ptp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_headers_cleanup
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_rx_buffer_page_offset_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-sxe_set_vf_link_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_tx_proc.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-sxe_txrx_ring_enable
| |-- drivers-net-ethernet-linkdata-sxevf-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_32bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_36bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_reset
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_stop
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_disable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_link_state_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_packet_stats_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_ack_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_req_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_stats_init_value_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_ring.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-sxevf_rx_ring_buffers_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_free
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-else-statement
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_size-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:variable-vfn-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-chan_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-param-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:variable-ring_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:08x-directive-output-may-be-truncated-writing-bytes-into-a-region-of-size-between-and
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_interrupt.c:warning:variable-dev-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-queue_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-vsi_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-test_mask-set-but-not-used
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-value_back-set-but-not-used
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-sched-debug.c:warning:no-previous-prototype-for-is_prefer_numa
| |-- mm-gmem.c:warning:unused-variable-nid
| |-- 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
| `-- net-ipv4-tcp_output.c:warning:variable-tcp_hdr_rsrvd_4b-set-but-not-used
|-- x86_64-randconfig-076-20251223
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:variable-vfn-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-queue_mgt-set-but-not-used
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| `-- net-ipv4-tcp_output.c:warning:variable-tcp_hdr_rsrvd_4b-set-but-not-used
|-- x86_64-randconfig-121-20251215
| |-- lib-iov_iter.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-void
| |-- lib-overflow_kunit.c:sparse:sparse:cast-truncates-bits-from-constant-value-(ffffff01-becomes-)
| |-- lib-percpu_counter.c:sparse:sparse:cast-removes-address-space-__percpu-of-expression
| `-- lib-percpu_counter.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-signed-int-noderef-usertype-__percpu-counters-got-void
`-- x86_64-randconfig-r121-20251215
|-- drivers-video-fbdev-ls2k500sfb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-char-preg
|-- drivers-video-fbdev-ls2k500sfb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|-- drivers-video-fbdev-ls2k500sfb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void-static-p
|-- drivers-video-fbdev-ls2k500sfb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-char-preg
|-- drivers-video-fbdev-ls2k500sfb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-void-static-p
|-- drivers-video-fbdev-ls2k500sfb.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-char-penv-got-void-noderef-__iomem
|-- drivers-video-fbdev-ls2k500sfb.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-char-preg-got-void-noderef-__iomem
|-- drivers-video-fbdev-ls2k500sfb.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-p-got-void-noderef-__iomem
`-- drivers-video-fbdev-ls2k500sfb.c:sparse:sparse:symbol-ls2k500sfb_interrupt-was-not-declared.-Should-it-be-static
elapsed time: 765m
configs tested: 41
configs skipped: 61
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 defconfig gcc-15.1.0
arm64 randconfig-001-20251223 clang-17
arm64 randconfig-002-20251223 clang-22
arm64 randconfig-003-20251223 clang-18
arm64 randconfig-004-20251223 gcc-9.5.0
loongarch allmodconfig clang-19
loongarch allnoconfig clang-22
loongarch defconfig clang-19
loongarch randconfig-001-20251223 gcc-15.1.0
loongarch randconfig-002-20251223 clang-22
x86_64 allmodconfig clang-20
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20251223 clang-20
x86_64 buildonly-randconfig-002-20251223 clang-20
x86_64 buildonly-randconfig-003-20251223 gcc-14
x86_64 buildonly-randconfig-004-20251223 gcc-14
x86_64 buildonly-randconfig-005-20251223 clang-20
x86_64 buildonly-randconfig-006-20251223 clang-20
x86_64 defconfig gcc-14
x86_64 randconfig-001-20251223 gcc-14
x86_64 randconfig-002-20251223 clang-20
x86_64 randconfig-003-20251223 gcc-14
x86_64 randconfig-004-20251223 clang-20
x86_64 randconfig-005-20251223 gcc-14
x86_64 randconfig-006-20251223 clang-20
x86_64 randconfig-011-20251223 gcc-14
x86_64 randconfig-012-20251223 clang-20
x86_64 randconfig-013-20251223 clang-20
x86_64 randconfig-014-20251223 clang-20
x86_64 randconfig-015-20251223 gcc-14
x86_64 randconfig-016-20251223 gcc-14
x86_64 randconfig-071-20251223 gcc-14
x86_64 randconfig-072-20251223 clang-20
x86_64 randconfig-073-20251223 clang-20
x86_64 randconfig-074-20251223 gcc-14
x86_64 randconfig-075-20251223 gcc-14
x86_64 randconfig-076-20251223 clang-20
x86_64 rhel-9.4-rust clang-20
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: 岳智超 <yuezhichao1(a)h-partners.com>
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IDDE4S?from=project-issue
CVE: NA
--------------------------------
Add thread irq for io queue
Signed-off-by: 岳智超 <yuezhichao1(a)h-partners.com>
---
drivers/scsi/hisi_raid/hiraid.h | 1 +
drivers/scsi/hisi_raid/hiraid_main.c | 61 ++++++++++++++++++++++++++--
2 files changed, 58 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/hisi_raid/hiraid.h b/drivers/scsi/hisi_raid/hiraid.h
index 1ebc3dd..bc4e05a 100644
--- a/drivers/scsi/hisi_raid/hiraid.h
+++ b/drivers/scsi/hisi_raid/hiraid.h
@@ -683,6 +683,7 @@ struct hiraid_queue {
atomic_t inflight;
void *sense_buffer_virt;
dma_addr_t sense_buffer_phy;
+ s32 pci_irq;
struct dma_pool *prp_small_pool;
};
diff --git a/drivers/scsi/hisi_raid/hiraid_main.c b/drivers/scsi/hisi_raid/hiraid_main.c
index f84182f..ee25893 100644
--- a/drivers/scsi/hisi_raid/hiraid_main.c
+++ b/drivers/scsi/hisi_raid/hiraid_main.c
@@ -107,6 +107,13 @@ static u32 log_debug_switch;
module_param(log_debug_switch, uint, 0644);
MODULE_PARM_DESC(log_debug_switch, "set log state, default zero for switch off");
+static bool threaded_irq = true;
+module_param(threaded_irq, bool, 0444);
+MODULE_PARM_DESC(threaded_irq, "use threaded irq for io queue, default on");
+
+static u32 poll_delay_min = 9;
+static u32 poll_delay_max = 19;
+
static int extra_pool_num_set(const char *val, const struct kernel_param *kp)
{
u8 n = 0;
@@ -153,7 +160,7 @@ static struct workqueue_struct *work_queue;
__func__, ##__VA_ARGS__); \
} while (0)
-#define HIRAID_DRV_VERSION "1.1.0.0"
+#define HIRAID_DRV_VERSION "1.1.0.1"
#define ADMIN_TIMEOUT (admin_tmout * HZ)
#define USRCMD_TIMEOUT (180 * HZ)
@@ -1305,6 +1312,7 @@ static int hiraid_alloc_queue(struct hiraid_dev *hdev, u16 qid, u16 depth)
hiraidq->q_depth = depth;
hiraidq->qid = qid;
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
hdev->queue_count++;
return 0;
@@ -1646,6 +1654,39 @@ static irqreturn_t hiraid_handle_irq(int irq, void *data)
return ret;
}
+static irqreturn_t hiraid_io_poll(int irq, void *data)
+{
+ struct hiraid_queue *hiraidq = data;
+ irqreturn_t ret = IRQ_NONE;
+ u16 start, end;
+
+ do {
+ spin_lock(&hiraidq->cq_lock);
+ hiraid_process_cq(hiraidq, &start, &end, -1);
+ hiraidq->last_cq_head = hiraidq->cq_head;
+ spin_unlock(&hiraidq->cq_lock);
+
+ if (start != end) {
+ hiraid_complete_cqes(hiraidq, start, end);
+ ret = IRQ_HANDLED;
+ }
+ usleep_range(poll_delay_min, poll_delay_max);
+ } while (start != end);
+ enable_irq(hiraidq->pci_irq);
+ return ret;
+}
+
+static irqreturn_t hiraid_io_irq(int irq, void *data)
+{
+ struct hiraid_queue *q = data;
+
+ if (hiraid_cqe_pending(q)) {
+ disable_irq_nosync(q->pci_irq);
+ return IRQ_WAKE_THREAD;
+ }
+ return IRQ_NONE;
+}
+
static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
{
struct hiraid_queue *adminq = &hdev->queues[0];
@@ -1681,9 +1722,11 @@ static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
NULL, adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
adminq->cq_vector = -1;
+ adminq->pci_irq = -1;
return ret;
}
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hiraid_init_queue(adminq, 0);
dev_info(hdev->dev, "setup admin queue success, queuecount[%d] online[%d] pagesize[%d]\n",
@@ -1958,14 +2001,23 @@ static int hiraid_create_queue(struct hiraid_queue *hiraidq, u16 qid)
goto delete_cq;
hiraidq->cq_vector = cq_vector;
- ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq, NULL,
- hiraidq, "hiraid%d_q%d", hdev->instance, qid);
+ if (threaded_irq)
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_io_irq,
+ hiraid_io_poll, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
+ else
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq,
+ NULL, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
+
if (ret) {
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
dev_err(hdev->dev, "request queue[%d] irq failed\n", qid);
goto delete_sq;
}
+ hiraidq->pci_irq = pci_irq_vector(hdev->pdev, hiraidq->cq_vector);
hiraid_init_queue(hiraidq, qid);
return 0;
@@ -2122,10 +2174,11 @@ static int hiraid_setup_io_queues(struct hiraid_dev *hdev)
adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
dev_err(hdev->dev, "request admin irq failed\n");
+ adminq->pci_irq = -1;
adminq->cq_vector = -1;
return ret;
}
-
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hdev->online_queues++;
for (i = hdev->queue_count; i <= hdev->max_qid; i++) {
--
2.45.1.windows.1
2
2
From: Eric Dumazet <edumazet(a)google.com>
stable inclusion
from stable-v6.6.117
commit baa61dcaa50b7141048c8d2aede7fe9ed8f21d11
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDEYF
CVE: CVE-2025-68200
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 4ef92743625818932b9c320152b58274c05e5053 ]
syzbot found that cls_bpf_classify() is able to change
tc_skb_cb(skb)->drop_reason triggering a warning in sk_skb_reason_drop().
WARNING: CPU: 0 PID: 5965 at net/core/skbuff.c:1192 __sk_skb_reason_drop net/core/skbuff.c:1189 [inline]
WARNING: CPU: 0 PID: 5965 at net/core/skbuff.c:1192 sk_skb_reason_drop+0x76/0x170 net/core/skbuff.c:1214
struct tc_skb_cb has been added in commit ec624fe740b4 ("net/sched:
Extend qdisc control block with tc control block"), which added a wrong
interaction with db58ba459202 ("bpf: wire in data and data_end for
cls_act_bpf").
drop_reason was added later.
Add bpf_prog_run_data_pointers() helper to save/restore the net_sched
storage colliding with BPF data_meta/data_end.
Fixes: ec624fe740b4 ("net/sched: Extend qdisc control block with tc control block")
Reported-by: syzbot <syzkaller(a)googlegroups.com>
Closes: https://lore.kernel.org/netdev/6913437c.a70a0220.22f260.013b.GAE@google.com/
Signed-off-by: Eric Dumazet <edumazet(a)google.com>
Signed-off-by: Martin KaFai Lau <martin.lau(a)kernel.org>
Reviewed-by: Victor Nogueira <victor(a)mojatatu.com>
Acked-by: Jamal Hadi Salim <jhs(a)mojatatu.com>
Link: https://patch.msgid.link/20251112125516.1563021-1-edumazet@google.com
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Conflicts:
net/sched/act_bpf.c
net/sched/cls_bpf.c
[ctx conflicts]
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
include/linux/filter.h | 20 ++++++++++++++++++++
net/sched/act_bpf.c | 6 ++----
net/sched/cls_bpf.c | 6 ++----
3 files changed, 24 insertions(+), 8 deletions(-)
diff --git a/include/linux/filter.h b/include/linux/filter.h
index a7c0caa8b7ad..4ae423d8533f 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -685,6 +685,26 @@ static inline void bpf_compute_data_pointers(struct sk_buff *skb)
cb->data_end = skb->data + skb_headlen(skb);
}
+static inline int bpf_prog_run_data_pointers(
+ const struct bpf_prog *prog,
+ struct sk_buff *skb)
+{
+ struct bpf_skb_data_end *cb = (struct bpf_skb_data_end *)skb->cb;
+ void *save_data_meta, *save_data_end;
+ int res;
+
+ save_data_meta = cb->data_meta;
+ save_data_end = cb->data_end;
+
+ bpf_compute_data_pointers(skb);
+ res = bpf_prog_run(prog, skb);
+
+ cb->data_meta = save_data_meta;
+ cb->data_end = save_data_end;
+
+ return res;
+}
+
/* Similar to bpf_compute_data_pointers(), except that save orginal
* data in cb->data and cb->meta_data for restore.
*/
diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c
index b0455fda7d0b..223cc157312a 100644
--- a/net/sched/act_bpf.c
+++ b/net/sched/act_bpf.c
@@ -47,12 +47,10 @@ TC_INDIRECT_SCOPE int tcf_bpf_act(struct sk_buff *skb,
filter = rcu_dereference(prog->filter);
if (at_ingress) {
__skb_push(skb, skb->mac_len);
- bpf_compute_data_pointers(skb);
- filter_res = bpf_prog_run(filter, skb);
+ filter_res = bpf_prog_run_data_pointers(filter, skb);
__skb_pull(skb, skb->mac_len);
} else {
- bpf_compute_data_pointers(skb);
- filter_res = bpf_prog_run(filter, skb);
+ filter_res = bpf_prog_run_data_pointers(filter, skb);
}
if (unlikely(!skb->tstamp && skb->mono_delivery_time))
skb->mono_delivery_time = 0;
diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c
index 382c7a71f81f..05f718dd09a6 100644
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
@@ -97,12 +97,10 @@ TC_INDIRECT_SCOPE int cls_bpf_classify(struct sk_buff *skb,
} else if (at_ingress) {
/* It is safe to push/pull even if skb_shared() */
__skb_push(skb, skb->mac_len);
- bpf_compute_data_pointers(skb);
- filter_res = bpf_prog_run(prog->filter, skb);
+ filter_res = bpf_prog_run_data_pointers(prog->filter, skb);
__skb_pull(skb, skb->mac_len);
} else {
- bpf_compute_data_pointers(skb);
- filter_res = bpf_prog_run(prog->filter, skb);
+ filter_res = bpf_prog_run_data_pointers(prog->filter, skb);
}
if (unlikely(!skb->tstamp && skb->mono_delivery_time))
skb->mono_delivery_time = 0;
--
2.34.1
2
1
[PATCH OLK-6.6] bpf: account for current allocated stack depth in widen_imprecise_scalars()
by Pu Lehui 23 Dec '25
by Pu Lehui 23 Dec '25
23 Dec '25
From: Eduard Zingerman <eddyz87(a)gmail.com>
stable inclusion
from stable-v6.6.117
commit 64b12dca2b0abcb5fc0542887d18b926ea5cf711
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDEYR
CVE: CVE-2025-68208
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit b0c8e6d3d866b6a7f73877f71968dbffd27b7785 ]
The usage pattern for widen_imprecise_scalars() looks as follows:
prev_st = find_prev_entry(env, ...);
queued_st = push_stack(...);
widen_imprecise_scalars(env, prev_st, queued_st);
Where prev_st is an ancestor of the queued_st in the explored states
tree. This ancestor is not guaranteed to have same allocated stack
depth as queued_st. E.g. in the following case:
def main():
for i in 1..2:
foo(i) // same callsite, differnt param
def foo(i):
if i == 1:
use 128 bytes of stack
iterator based loop
Here, for a second 'foo' call prev_st->allocated_stack is 128,
while queued_st->allocated_stack is much smaller.
widen_imprecise_scalars() needs to take this into account and avoid
accessing bpf_verifier_state->frame[*]->stack out of bounds.
Fixes: 2793a8b015f7 ("bpf: exact states comparison for iterator convergence checks")
Reported-by: Emil Tsalapatis <emil(a)etsalapatis.com>
Signed-off-by: Eduard Zingerman <eddyz87(a)gmail.com>
Link: https://lore.kernel.org/r/20251114025730.772723-1-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
kernel/bpf/verifier.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 26086c893dfb..ce1f5a9bdd9a 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -7918,7 +7918,7 @@ static int widen_imprecise_scalars(struct bpf_verifier_env *env,
struct bpf_verifier_state *cur)
{
struct bpf_func_state *fold, *fcur;
- int i, fr;
+ int i, fr, num_slots;
reset_idmap_scratch(env);
for (fr = old->curframe; fr >= 0; fr--) {
@@ -7931,7 +7931,9 @@ static int widen_imprecise_scalars(struct bpf_verifier_env *env,
&fcur->regs[i],
&env->idmap_scratch);
- for (i = 0; i < fold->allocated_stack / BPF_REG_SIZE; i++) {
+ num_slots = min(fold->allocated_stack / BPF_REG_SIZE,
+ fcur->allocated_stack / BPF_REG_SIZE);
+ for (i = 0; i < num_slots; i++) {
if (!is_spilled_reg(&fold->stack[i]) ||
!is_spilled_reg(&fcur->stack[i]))
continue;
--
2.34.1
2
1
[openeuler:OLK-6.6 2/2] mm/oom_kill.c:316: warning: Function parameter or member 'task' not described in 'oom_next_task'
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
Hi Jing,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: be8d95530886b0aaa5a59b5c43a285667c9eebc6 [2/2] memcg: support priority for oom
config: arm64-randconfig-004-20251223 (https://download.01.org/0day-ci/archive/20251223/202512231015.AeGVhu0Q-lkp@…)
compiler: aarch64-linux-gcc (GCC) 9.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512231015.AeGVhu0Q-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/202512231015.AeGVhu0Q-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> mm/oom_kill.c:316: warning: Function parameter or member 'task' not described in 'oom_next_task'
>> mm/oom_kill.c:316: warning: Function parameter or member 'oc' not described in 'oom_next_task'
>> mm/oom_kill.c:316: warning: Function parameter or member 'points' not described in 'oom_next_task'
>> mm/oom_kill.c:316: warning: expecting prototype for We choose the task in low(). Prototype was for oom_next_task() instead
vim +316 mm/oom_kill.c
308
309 #ifdef CONFIG_MEMCG_OOM_PRIORITY
310 /**
311 * We choose the task in low-priority memcg firstly. For the same state, we
312 * choose the task with the highest number of 'points'.
313 */
314 static bool oom_next_task(struct task_struct *task, struct oom_control *oc,
315 long points)
> 316 {
317 struct mem_cgroup *cur_memcg;
318 struct mem_cgroup *oc_memcg;
319 int cur_memcg_prio, oc_memcg_prio;
320
321 if (points == LONG_MIN)
322 return true;
323
324 if (!oc->chosen)
325 return false;
326
327 rcu_read_lock();
328 oc_memcg = mem_cgroup_from_task(oc->chosen);
329 cur_memcg = mem_cgroup_from_task(task);
330 oc_memcg_prio = READ_ONCE(oc_memcg->oom_prio);
331 cur_memcg_prio = READ_ONCE(cur_memcg->oom_prio);
332 rcu_read_unlock();
333
334 if (cur_memcg_prio == oc_memcg_prio)
335 return points < oc->chosen_points;
336
337 /* if oc is low-priority, so skip the task */
338 if (oc_memcg_prio == MEMCG_LOW_OOM_PRIORITY)
339 return true;
340
341 return false;
342 }
343 #else
344 static inline bool oom_next_task(struct task_struct *task,
345 struct oom_control *oc, long points)
346 {
347 return points == LONG_MIN || points < oc->chosen_points;
348 }
349 #endif
350
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3541/3541] kernel/sched/fair.c:9005:51: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: c52c17a85f1fa9cde2bcb15359096634cfd9eb7c [3541/3541] sched: Add tracepoint for qos smt expeller
config: arm64-randconfig-r113-20251213 (https://download.01.org/0day-ci/archive/20251223/202512231020.T3d5Cq3i-lkp@…)
compiler: aarch64-linux-gcc (GCC) 12.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512231020.T3d5Cq3i-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/202512231020.T3d5Cq3i-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
kernel/sched/fair.c:151:14: sparse: sparse: symbol 'sysctl_overload_detect_period' was not declared. Should it be static?
kernel/sched/fair.c:152:14: sparse: sparse: symbol 'sysctl_offline_wait_interval' was not declared. Should it be static?
kernel/sched/fair.c:163:14: sparse: sparse: symbol 'sysctl_sched_prio_load_balance_enabled' was not declared. Should it be static?
kernel/sched/fair.c:191:5: sparse: sparse: symbol 'sysctl_sched_util_low_pct' was not declared. Should it be static?
kernel/sched/fair.c:1283:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity const *se @@ got struct sched_entity [noderef] __rcu * @@
kernel/sched/fair.c:1283:34: sparse: expected struct sched_entity const *se
kernel/sched/fair.c:1283:34: sparse: got struct sched_entity [noderef] __rcu *
kernel/sched/fair.c:3066:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu * @@
kernel/sched/fair.c:3066:13: sparse: expected struct task_struct *tsk
kernel/sched/fair.c:3066:13: sparse: got struct task_struct [noderef] __rcu *
kernel/sched/fair.c:13203:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:13203:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:13203:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:5161:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:5161:25: sparse: struct sparsemask [noderef] __rcu *
kernel/sched/fair.c:5161:25: sparse: struct sparsemask *
kernel/sched/fair.c:5178:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:5178:25: sparse: struct sparsemask [noderef] __rcu *
kernel/sched/fair.c:5178:25: sparse: struct sparsemask *
kernel/sched/fair.c:13559:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:13559:25: sparse: struct sparsemask [noderef] __rcu *
kernel/sched/fair.c:13559:25: sparse: struct sparsemask *
kernel/sched/fair.c:6012:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:6012:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:6012:22: sparse: struct task_struct *
kernel/sched/fair.c:8121:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:8121:20: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:8121:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:8436:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:8436:9: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:8436:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:8548:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:8548:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:8548:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:8774:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:8774:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:8774:22: sparse: struct task_struct *
>> kernel/sched/fair.c:9005:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *sibling_p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:9005:51: sparse: expected struct task_struct *sibling_p
kernel/sched/fair.c:9005:51: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:9010:30: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:9010:30: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:9010:30: sparse: struct task_struct *
kernel/sched/fair.c:9084:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:9332:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:10403:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:11040:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:11040:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:11040:22: sparse: struct task_struct *
kernel/sched/fair.c:12481:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:12481:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:12481:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:12138:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sd_parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:12138:44: sparse: expected struct sched_domain *sd_parent
kernel/sched/fair.c:12138:44: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:12577:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:12577:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:12577:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:3012:9: sparse: sparse: context imbalance in 'task_numa_placement' - different lock contexts for basic block
kernel/sched/fair.c:7307:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:7307:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7307:28: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:7313:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:7313:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7313:28: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:7320:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:7320:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7320:28: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:7328:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:7328:17: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:7328:17: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c: note: in included file:
kernel/sched/sched.h:2338:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2338:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2338:9: sparse: struct task_struct *
kernel/sched/sched.h:2338:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2338:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2338:9: sparse: struct task_struct *
kernel/sched/sched.h:2174:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2174:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2174:25: sparse: struct task_struct *
kernel/sched/sched.h:2174:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2174:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2174:25: sparse: struct task_struct *
vim +9005 kernel/sched/fair.c
8984
8985 static bool _qos_smt_check_need_resched(int this_cpu, struct rq *rq)
8986 {
8987 int cpu;
8988
8989 if (!sched_smt_active())
8990 return false;
8991
8992 for_each_cpu(cpu, cpu_smt_mask(this_cpu)) {
8993 if (cpu == this_cpu)
8994 continue;
8995
8996 /*
8997 * There are two cases rely on the set need_resched to drive away
8998 * offline task:
8999 * a) The qos_smt_status of siblings cpu is online, the task of curr cpu is offline;
9000 * b) The qos_smt_status of siblings cpu is offline, the task of curr cpu is idle,
9001 * and current cpu only has SCHED_IDLE tasks enqueued.
9002 */
9003 if (per_cpu(qos_smt_status, cpu) == QOS_LEVEL_ONLINE &&
9004 task_group(current)->qos_level < QOS_LEVEL_ONLINE) {
> 9005 trace_sched_qos_smt_expel(cpu_curr(cpu), per_cpu(qos_smt_status, cpu));
9006 return true;
9007 }
9008
9009 if (per_cpu(qos_smt_status, cpu) == QOS_LEVEL_OFFLINE &&
9010 rq->curr == rq->idle && sched_idle_cpu(this_cpu)) {
9011 trace_sched_qos_smt_expel(cpu_curr(cpu), per_cpu(qos_smt_status, cpu));
9012 return true;
9013 }
9014 }
9015
9016 return false;
9017 }
9018
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 2/2] mm/vmalloc.c:4443: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
Hi Wang,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: 9b1283f2bec2134030e1e099b900579f1f03840e [2/2] mm/vmalloc: Extend vmalloc usage about hugepage
config: arm64-randconfig-004-20251223 (https://download.01.org/0day-ci/archive/20251223/202512230928.obIRItp9-lkp@…)
compiler: aarch64-linux-gcc (GCC) 9.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512230928.obIRItp9-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/202512230928.obIRItp9-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> mm/vmalloc.c:4443: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
vim +4443 mm/vmalloc.c
4423
4424 /**
4425 * remap_vmalloc_hugepage_range_partial - map vmalloc hugepages
4426 * to userspace
4427 * @vma: vma to cover
4428 * @uaddr: target user address to start at
4429 * @kaddr: virtual address of vmalloc hugepage kernel memory
4430 * @size: size of map area
4431 *
4432 * Returns: 0 for success, -Exxx on failure
4433 *
4434 * This function checks that @kaddr is a valid vmalloc'ed area,
4435 * and that it is big enough to cover the range starting at
4436 * @uaddr in @vma. Will return failure if that criteria isn't
4437 * met.
4438 *
4439 * Similar to remap_pfn_range() (see mm/memory.c)
4440 */
4441 int remap_vmalloc_hugepage_range_partial(struct vm_area_struct *vma, unsigned long uaddr,
4442 void *kaddr, unsigned long pgoff, unsigned long size)
> 4443 {
4444 struct vm_struct *area;
4445 unsigned long off;
4446 unsigned long end_index;
4447
4448 if (check_shl_overflow(pgoff, PMD_SHIFT, &off))
4449 return -EINVAL;
4450
4451 size = ALIGN(size, PMD_SIZE);
4452
4453 if (!IS_ALIGNED(uaddr, PMD_SIZE) || !IS_ALIGNED((unsigned long)kaddr, PMD_SIZE))
4454 return -EINVAL;
4455
4456 area = find_vm_area(kaddr);
4457 if (!area)
4458 return -EINVAL;
4459
4460 if (!(area->flags & VM_USERMAP))
4461 return -EINVAL;
4462
4463 if (check_add_overflow(size, off, &end_index) ||
4464 end_index > get_vm_area_size(area))
4465 return -EINVAL;
4466 kaddr += off;
4467
4468 do {
4469 struct page *page = vmalloc_to_page(kaddr);
4470 int ret;
4471
4472 ret = hugetlb_insert_hugepage_pte_by_pa(vma->vm_mm, uaddr,
4473 vma->vm_page_prot, page_to_phys(page));
4474 if (ret)
4475 return ret;
4476
4477 uaddr += PMD_SIZE;
4478 kaddr += PMD_SIZE;
4479 size -= PMD_SIZE;
4480 } while (size > 0);
4481
4482 vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP);
4483
4484 return 0;
4485 }
4486 EXPORT_SYMBOL(remap_vmalloc_hugepage_range_partial);
4487
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3544/3544] lib/iov_iter.c:330:38: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: 19e163fcb526efb8bf229887f399ddf4847ceecb [3544/3544] iov_iter, x86: Be consistent about the __user tag on copy_mc_to_user()
config: x86_64-randconfig-121-20251215 (https://download.01.org/0day-ci/archive/20251223/202512230823.urp3AnL9-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/20251223/202512230823.urp3AnL9-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/202512230823.urp3AnL9-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> lib/iov_iter.c:330:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void * @@
lib/iov_iter.c:330:38: sparse: expected void [noderef] __user *to
lib/iov_iter.c:330:38: sparse: got void *
lib/iov_iter.c: note: in included file (through arch/x86/include/asm/uaccess.h, include/linux/uaccess.h, include/linux/sched/task.h, ...):
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
lib/iov_iter.c: note: in included file:
include/net/checksum.h:33:39: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __wsum [usertype] sum @@ got unsigned int @@
include/net/checksum.h:33:39: sparse: expected restricted __wsum [usertype] sum
include/net/checksum.h:33:39: sparse: got unsigned int
include/net/checksum.h:33:39: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __wsum [usertype] sum @@ got unsigned int @@
include/net/checksum.h:33:39: sparse: expected restricted __wsum [usertype] sum
include/net/checksum.h:33:39: sparse: got unsigned int
include/net/checksum.h:41:45: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __wsum [usertype] sum @@ got unsigned int @@
include/net/checksum.h:41:45: sparse: expected restricted __wsum [usertype] sum
include/net/checksum.h:41:45: sparse: got unsigned int
include/net/checksum.h:41:45: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __wsum [usertype] sum @@ got unsigned int @@
include/net/checksum.h:41:45: sparse: expected restricted __wsum [usertype] sum
include/net/checksum.h:41:45: sparse: got unsigned int
lib/iov_iter.c: note: in included file (through arch/x86/include/asm/uaccess.h, include/linux/uaccess.h, include/linux/sched/task.h, ...):
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
arch/x86/include/asm/uaccess_64.h:88:24: sparse: sparse: cast removes address space '__user' of expression
vim +330 lib/iov_iter.c
c35e02480014f7 mm/iov_iter.c Matthew Wilcox 2014-08-01 324
ec6347bb43395c lib/iov_iter.c Dan Williams 2020-10-05 325 #ifdef CONFIG_ARCH_HAS_COPY_MC
ec6347bb43395c lib/iov_iter.c Dan Williams 2020-10-05 326 static int copyout_mc(void __user *to, const void *from, size_t n)
8780356ef630aa lib/iov_iter.c Dan Williams 2018-05-03 327 {
96d4f267e40f95 lib/iov_iter.c Linus Torvalds 2019-01-03 328 if (access_ok(to, n)) {
d0ef4c360f7ea3 lib/iov_iter.c Marco Elver 2020-01-21 329 instrument_copy_to_user(to, from, n);
ec6347bb43395c lib/iov_iter.c Dan Williams 2020-10-05 @330 n = copy_mc_to_user((__force void *) to, from, n);
8780356ef630aa lib/iov_iter.c Dan Williams 2018-05-03 331 }
8780356ef630aa lib/iov_iter.c Dan Williams 2018-05-03 332 return n;
8780356ef630aa lib/iov_iter.c Dan Williams 2018-05-03 333 }
8780356ef630aa lib/iov_iter.c Dan Williams 2018-05-03 334
:::::: The code at line 330 was first introduced by commit
:::::: ec6347bb43395cb92126788a1a5b25302543f815 x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}()
:::::: TO: Dan Williams <dan.j.williams(a)intel.com>
:::::: CC: Borislav Petkov <bp(a)suse.de>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3541/3541] kernel/sched/fair.c:151:14: sparse: sparse: symbol 'sysctl_sched_prio_load_balance_enabled' was not declared. Should it be static?
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: 89bf80a4d6d5ba852b9042480e0be23c2c4a628c [3541/3541] sched: Introduce priority load balance for qos scheduler
config: arm64-randconfig-r113-20251213 (https://download.01.org/0day-ci/archive/20251223/202512230734.tlvqbdf4-lkp@…)
compiler: aarch64-linux-gcc (GCC) 12.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512230734.tlvqbdf4-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/202512230734.tlvqbdf4-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
kernel/sched/fair.c:143:14: sparse: sparse: symbol 'sysctl_overload_detect_period' was not declared. Should it be static?
kernel/sched/fair.c:144:14: sparse: sparse: symbol 'sysctl_offline_wait_interval' was not declared. Should it be static?
>> kernel/sched/fair.c:151:14: sparse: sparse: symbol 'sysctl_sched_prio_load_balance_enabled' was not declared. Should it be static?
kernel/sched/fair.c:179:5: sparse: sparse: symbol 'sysctl_sched_util_low_pct' was not declared. Should it be static?
kernel/sched/fair.c:1271:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity const *se @@ got struct sched_entity [noderef] __rcu * @@
kernel/sched/fair.c:1271:34: sparse: expected struct sched_entity const *se
kernel/sched/fair.c:1271:34: sparse: got struct sched_entity [noderef] __rcu *
kernel/sched/fair.c:3054:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu * @@
kernel/sched/fair.c:3054:13: sparse: expected struct task_struct *tsk
kernel/sched/fair.c:3054:13: sparse: got struct task_struct [noderef] __rcu *
kernel/sched/fair.c:12846:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:12846:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:12846:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:5925:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:5925:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:5925:22: sparse: struct task_struct *
kernel/sched/fair.c:7998:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:7998:20: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:7998:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:8310:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:8310:9: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:8310:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:8421:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:8421:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:8421:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:8641:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:8641:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:8641:22: sparse: struct task_struct *
kernel/sched/fair.c:8999:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:8999:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:8999:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:10040:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:10040:40: sparse: expected struct sched_domain *child
kernel/sched/fair.c:10040:40: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:10677:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:10677:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:10677:22: sparse: struct task_struct *
kernel/sched/fair.c:12118:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:12118:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:12118:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:11775:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sd_parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:11775:44: sparse: expected struct sched_domain *sd_parent
kernel/sched/fair.c:11775:44: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:12214:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:12214:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:12214:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:3000:9: sparse: sparse: context imbalance in 'task_numa_placement' - different lock contexts for basic block
kernel/sched/fair.c:7214:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:7214:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7214:28: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:7220:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:7220:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7220:28: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:7227:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:7227:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7227:28: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:7235:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:7235:17: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:7235:17: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c: note: in included file:
kernel/sched/sched.h:2312:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2312:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2312:9: sparse: struct task_struct *
kernel/sched/sched.h:2148:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2148:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2148:25: sparse: struct task_struct *
kernel/sched/sched.h:2148:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2148:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2148:25: sparse: struct task_struct *
vim +/sysctl_sched_prio_load_balance_enabled +151 kernel/sched/fair.c
149
150 #ifdef CONFIG_QOS_SCHED_PRIO_LB
> 151 unsigned int sysctl_sched_prio_load_balance_enabled;
152 #endif
153
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3557/3557] security/integrity/ima/ima_digest_list.c:164:37: sparse: sparse: cast to restricted __le16
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: 5fbe16a682d5af0c2f7145096851e31e3c921d64 [3557/3557] ima: Execute parser to upload digest lists not recognizable by the kernel
config: arm64-randconfig-r132-20251218 (https://download.01.org/0day-ci/archive/20251223/202512230715.3UJUkD3z-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/20251223/202512230715.3UJUkD3z-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/202512230715.3UJUkD3z-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> security/integrity/ima/ima_digest_list.c:164:37: sparse: sparse: cast to restricted __le16
security/integrity/ima/ima_digest_list.c:165:42: sparse: sparse: cast to restricted __le16
security/integrity/ima/ima_digest_list.c:166:37: sparse: sparse: cast to restricted __le16
>> security/integrity/ima/ima_digest_list.c:167:38: sparse: sparse: cast to restricted __le32
security/integrity/ima/ima_digest_list.c:168:40: sparse: sparse: cast to restricted __le32
>> security/integrity/ima/ima_digest_list.c:416:20: sparse: sparse: symbol 'parser_task' was not declared. Should it be static?
vim +164 security/integrity/ima/ima_digest_list.c
b3fef06570ef2b Roberto Sassu 2023-09-12 138
b3fef06570ef2b Roberto Sassu 2023-09-12 139 int ima_parse_compact_list(loff_t size, void *buf, int op)
b3fef06570ef2b Roberto Sassu 2023-09-12 140 {
b3fef06570ef2b Roberto Sassu 2023-09-12 141 u8 *digest;
b3fef06570ef2b Roberto Sassu 2023-09-12 142 void *bufp = buf, *bufendp = buf + size;
b3fef06570ef2b Roberto Sassu 2023-09-12 143 struct compact_list_hdr *hdr;
b3fef06570ef2b Roberto Sassu 2023-09-12 144 size_t digest_len;
b3fef06570ef2b Roberto Sassu 2023-09-12 145 int ret = 0, i;
b3fef06570ef2b Roberto Sassu 2023-09-12 146
80701e75d21f48 Roberto Sassu 2023-09-12 147 if (!(ima_digest_list_actions & ima_policy_flag))
80701e75d21f48 Roberto Sassu 2023-09-12 148 return -EACCES;
80701e75d21f48 Roberto Sassu 2023-09-12 149
b3fef06570ef2b Roberto Sassu 2023-09-12 150 while (bufp < bufendp) {
b3fef06570ef2b Roberto Sassu 2023-09-12 151 if (bufp + sizeof(*hdr) > bufendp) {
b3fef06570ef2b Roberto Sassu 2023-09-12 152 pr_err("compact list, invalid data\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 153 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 154 }
b3fef06570ef2b Roberto Sassu 2023-09-12 155
b3fef06570ef2b Roberto Sassu 2023-09-12 156 hdr = bufp;
b3fef06570ef2b Roberto Sassu 2023-09-12 157
b3fef06570ef2b Roberto Sassu 2023-09-12 158 if (hdr->version != 1) {
b3fef06570ef2b Roberto Sassu 2023-09-12 159 pr_err("compact list, unsupported version\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 160 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 161 }
b3fef06570ef2b Roberto Sassu 2023-09-12 162
b3fef06570ef2b Roberto Sassu 2023-09-12 163 if (ima_canonical_fmt) {
b3fef06570ef2b Roberto Sassu 2023-09-12 @164 hdr->type = le16_to_cpu(hdr->type);
b3fef06570ef2b Roberto Sassu 2023-09-12 165 hdr->modifiers = le16_to_cpu(hdr->modifiers);
b3fef06570ef2b Roberto Sassu 2023-09-12 166 hdr->algo = le16_to_cpu(hdr->algo);
b3fef06570ef2b Roberto Sassu 2023-09-12 @167 hdr->count = le32_to_cpu(hdr->count);
b3fef06570ef2b Roberto Sassu 2023-09-12 168 hdr->datalen = le32_to_cpu(hdr->datalen);
b3fef06570ef2b Roberto Sassu 2023-09-12 169 }
b3fef06570ef2b Roberto Sassu 2023-09-12 170
b3fef06570ef2b Roberto Sassu 2023-09-12 171 if (hdr->algo >= HASH_ALGO__LAST)
b3fef06570ef2b Roberto Sassu 2023-09-12 172 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 173
b3fef06570ef2b Roberto Sassu 2023-09-12 174 digest_len = hash_digest_size[hdr->algo];
b3fef06570ef2b Roberto Sassu 2023-09-12 175
b3fef06570ef2b Roberto Sassu 2023-09-12 176 if (hdr->type >= COMPACT__LAST) {
b3fef06570ef2b Roberto Sassu 2023-09-12 177 pr_err("compact list, invalid type %d\n", hdr->type);
b3fef06570ef2b Roberto Sassu 2023-09-12 178 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 179 }
b3fef06570ef2b Roberto Sassu 2023-09-12 180
b3fef06570ef2b Roberto Sassu 2023-09-12 181 bufp += sizeof(*hdr);
b3fef06570ef2b Roberto Sassu 2023-09-12 182
b3fef06570ef2b Roberto Sassu 2023-09-12 183 for (i = 0; i < hdr->count; i++) {
b3fef06570ef2b Roberto Sassu 2023-09-12 184 if (bufp + digest_len > bufendp) {
b3fef06570ef2b Roberto Sassu 2023-09-12 185 pr_err("compact list, invalid data\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 186 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 187 }
b3fef06570ef2b Roberto Sassu 2023-09-12 188
b3fef06570ef2b Roberto Sassu 2023-09-12 189 digest = bufp;
b3fef06570ef2b Roberto Sassu 2023-09-12 190 bufp += digest_len;
b3fef06570ef2b Roberto Sassu 2023-09-12 191
b3fef06570ef2b Roberto Sassu 2023-09-12 192 if (op == DIGEST_LIST_OP_ADD)
b3fef06570ef2b Roberto Sassu 2023-09-12 193 ret = ima_add_digest_data_entry(digest,
b3fef06570ef2b Roberto Sassu 2023-09-12 194 hdr->algo, hdr->type, hdr->modifiers);
b3fef06570ef2b Roberto Sassu 2023-09-12 195 else if (op == DIGEST_LIST_OP_DEL)
b3fef06570ef2b Roberto Sassu 2023-09-12 196 ima_del_digest_data_entry(digest, hdr->algo,
b3fef06570ef2b Roberto Sassu 2023-09-12 197 hdr->type);
b3fef06570ef2b Roberto Sassu 2023-09-12 198 if (ret < 0 && ret != -EEXIST)
b3fef06570ef2b Roberto Sassu 2023-09-12 199 return ret;
b3fef06570ef2b Roberto Sassu 2023-09-12 200 }
b3fef06570ef2b Roberto Sassu 2023-09-12 201
b3fef06570ef2b Roberto Sassu 2023-09-12 202 if (i != hdr->count ||
b3fef06570ef2b Roberto Sassu 2023-09-12 203 bufp != (void *)hdr + sizeof(*hdr) + hdr->datalen) {
b3fef06570ef2b Roberto Sassu 2023-09-12 204 pr_err("compact list, invalid data\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 205 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 206 }
b3fef06570ef2b Roberto Sassu 2023-09-12 207 }
b3fef06570ef2b Roberto Sassu 2023-09-12 208
b3fef06570ef2b Roberto Sassu 2023-09-12 209 return bufp - buf;
b3fef06570ef2b Roberto Sassu 2023-09-12 210 }
80701e75d21f48 Roberto Sassu 2023-09-12 211
:::::: The code at line 164 was first introduced by commit
:::::: b3fef06570ef2b61dd7181e5c1d128bfcbf6b2ef ima: Add parser of compact digest list
:::::: TO: Roberto Sassu <roberto.sassu(a)huawei.com>
:::::: CC: zgzxx <zhangguangzhi3(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3544/3544] drivers/video/fbdev/ls2k500sfb.c:143:27: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: 8248d42b7c5f4338a54f26d8efebec8614b43466 [3544/3544] fbdev: add ls2k500sfb driver for ls2k500 bmc.
config: x86_64-randconfig-r121-20251215 (https://download.01.org/0day-ci/archive/20251223/202512230505.cMBSrJNZ-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/20251223/202512230505.cMBSrJNZ-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/202512230505.cMBSrJNZ-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/ls2k500sfb.c:143:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *static p @@ got void [noderef] __iomem * @@
drivers/video/fbdev/ls2k500sfb.c:143:27: sparse: expected void *static p
drivers/video/fbdev/ls2k500sfb.c:143:27: sparse: got void [noderef] __iomem *
>> drivers/video/fbdev/ls2k500sfb.c:145:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *static p @@
drivers/video/fbdev/ls2k500sfb.c:145:30: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:145:30: sparse: got void *static p
>> drivers/video/fbdev/ls2k500sfb.c:199:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *static p @@
drivers/video/fbdev/ls2k500sfb.c:199:36: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:199:36: sparse: got void *static p
>> drivers/video/fbdev/ls2k500sfb.c:201:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@
drivers/video/fbdev/ls2k500sfb.c:201:37: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:201:37: sparse: got void *
>> drivers/video/fbdev/ls2k500sfb.c:254:13: sparse: sparse: symbol 'ls2k500sfb_interrupt' was not declared. Should it be static?
>> drivers/video/fbdev/ls2k500sfb.c:456:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got char *preg @@
drivers/video/fbdev/ls2k500sfb.c:456:28: sparse: expected void const volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:456:28: sparse: got char *preg
>> drivers/video/fbdev/ls2k500sfb.c:457:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got char *preg @@
drivers/video/fbdev/ls2k500sfb.c:457:32: sparse: expected void volatile [noderef] __iomem *addr
drivers/video/fbdev/ls2k500sfb.c:457:32: sparse: got char *preg
>> drivers/video/fbdev/ls2k500sfb.c:569:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *penv @@ got void [noderef] __iomem * @@
drivers/video/fbdev/ls2k500sfb.c:569:19: sparse: expected char *penv
drivers/video/fbdev/ls2k500sfb.c:569:19: sparse: got void [noderef] __iomem *
>> drivers/video/fbdev/ls2k500sfb.c:570:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *preg @@ got void [noderef] __iomem * @@
drivers/video/fbdev/ls2k500sfb.c:570:19: sparse: expected char *preg
drivers/video/fbdev/ls2k500sfb.c:570:19: sparse: got void [noderef] __iomem *
drivers/video/fbdev/ls2k500sfb.c:671:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *penv @@ got void [noderef] __iomem * @@
drivers/video/fbdev/ls2k500sfb.c:671:14: sparse: expected char *penv
drivers/video/fbdev/ls2k500sfb.c:671:14: sparse: got void [noderef] __iomem *
vim +143 drivers/video/fbdev/ls2k500sfb.c
113
114 static void ls2k500sfb_events_fn(struct work_struct *work)
115 {
116 struct ls2k500sfb_struct *priv = container_of(work, struct ls2k500sfb_struct, work);
117 struct pci_dev *pdev = priv->dev;
118 struct pci_dev *ppdev = pdev->bus->self;
119 uint32_t i, d, timeout, retry = 0;
120 static const uint32_t index[] = {
121 0x10, 0x14, 0x18, 0x1c, 0x20, 0x24, 0x30, 0x3c, 0x54, 0x58, 0x78, 0x7c, 0x80, 4
122 };
123
124 static uint32_t data[sizeof(index) / 4];
125 static const uint32_t cindex[] = { 0x10, 0x3c, 4 };
126
127 static uint32_t cdata[sizeof(cindex) / 4];
128 static uint32_t d80c, d71c, ctrl;
129 static void *p;
130
131 if (!priv->running) {
132 for (i = 0; i < ARRAY_SIZE(index); i++)
133 pci_read_config_dword(ppdev, index[i], &data[i]);
134 for (i = 0; i < ARRAY_SIZE(cindex); i++)
135 pci_read_config_dword(pdev, cindex[i], &cdata[i]);
136 if (ppdev->vendor == 0x14) {
137 pci_read_config_dword(ppdev, 0x80c, &d80c);
138 d80c = (d80c & ~(3 << 17)) | (1 << 17);
139
140 pci_read_config_dword(ppdev, 0x71c, &d71c);
141 d71c |= 1 << 26;
142
> 143 p = pci_iomap(ppdev, 0, 0x100);
144 }
> 145 ctrl = readl(p);
146 return;
147 }
148 local_bh_disable();
149 pciebreak_smp_send_stop(100);
150 wmb(); /* flush all write before we disable pcie window */
151 pci_write_config_dword(ppdev, 0x18, 0);
152 pci_write_config_dword(ppdev, 0x1c, 0);
153 pci_write_config_dword(ppdev, 0x20, 0);
154 atomic_set(&waiting_for_pciebreak_ipi, 0);
155 wmb(); /* flush all write after change pcie window */
156 local_bh_enable();
157 if (ppdev->vendor == 0x14) {
158 timeout = 10000;
159 while (timeout) {
160 pci_read_config_dword(ppdev, 0x10, &d);
161 d &= ~0xf;
162 if (!d)
163 break;
164 mdelay(1);
165 timeout--;
166 };
167 if (!timeout)
168 pr_info("bar not clear 0\n");
169
170 pci_read_config_dword(ppdev, 0x0, &d);
171 pr_info("pcie port deviceid=0x%x recover begin\n", d);
172 retrain:
173 while (1) {
174 pci_write_config_dword(ppdev, index[0], data[0]);
175 pci_read_config_dword(ppdev, index[0], &d);
176 d &= ~0xf;
177 if (d)
178 break;
179 mdelay(1);
180 }
181
182 while (1) {
183 for (i = 0; i < ARRAY_SIZE(index); i++) {
184 if (index[i] != 0x18 && index[i] != 0x1c && index[i] != 0x20)
185 pci_write_config_dword(ppdev, index[i], data[i]);
186 }
187 pci_write_config_dword(ppdev, 0x80c, d80c);
188 pci_write_config_dword(ppdev, 0x71c, d71c);
189
190 pci_read_config_dword(ppdev, 0x10, &d);
191 d &= ~0xf;
192 if (d)
193 break;
194 mdelay(1);
195 }
196
197 timeout = 10000;
198
> 199 writel(ctrl | 0x8, p);
200 while (1) {
> 201 d = readl(p + 0xc);
202 if ((d & 0x11) == 0x11) {
203 break;
204 } else if (!timeout) {
205 pr_info("pcie train failed status=0x%x\n", d);
206 goto out;
207 }
208 mdelay(1);
209 timeout--;
210 }
211
212
213 pr_info("pcie recovered done\n");
214
215 if (!retry) {
216 /*wait u-boot ddr config */
217 set_current_state(TASK_UNINTERRUPTIBLE);
218 schedule_timeout(HZ*resetbootwait);
219 set_current_state(TASK_RUNNING);
220 pci_read_config_dword(ppdev, 0x10, &d);
221 d &= ~0xf;
222 if (!d) {
223 retry = 1;
224 goto retrain;
225 }
226 }
227 } else {
228 set_current_state(TASK_UNINTERRUPTIBLE);
229 schedule_timeout(HZ*resetbootwait);
230 set_current_state(TASK_RUNNING);
231 }
232 local_bh_disable();
233 pciebreak_smp_send_stop(10000);
234 wmb(); /* flush all write before we update pcie window */
235 for (i = 0; i < ARRAY_SIZE(index); i++)
236 pci_write_config_dword(ppdev, index[i], data[i]);
237
238 for (i = 0; i < ARRAY_SIZE(cindex); i++)
239 pci_write_config_dword(pdev, cindex[i], cdata[i]);
240 atomic_set(&waiting_for_pciebreak_ipi, 0);
241 wmb(); /* flush all write after we update pcie window */
242 local_bh_enable();
243
244
245 pr_info("redraw console\n");
246
247 saved_console = fg_console;
248 switch_console(fg_console > 0?fg_console - 1 : fg_console + 1);
249 queue_delayed_work(priv->wq, &priv->redraw_work, HZ);
250 out:
251 priv->running = 0;
252 }
253
> 254 irqreturn_t ls2k500sfb_interrupt(int irq, void *arg)
255 {
256 struct ls2k500sfb_struct *priv = arg;
257 struct pci_dev *pdev = priv->dev;
258
259 if (irq == pdev->irq)
260 pr_info("ls2k500sfb pcie interrupt\n");
261 else
262 pr_info("ls2k500sfb gpio interrupt\n");
263 if (system_state != SYSTEM_RUNNING)
264 return IRQ_HANDLED;
265
266 if (!priv->running) {
267 if (!resetdelay || time_after(jiffies, priv->reset_time + resetdelay * HZ)) {
268 priv->running = 1;
269 queue_work(priv->wq, &priv->work);
270 }
271 priv->reset_time = jiffies;
272 }
273 return IRQ_HANDLED;
274 }
275
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3407/3407] kernel/cgroup/cgroup.c:6217: warning: Function parameter or member 'f' not described in 'cgroup_get_from_file'
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
Hi Yosry,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: 590ef7039097222551e104343ae4ba74e4ed2f87 [3407/3407] cgroup: add cgroup_v1v2_get_from_[fd/file]()
config: arm64-randconfig-r071-20251212 (https://download.01.org/0day-ci/archive/20251223/202512230521.c3DzuiJA-lkp@…)
compiler: aarch64-linux-gcc (GCC) 10.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512230521.c3DzuiJA-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/202512230521.c3DzuiJA-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> kernel/cgroup/cgroup.c:6217: warning: Function parameter or member 'f' not described in 'cgroup_get_from_file'
kernel/cgroup/cgroup.c:6369: warning: Function parameter or member 'kargs' not described in 'cgroup_can_fork'
kernel/cgroup/cgroup.c:6430: warning: Function parameter or member 'kargs' not described in 'cgroup_post_fork'
>> kernel/cgroup/cgroup.c:6716: warning: Function parameter or member 'fd' not described in 'cgroup_get_from_fd'
vim +6217 kernel/cgroup/cgroup.c
6211
6212 /**
6213 * cgroup_get_from_file - same as cgroup_v1v2_get_from_file, but only supports
6214 * cgroup2.
6215 */
6216 static struct cgroup *cgroup_get_from_file(struct file *f)
> 6217 {
6218 struct cgroup *cgrp = cgroup_v1v2_get_from_file(f);
6219
6220 if (IS_ERR(cgrp))
6221 return ERR_CAST(cgrp);
6222
6223 if (!cgroup_on_dfl(cgrp)) {
6224 cgroup_put(cgrp);
6225 return ERR_PTR(-EBADF);
6226 }
6227
6228 return cgrp;
6229 }
6230
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3541/3541] kernel/sched/topology.c:2310:32: sparse: sparse: incorrect type in initializer (different base types)
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: 0ccb3f810722de634beed0dc6fe5c59d963b4c50 [3541/3541] sched/topology: Provide cfs_overload_cpus bitmap
config: arm64-randconfig-r113-20251213 (https://download.01.org/0day-ci/archive/20251223/202512230528.roqd2yzx-lkp@…)
compiler: aarch64-linux-gcc (GCC) 12.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512230528.roqd2yzx-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/202512230528.roqd2yzx-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
kernel/sched/build_utility.c: note: in included file:
kernel/sched/stop_task.c:73:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/stop_task.c:73:38: sparse: expected struct task_struct *curr
kernel/sched/stop_task.c:73:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/build_utility.c: note: in included file:
>> kernel/sched/topology.c:2310:32: sparse: sparse: incorrect type in initializer (different base types) @@ expected int flags @@ got restricted gfp_t @@
kernel/sched/topology.c:2310:32: sparse: expected int flags
kernel/sched/topology.c:2310:32: sparse: got restricted gfp_t
>> kernel/sched/topology.c:2318:61: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted gfp_t [usertype] flags @@ got int flags @@
kernel/sched/topology.c:2318:61: sparse: expected restricted gfp_t [usertype] flags
kernel/sched/topology.c:2318:61: sparse: got int flags
kernel/sched/topology.c:2346:58: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2346:58: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:2346:58: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:491:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct perf_domain *pd @@ got struct perf_domain [noderef] __rcu *pd @@
kernel/sched/topology.c:491:19: sparse: expected struct perf_domain *pd
kernel/sched/topology.c:491:19: sparse: got struct perf_domain [noderef] __rcu *pd
kernel/sched/topology.c:655:49: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:655:49: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:655:49: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:702:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/topology.c:702:9: sparse: struct sparsemask [noderef] __rcu *
kernel/sched/topology.c:702:9: sparse: struct sparsemask *
kernel/sched/topology.c:730:50: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:730:50: sparse: expected struct sched_domain *parent
kernel/sched/topology.c:730:50: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:738:55: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain [noderef] __rcu *[noderef] __rcu child @@ got struct sched_domain *[assigned] tmp @@
kernel/sched/topology.c:738:55: sparse: expected struct sched_domain [noderef] __rcu *[noderef] __rcu child
kernel/sched/topology.c:738:55: sparse: got struct sched_domain *[assigned] tmp
kernel/sched/topology.c:751:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:751:29: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/topology.c:751:29: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:756:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:756:20: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:756:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:777:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *sd @@
kernel/sched/topology.c:777:13: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/topology.c:777:13: sparse: got struct sched_domain [noderef] __rcu *sd
kernel/sched/topology.c:939:70: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:939:70: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:939:70: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:968:59: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:968:59: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:968:59: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1014:57: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1014:57: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1014:57: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1016:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sibling @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1016:25: sparse: expected struct sched_domain *sibling
kernel/sched/topology.c:1016:25: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1024:55: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1024:55: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1024:55: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1026:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sibling @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1026:25: sparse: expected struct sched_domain *sibling
kernel/sched/topology.c:1026:25: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1096:62: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1096:62: sparse: expected struct sched_domain *sd
kernel/sched/topology.c:1096:62: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1200:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:1200:40: sparse: expected struct sched_domain *child
kernel/sched/topology.c:1200:40: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1620:43: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain [noderef] __rcu *child @@ got struct sched_domain *child @@
kernel/sched/topology.c:1620:43: sparse: expected struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:1620:43: sparse: got struct sched_domain *child
kernel/sched/topology.c:1758:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/topology.c:1758:21: sparse: int [noderef] __rcu *
kernel/sched/topology.c:1758:21: sparse: int *
kernel/sched/topology.c:1884:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/topology.c:1884:9: sparse: int [noderef] __rcu *
kernel/sched/topology.c:1884:9: sparse: int *
kernel/sched/topology.c:1939:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/topology.c:1939:9: sparse: struct cpumask **[noderef] __rcu *
kernel/sched/topology.c:1939:9: sparse: struct cpumask ***
kernel/sched/topology.c:1997:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/topology.c:1997:9: sparse: int [noderef] __rcu *
kernel/sched/topology.c:1997:9: sparse: int *
kernel/sched/topology.c:1999:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/topology.c:1999:9: sparse: struct cpumask **[noderef] __rcu *
kernel/sched/topology.c:1999:9: sparse: struct cpumask ***
kernel/sched/topology.c:2083:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/topology.c:2083:17: sparse: struct cpumask **[noderef] __rcu *
kernel/sched/topology.c:2083:17: sparse: struct cpumask ***
kernel/sched/topology.c:2150:19: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/topology.c:2150:19: sparse: struct cpumask **[noderef] __rcu *
kernel/sched/topology.c:2150:19: sparse: struct cpumask ***
kernel/sched/topology.c:2190:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/topology.c:2190:17: sparse: struct cpumask **[noderef] __rcu *
kernel/sched/topology.c:2190:17: sparse: struct cpumask ***
kernel/sched/topology.c:2386:31: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain [noderef] __rcu *parent @@ got struct sched_domain *sd @@
kernel/sched/topology.c:2386:31: sparse: expected struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2386:31: sparse: got struct sched_domain *sd
kernel/sched/topology.c:2489:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2489:57: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:2489:57: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2510:56: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/topology.c:2510:56: sparse: expected struct sched_domain *child
kernel/sched/topology.c:2510:56: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/topology.c:2509:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2509:57: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:2509:57: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/topology.c:2564:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/topology.c:2564:57: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/topology.c:2564:57: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/build_utility.c: note: in included file:
kernel/sched/build_utility.c: note: in included file:
kernel/sched/sched.h:1853:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/sched.h:1853:9: sparse: expected struct sched_domain *[assigned] sd
vim +2310 kernel/sched/topology.c
2304
2305 static int sd_llc_alloc(struct sched_domain *sd)
2306 {
2307 struct sched_domain_shared *sds = sd->shared;
2308 struct cpumask *span = sched_domain_span(sd);
2309 int nid = cpu_to_node(cpumask_first(span));
> 2310 int flags = __GFP_ZERO | GFP_KERNEL;
2311 struct sparsemask *mask;
2312
2313 /*
2314 * Allocate the bitmap if not already allocated. This is called for
2315 * every CPU in the LLC but only allocates once per sd_llc_shared.
2316 */
2317 if (!sds->cfs_overload_cpus) {
> 2318 mask = sparsemask_alloc_node(nr_cpu_ids, 3, flags, nid);
2319 if (!mask)
2320 return 1;
2321 sds->cfs_overload_cpus = mask;
2322 }
2323
2324 return 0;
2325 }
2326
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3418/3418] drivers/net/dsa/mv88e6xxx/chip.c:2320:25: error: implicit declaration of function 'mv88e6xxx_g2_eeprom_wait'; did you mean 'mv88e6xxx_g2_pvt_write'?
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
Hi Fabio,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: 02956abc74ede6549249eb21e5b319b92dd147f3 [3418/3418] net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is absent
config: x86_64-randconfig-012-20251217 (https://download.01.org/0day-ci/archive/20251223/202512230339.KxFb5dKg-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/20251223/202512230339.KxFb5dKg-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/202512230339.KxFb5dKg-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/net/dsa/mv88e6xxx/chip.c: In function 'mv88e6xxx_hardware_reset':
>> drivers/net/dsa/mv88e6xxx/chip.c:2320:25: error: implicit declaration of function 'mv88e6xxx_g2_eeprom_wait'; did you mean 'mv88e6xxx_g2_pvt_write'? [-Werror=implicit-function-declaration]
2320 | mv88e6xxx_g2_eeprom_wait(chip);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| mv88e6xxx_g2_pvt_write
cc1: some warnings being treated as errors
vim +2320 drivers/net/dsa/mv88e6xxx/chip.c
2306
2307 static void mv88e6xxx_hardware_reset(struct mv88e6xxx_chip *chip)
2308 {
2309 struct gpio_desc *gpiod = chip->reset;
2310
2311 /* If there is a GPIO connected to the reset pin, toggle it */
2312 if (gpiod) {
2313 /* If the switch has just been reset and not yet completed
2314 * loading EEPROM, the reset may interrupt the I2C transaction
2315 * mid-byte, causing the first EEPROM read after the reset
2316 * from the wrong location resulting in the switch booting
2317 * to wrong mode and inoperable.
2318 */
2319 if (chip->info->ops->get_eeprom)
> 2320 mv88e6xxx_g2_eeprom_wait(chip);
2321
2322 gpiod_set_value_cansleep(gpiod, 1);
2323 usleep_range(10000, 20000);
2324 gpiod_set_value_cansleep(gpiod, 0);
2325 usleep_range(10000, 20000);
2326
2327 if (chip->info->ops->get_eeprom)
2328 mv88e6xxx_g2_eeprom_wait(chip);
2329 }
2330 }
2331
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3541/3541] kernel/sched/fair.c:175:5: sparse: sparse: symbol 'sysctl_sched_util_low_pct' was not declared. Should it be static?
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c098fa18c07cc52100a52db8fd0c2900461888c9
commit: 2e1dfc02d115143587ccfee1815ad295763050f2 [3541/3541] sched: Adjust wakeup cpu range according CPU util dynamicly
config: arm64-randconfig-r113-20251213 (https://download.01.org/0day-ci/archive/20251223/202512230232.mDLII3OZ-lkp@…)
compiler: aarch64-linux-gcc (GCC) 12.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512230232.mDLII3OZ-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/202512230232.mDLII3OZ-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
kernel/sched/fair.c:143:14: sparse: sparse: symbol 'sysctl_overload_detect_period' was not declared. Should it be static?
kernel/sched/fair.c:144:14: sparse: sparse: symbol 'sysctl_offline_wait_interval' was not declared. Should it be static?
>> kernel/sched/fair.c:175:5: sparse: sparse: symbol 'sysctl_sched_util_low_pct' was not declared. Should it be static?
kernel/sched/fair.c:1256:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity const *se @@ got struct sched_entity [noderef] __rcu * @@
kernel/sched/fair.c:1256:34: sparse: expected struct sched_entity const *se
kernel/sched/fair.c:1256:34: sparse: got struct sched_entity [noderef] __rcu *
kernel/sched/fair.c:3039:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu * @@
kernel/sched/fair.c:3039:13: sparse: expected struct task_struct *tsk
kernel/sched/fair.c:3039:13: sparse: got struct task_struct [noderef] __rcu *
kernel/sched/fair.c:12740:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:12740:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:12740:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:5891:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:5891:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:5891:22: sparse: struct task_struct *
kernel/sched/fair.c:7964:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:7964:20: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:7964:20: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:8258:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:8258:9: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:8258:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:8367:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:8367:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:8367:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:8587:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:8587:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:8587:22: sparse: struct task_struct *
kernel/sched/fair.c:8941:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/fair.c:8941:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:8941:38: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/fair.c:9934:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:9934:40: sparse: expected struct sched_domain *child
kernel/sched/fair.c:9934:40: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:10571:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:10571:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/fair.c:10571:22: sparse: struct task_struct *
kernel/sched/fair.c:12012:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:12012:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:12012:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:11669:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sd_parent @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:11669:44: sparse: expected struct sched_domain *sd_parent
kernel/sched/fair.c:11669:44: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:12108:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:12108:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:12108:9: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c:2985:9: sparse: sparse: context imbalance in 'task_numa_placement' - different lock contexts for basic block
kernel/sched/fair.c:7180:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:7180:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7180:28: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:7186:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:7186:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7186:28: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:7193:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@
kernel/sched/fair.c:7193:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:7193:28: sparse: got struct sched_domain [noderef] __rcu *child
kernel/sched/fair.c:7201:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@
kernel/sched/fair.c:7201:17: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:7201:17: sparse: got struct sched_domain [noderef] __rcu *parent
kernel/sched/fair.c: note: in included file:
kernel/sched/sched.h:2309:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2309:9: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2309:9: sparse: struct task_struct *
kernel/sched/sched.h:2145:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2145:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2145:25: sparse: struct task_struct *
kernel/sched/sched.h:2145:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:2145:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/sched.h:2145:25: sparse: struct task_struct *
vim +/sysctl_sched_util_low_pct +175 kernel/sched/fair.c
168
169 #ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY
170 /*
171 * Low utilization threshold for CPU
172 *
173 * (default: 85%), units: percentage of CPU utilization)
174 */
> 175 int sysctl_sched_util_low_pct = 85;
176 #endif
177
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:openEuler-1.0-LTS 1942/1942] arch/arm64/kernel/cpu_errata.c:1323:13: warning: no previous prototype for 'spectre_bhb_patch_loop_iter'
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
Hi James,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 4e9c55920995d70b3e88b60c69753df54b03fdf4
commit: cb917077efa4fecd975ab17d6aececdd90abe82e [1942/1942] arm64: Mitigate spectre style branch history side channels
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20251223/202512230214.GrBXN1xm-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512230214.GrBXN1xm-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/202512230214.GrBXN1xm-lkp@intel.com/
All warnings (new ones prefixed by >>):
arch/arm64/kernel/cpu_errata.c:335:13: warning: no previous prototype for 'arm64_update_smccc_conduit' [-Wmissing-prototypes]
335 | void __init arm64_update_smccc_conduit(struct alt_instr *alt,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kernel/cpu_errata.c:357:13: warning: no previous prototype for 'arm64_enable_wa2_handling' [-Wmissing-prototypes]
357 | void __init arm64_enable_wa2_handling(struct alt_instr *alt,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kernel/cpu_errata.c:1323:13: warning: no previous prototype for 'spectre_bhb_patch_loop_iter' [-Wmissing-prototypes]
1323 | void __init spectre_bhb_patch_loop_iter(struct alt_instr *alt,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
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/kobject.h:20,
from include/linux/device.h:17,
from include/linux/node.h:18,
from include/linux/cpu.h:17,
from arch/arm64/kernel/cpu_errata.c:22:
In function '__cmpxchg_case_4',
inlined from '__cmpxchg' at arch/arm64/include/asm/cmpxchg.h:140:1,
inlined from 'update_mitigation_state' at arch/arm64/kernel/cpu_errata.c:1044:11,
inlined from 'spectre_bhb_enable_mitigation' at arch/arm64/kernel/cpu_errata.c:1319:2,
inlined from 'spectre_bhb_enable_mitigation' at arch/arm64/kernel/cpu_errata.c:1271:6:
>> arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'enum mitigation_state[1]' [-Warray-bounds=]
259 | asm volatile( \
| ^~~
arch/arm64/include/asm/atomic_ll_sc.h:279:1: note: in expansion of macro '__CMPXCHG_CASE'
279 | __CMPXCHG_CASE(w, , 4, , , , )
| ^~~~~~~~~~~~~~
arch/arm64/kernel/cpu_errata.c: In function 'spectre_bhb_enable_mitigation':
arch/arm64/kernel/cpu_errata.c:1058:30: note: object 'spectre_bhb_state' of size 4
1058 | static enum mitigation_state spectre_bhb_state;
| ^~~~~~~~~~~~~~~~~
In function '__cmpxchg_case_4',
inlined from '__cmpxchg' at arch/arm64/include/asm/cmpxchg.h:140:1,
inlined from 'update_mitigation_state' at arch/arm64/kernel/cpu_errata.c:1044:11,
inlined from 'spectre_bhb_enable_mitigation' at arch/arm64/kernel/cpu_errata.c:1319:2,
inlined from 'spectre_bhb_enable_mitigation' at arch/arm64/kernel/cpu_errata.c:1271:6:
>> arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'enum mitigation_state[1]' [-Warray-bounds=]
259 | asm volatile( \
| ^~~
arch/arm64/include/asm/atomic_ll_sc.h:279:1: note: in expansion of macro '__CMPXCHG_CASE'
279 | __CMPXCHG_CASE(w, , 4, , , , )
| ^~~~~~~~~~~~~~
arch/arm64/kernel/cpu_errata.c: In function 'spectre_bhb_enable_mitigation':
arch/arm64/kernel/cpu_errata.c:1058:30: note: object 'spectre_bhb_state' of size 4
1058 | static enum mitigation_state spectre_bhb_state;
| ^~~~~~~~~~~~~~~~~
vim +/spectre_bhb_patch_loop_iter +1323 arch/arm64/kernel/cpu_errata.c
1321
1322 /* Patched to correct the immediate */
> 1323 void __init spectre_bhb_patch_loop_iter(struct alt_instr *alt,
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3557/3557] drivers/irqchip/irq-gic-phytium-2500.c:1216:78: sparse: sparse: dubious: !x | !y
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 792b82446538ed840a6e23b89673ce21564702bd [3557/3557] Fix gic support for Phytium S2500
config: arm64-randconfig-r132-20251218 (https://download.01.org/0day-ci/archive/20251223/202512230028.LM8FWjL7-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/20251223/202512230028.LM8FWjL7-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/202512230028.LM8FWjL7-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/irqchip/irq-gic-phytium-2500.c:1216:78: sparse: sparse: dubious: !x | !y
>> drivers/irqchip/irq-gic-phytium-2500.c:302:29: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:327:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:454:24: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:479:24: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:266:24: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:767:24: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:1155:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:1156:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:1157:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:1409:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:266:24: sparse: sparse: dereference of noderef expression
--
>> drivers/irqchip/irq-gic-phytium-2500-its.c:1479:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:1479:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:1479:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:1485:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:1485:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:1485:9: sparse: got struct raw_spinlock [noderef] __percpu *
>> drivers/irqchip/irq-gic-phytium-2500-its.c:2934:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct cpumask [usertype] **mask @@ got struct cpumask [usertype] *[noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:2934:45: sparse: expected struct cpumask [usertype] **mask
drivers/irqchip/irq-gic-phytium-2500-its.c:2934:45: sparse: got struct cpumask [usertype] *[noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:4281:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:4281:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:4281:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:4286:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:4286:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:4286:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:4421:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:4421:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:4421:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:4439:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:4439:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:4439:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c: note: in included file (through include/linux/spinlock.h, include/linux/mmzone.h, include/linux/gfp.h, ...):
include/linux/spinlock_api_smp.h:111:9: sparse: sparse: context imbalance in 'vpe_to_cpuid_lock' - wrong count at exit
drivers/irqchip/irq-gic-phytium-2500-its.c:284:13: sparse: sparse: context imbalance in 'vpe_to_cpuid_unlock' - unexpected unlock
>> drivers/irqchip/irq-gic-phytium-2500-its.c:1481:18: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2337:23: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2337:23: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2751:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2751:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2772:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2806:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2806:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2810:38: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2828:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2828:49: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2829:25: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2839:30: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2882:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2909:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2938:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2939:14: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3009:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3021:45: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3021:45: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3023:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3078:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3078:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3093:29: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3093:29: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3118:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3156:31: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3161:13: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3180:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3185:21: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3244:43: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3279:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3280:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3318:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3321:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3321:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3919:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3968:13: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3969:36: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3969:36: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3984:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3998:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4030:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4140:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4220:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4235:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4282:18: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4422:16: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:5309:19: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:5309:19: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:5314:31: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:5334:14: sparse: sparse: dereference of noderef expression
vim +1216 drivers/irqchip/irq-gic-phytium-2500.c
ade50f9f855e6a Li Yuting 2024-01-17 1181
ade50f9f855e6a Li Yuting 2024-01-17 1182 static int __gic_update_rdist_properties(struct redist_region *region,
ade50f9f855e6a Li Yuting 2024-01-17 1183 void __iomem *ptr)
ade50f9f855e6a Li Yuting 2024-01-17 1184 {
ade50f9f855e6a Li Yuting 2024-01-17 1185 u64 typer = gic_read_typer(ptr + GICR_TYPER);
ade50f9f855e6a Li Yuting 2024-01-17 1186 u32 ctlr = readl_relaxed(ptr + GICR_CTLR);
ade50f9f855e6a Li Yuting 2024-01-17 1187
ade50f9f855e6a Li Yuting 2024-01-17 1188 /* Boot-time cleanup */
ade50f9f855e6a Li Yuting 2024-01-17 1189 if ((typer & GICR_TYPER_VLPIS) && (typer & GICR_TYPER_RVPEID)) {
ade50f9f855e6a Li Yuting 2024-01-17 1190 u64 val;
ade50f9f855e6a Li Yuting 2024-01-17 1191
ade50f9f855e6a Li Yuting 2024-01-17 1192 /* Deactivate any present vPE */
ade50f9f855e6a Li Yuting 2024-01-17 1193 val = gicr_read_vpendbaser(ptr + SZ_128K + GICR_VPENDBASER);
ade50f9f855e6a Li Yuting 2024-01-17 1194 if (val & GICR_VPENDBASER_Valid)
ade50f9f855e6a Li Yuting 2024-01-17 1195 gicr_write_vpendbaser(GICR_VPENDBASER_PendingLast,
ade50f9f855e6a Li Yuting 2024-01-17 1196 ptr + SZ_128K + GICR_VPENDBASER);
ade50f9f855e6a Li Yuting 2024-01-17 1197
ade50f9f855e6a Li Yuting 2024-01-17 1198 /* Mark the VPE table as invalid */
ade50f9f855e6a Li Yuting 2024-01-17 1199 val = gicr_read_vpropbaser(ptr + SZ_128K + GICR_VPROPBASER);
ade50f9f855e6a Li Yuting 2024-01-17 1200 val &= ~GICR_VPROPBASER_4_1_VALID;
ade50f9f855e6a Li Yuting 2024-01-17 1201 gicr_write_vpropbaser(val, ptr + SZ_128K + GICR_VPROPBASER);
ade50f9f855e6a Li Yuting 2024-01-17 1202 }
ade50f9f855e6a Li Yuting 2024-01-17 1203
ade50f9f855e6a Li Yuting 2024-01-17 1204 gic_data.rdists.has_vlpis &= !!(typer & GICR_TYPER_VLPIS);
ade50f9f855e6a Li Yuting 2024-01-17 1205
ade50f9f855e6a Li Yuting 2024-01-17 1206 /*
ade50f9f855e6a Li Yuting 2024-01-17 1207 * TYPER.RVPEID implies some form of DirectLPI, no matter what the
ade50f9f855e6a Li Yuting 2024-01-17 1208 * doc says... :-/ And CTLR.IR implies another subset of DirectLPI
ade50f9f855e6a Li Yuting 2024-01-17 1209 * that the ITS driver can make use of for LPIs (and not VLPIs).
ade50f9f855e6a Li Yuting 2024-01-17 1210 *
ade50f9f855e6a Li Yuting 2024-01-17 1211 * These are 3 different ways to express the same thing, depending
ade50f9f855e6a Li Yuting 2024-01-17 1212 * on the revision of the architecture and its relaxations over
ade50f9f855e6a Li Yuting 2024-01-17 1213 * time. Just group them under the 'direct_lpi' banner.
ade50f9f855e6a Li Yuting 2024-01-17 1214 */
ade50f9f855e6a Li Yuting 2024-01-17 1215 gic_data.rdists.has_rvpeid &= !!(typer & GICR_TYPER_RVPEID);
ade50f9f855e6a Li Yuting 2024-01-17 @1216 gic_data.rdists.has_direct_lpi &= (!!(typer & GICR_TYPER_DirectLPIS) |
ade50f9f855e6a Li Yuting 2024-01-17 1217 !!(ctlr & GICR_CTLR_IR) |
ade50f9f855e6a Li Yuting 2024-01-17 1218 gic_data.rdists.has_rvpeid);
ade50f9f855e6a Li Yuting 2024-01-17 1219 gic_data.rdists.has_vpend_valid_dirty &= !!(typer & GICR_TYPER_DIRTY);
ade50f9f855e6a Li Yuting 2024-01-17 1220
ade50f9f855e6a Li Yuting 2024-01-17 1221 /* Detect non-sensical configurations */
ade50f9f855e6a Li Yuting 2024-01-17 1222 if (WARN_ON_ONCE(gic_data.rdists.has_rvpeid && !gic_data.rdists.has_vlpis)) {
ade50f9f855e6a Li Yuting 2024-01-17 1223 gic_data.rdists.has_direct_lpi = false;
ade50f9f855e6a Li Yuting 2024-01-17 1224 gic_data.rdists.has_vlpis = false;
ade50f9f855e6a Li Yuting 2024-01-17 1225 gic_data.rdists.has_rvpeid = false;
ade50f9f855e6a Li Yuting 2024-01-17 1226 }
ade50f9f855e6a Li Yuting 2024-01-17 1227
ade50f9f855e6a Li Yuting 2024-01-17 1228 gic_data.ppi_nr = min(GICR_TYPER_NR_PPIS(typer), gic_data.ppi_nr);
ade50f9f855e6a Li Yuting 2024-01-17 1229
ade50f9f855e6a Li Yuting 2024-01-17 1230 return 1;
ade50f9f855e6a Li Yuting 2024-01-17 1231 }
ade50f9f855e6a Li Yuting 2024-01-17 1232
:::::: The code at line 1216 was first introduced by commit
:::::: ade50f9f855e6afd85e65b6b036a1bb948d4dfff Add gic support for Phytium S2500
:::::: TO: Li Yuting <liyuting2071(a)phytium.com.cn>
:::::: CC: Li Yuting <liyuting2071(a)phytium.com.cn>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3418/3418] arch/x86/kernel/alternative.c:78:21: sparse: sparse: symbol 'x86nops' was not declared. Should it be static?
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: 8243b036681b074fab34e18024d1ee24c656b432 [3418/3418] x86: Remove dynamic NOP selection
config: x86_64-randconfig-121-20251217 (https://download.01.org/0day-ci/archive/20251223/202512230026.G2nO9RjO-lkp@…)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512230026.G2nO9RjO-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/202512230026.G2nO9RjO-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> arch/x86/kernel/alternative.c:78:21: sparse: sparse: symbol 'x86nops' was not declared. Should it be static?
vim +/x86nops +78 arch/x86/kernel/alternative.c
77
> 78 const unsigned char x86nops[] =
79 {
80 BYTES_NOP1,
81 BYTES_NOP2,
82 BYTES_NOP3,
83 BYTES_NOP4,
84 BYTES_NOP5,
85 BYTES_NOP6,
86 BYTES_NOP7,
87 BYTES_NOP8,
88 };
89
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:openEuler-1.0-LTS 1941/1941] drivers/tee/optee/core.c:618:10: warning: return makes integer from pointer without a cast
by kernel test robot 23 Dec '25
by kernel test robot 23 Dec '25
23 Dec '25
Hi Ard,
First bad commit (maybe != root cause):
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 4e9c55920995d70b3e88b60c69753df54b03fdf4
commit: 595311cf7e49c781dd26782e4b45fd54bbfb3e40 [1941/1941] optee: model OP-TEE as a platform device/driver
config: arm64-randconfig-003-20251212 (https://download.01.org/0day-ci/archive/20251223/202512230051.P5z9Xtje-lkp@…)
compiler: aarch64-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512230051.P5z9Xtje-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/202512230051.P5z9Xtje-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/tee/optee/core.c: In function 'optee_probe':
>> drivers/tee/optee/core.c:618:10: warning: return makes integer from pointer without a cast [-Wint-conversion]
return ERR_PTR(-EINVAL);
^~~~~~~~~~~~~~~~
vim +618 drivers/tee/optee/core.c
595311cf7e49c7 Ard Biesheuvel 2019-12-09 581
595311cf7e49c7 Ard Biesheuvel 2019-12-09 582 static int optee_probe(struct platform_device *pdev)
4fb0a5eb364d23 Jens Wiklander 2015-04-14 583 {
4fb0a5eb364d23 Jens Wiklander 2015-04-14 584 optee_invoke_fn *invoke_fn;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 585 struct tee_shm_pool *pool;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 586 struct optee *optee = NULL;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 587 void *memremaped_shm = NULL;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 588 struct tee_device *teedev;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 589 u32 sec_caps;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 590 int rc;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 591
595311cf7e49c7 Ard Biesheuvel 2019-12-09 592 invoke_fn = get_invoke_func(&pdev->dev);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 593 if (IS_ERR(invoke_fn))
595311cf7e49c7 Ard Biesheuvel 2019-12-09 594 return PTR_ERR(invoke_fn);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 595
4fb0a5eb364d23 Jens Wiklander 2015-04-14 596 if (!optee_msg_api_uid_is_optee_api(invoke_fn)) {
4fb0a5eb364d23 Jens Wiklander 2015-04-14 597 pr_warn("api uid mismatch\n");
595311cf7e49c7 Ard Biesheuvel 2019-12-09 598 return -EINVAL;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 599 }
4fb0a5eb364d23 Jens Wiklander 2015-04-14 600
5c5f80307ab27c Jérôme Forissier 2017-11-24 601 optee_msg_get_os_revision(invoke_fn);
5c5f80307ab27c Jérôme Forissier 2017-11-24 602
4fb0a5eb364d23 Jens Wiklander 2015-04-14 603 if (!optee_msg_api_revision_is_compatible(invoke_fn)) {
4fb0a5eb364d23 Jens Wiklander 2015-04-14 604 pr_warn("api revision mismatch\n");
595311cf7e49c7 Ard Biesheuvel 2019-12-09 605 return -EINVAL;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 606 }
4fb0a5eb364d23 Jens Wiklander 2015-04-14 607
4fb0a5eb364d23 Jens Wiklander 2015-04-14 608 if (!optee_msg_exchange_capabilities(invoke_fn, &sec_caps)) {
4fb0a5eb364d23 Jens Wiklander 2015-04-14 609 pr_warn("capabilities mismatch\n");
595311cf7e49c7 Ard Biesheuvel 2019-12-09 610 return -EINVAL;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 611 }
4fb0a5eb364d23 Jens Wiklander 2015-04-14 612
4fb0a5eb364d23 Jens Wiklander 2015-04-14 613 /*
4fb0a5eb364d23 Jens Wiklander 2015-04-14 614 * We have no other option for shared memory, if secure world
4fb0a5eb364d23 Jens Wiklander 2015-04-14 615 * doesn't have any reserved memory we can use we can't continue.
4fb0a5eb364d23 Jens Wiklander 2015-04-14 616 */
4fb0a5eb364d23 Jens Wiklander 2015-04-14 617 if (!(sec_caps & OPTEE_SMC_SEC_CAP_HAVE_RESERVED_SHM))
4fb0a5eb364d23 Jens Wiklander 2015-04-14 @618 return ERR_PTR(-EINVAL);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 619
f58e236c9d665a Volodymyr Babchuk 2017-11-29 620 pool = optee_config_shm_memremap(invoke_fn, &memremaped_shm, sec_caps);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 621 if (IS_ERR(pool))
595311cf7e49c7 Ard Biesheuvel 2019-12-09 622 return PTR_ERR(pool);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 623
4fb0a5eb364d23 Jens Wiklander 2015-04-14 624 optee = kzalloc(sizeof(*optee), GFP_KERNEL);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 625 if (!optee) {
4fb0a5eb364d23 Jens Wiklander 2015-04-14 626 rc = -ENOMEM;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 627 goto err;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 628 }
4fb0a5eb364d23 Jens Wiklander 2015-04-14 629
4fb0a5eb364d23 Jens Wiklander 2015-04-14 630 optee->invoke_fn = invoke_fn;
d885cc5e0759fc Volodymyr Babchuk 2017-11-29 631 optee->sec_caps = sec_caps;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 632
4fb0a5eb364d23 Jens Wiklander 2015-04-14 633 teedev = tee_device_alloc(&optee_desc, NULL, pool, optee);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 634 if (IS_ERR(teedev)) {
4fb0a5eb364d23 Jens Wiklander 2015-04-14 635 rc = PTR_ERR(teedev);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 636 goto err;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 637 }
4fb0a5eb364d23 Jens Wiklander 2015-04-14 638 optee->teedev = teedev;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 639
4fb0a5eb364d23 Jens Wiklander 2015-04-14 640 teedev = tee_device_alloc(&optee_supp_desc, NULL, pool, optee);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 641 if (IS_ERR(teedev)) {
4fb0a5eb364d23 Jens Wiklander 2015-04-14 642 rc = PTR_ERR(teedev);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 643 goto err;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 644 }
4fb0a5eb364d23 Jens Wiklander 2015-04-14 645 optee->supp_teedev = teedev;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 646
4fb0a5eb364d23 Jens Wiklander 2015-04-14 647 rc = tee_device_register(optee->teedev);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 648 if (rc)
4fb0a5eb364d23 Jens Wiklander 2015-04-14 649 goto err;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 650
4fb0a5eb364d23 Jens Wiklander 2015-04-14 651 rc = tee_device_register(optee->supp_teedev);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 652 if (rc)
4fb0a5eb364d23 Jens Wiklander 2015-04-14 653 goto err;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 654
4fb0a5eb364d23 Jens Wiklander 2015-04-14 655 mutex_init(&optee->call_queue.mutex);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 656 INIT_LIST_HEAD(&optee->call_queue.waiters);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 657 optee_wait_queue_init(&optee->wait_queue);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 658 optee_supp_init(&optee->supp);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 659 optee->memremaped_shm = memremaped_shm;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 660 optee->pool = pool;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 661
4fb0a5eb364d23 Jens Wiklander 2015-04-14 662 optee_enable_shm_cache(optee);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 663
595311cf7e49c7 Ard Biesheuvel 2019-12-09 664 platform_set_drvdata(pdev, optee);
595311cf7e49c7 Ard Biesheuvel 2019-12-09 665
4fb0a5eb364d23 Jens Wiklander 2015-04-14 666 pr_info("initialized driver\n");
595311cf7e49c7 Ard Biesheuvel 2019-12-09 667 return 0;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 668 err:
4fb0a5eb364d23 Jens Wiklander 2015-04-14 669 if (optee) {
4fb0a5eb364d23 Jens Wiklander 2015-04-14 670 /*
4fb0a5eb364d23 Jens Wiklander 2015-04-14 671 * tee_device_unregister() is safe to call even if the
4fb0a5eb364d23 Jens Wiklander 2015-04-14 672 * devices hasn't been registered with
4fb0a5eb364d23 Jens Wiklander 2015-04-14 673 * tee_device_register() yet.
4fb0a5eb364d23 Jens Wiklander 2015-04-14 674 */
4fb0a5eb364d23 Jens Wiklander 2015-04-14 675 tee_device_unregister(optee->supp_teedev);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 676 tee_device_unregister(optee->teedev);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 677 kfree(optee);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 678 }
4fb0a5eb364d23 Jens Wiklander 2015-04-14 679 if (pool)
4fb0a5eb364d23 Jens Wiklander 2015-04-14 680 tee_shm_pool_free(pool);
4fb0a5eb364d23 Jens Wiklander 2015-04-14 681 if (memremaped_shm)
4fb0a5eb364d23 Jens Wiklander 2015-04-14 682 memunmap(memremaped_shm);
595311cf7e49c7 Ard Biesheuvel 2019-12-09 683 return rc;
4fb0a5eb364d23 Jens Wiklander 2015-04-14 684 }
4fb0a5eb364d23 Jens Wiklander 2015-04-14 685
:::::: The code at line 618 was first introduced by commit
:::::: 4fb0a5eb364d239722e745c02aef0dbd4e0f1ad2 tee: add OP-TEE driver
:::::: TO: Jens Wiklander <jens.wiklander(a)linaro.org>
:::::: CC: Jens Wiklander <jens.wiklander(a)linaro.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3418/3418] drivers/acpi/numa/hmat.c:726:6: warning: no previous prototype for 'hmat_restore_target'
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
Hi Zhang,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: 2e1b00fcf1e3152a1e73846f5f9ec37cef088a65 [3418/3418] ACPI/HMAT: Add missing locality information for hot-added device
config: x86_64-randconfig-122-20251217 (https://download.01.org/0day-ci/archive/20251222/202512222339.MPuLnpUs-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/20251222/202512222339.MPuLnpUs-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/202512222339.MPuLnpUs-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/acpi/numa/hmat.c:726:6: warning: no previous prototype for 'hmat_restore_target' [-Wmissing-prototypes]
726 | void hmat_restore_target(int nid)
| ^~~~~~~~~~~~~~~~~~~
vim +/hmat_restore_target +726 drivers/acpi/numa/hmat.c
725
> 726 void hmat_restore_target(int nid)
727 {
728 struct memory_target *target;
729 int pxm;
730
731 pxm = node_to_pxm(nid);
732 target = find_mem_target(pxm);
733 if (!target)
734 return;
735
736 mutex_lock(&target_lock);
737 hmat_register_target_cache(target);
738 hmat_register_target_perf(target, 0);
739 hmat_register_target_perf(target, 1);
740 mutex_unlock(&target_lock);
741 }
742
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3541/3541] mm/memcontrol.c:3147:6: warning: no previous prototype for 'hisi_oom_recover'
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
Hi Weilong,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: b498d9f1bacd40d583c0970cab02ad522127a7e7 [3541/3541] arm64/ascend: Add new enable_oom_killer interface for oom contrl
config: arm64-randconfig-r113-20251213 (https://download.01.org/0day-ci/archive/20251222/202512222346.eorgTDJ9-lkp@…)
compiler: aarch64-linux-gcc (GCC) 12.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512222346.eorgTDJ9-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/202512222346.eorgTDJ9-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> mm/memcontrol.c:3147:6: warning: no previous prototype for 'hisi_oom_recover' [-Wmissing-prototypes]
3147 | void hisi_oom_recover(struct obj_cgroup *objcg)
| ^~~~~~~~~~~~~~~~
vim +/hisi_oom_recover +3147 mm/memcontrol.c
3145
3146 #ifdef CONFIG_ASCEND_OOM
> 3147 void hisi_oom_recover(struct obj_cgroup *objcg)
3148 {
3149 struct mem_cgroup *memcg;
3150
3151 memcg = get_mem_cgroup_from_objcg(objcg);
3152 if (!mem_cgroup_is_root(memcg))
3153 memcg_oom_recover(memcg);
3154 css_put(&memcg->css);
3155 }
3156 #else
3157 static inline void hisi_oom_recover(struct obj_cgroup *objcg) { }
3158 #endif
3159
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3542/3542] arch/arm64/kvm/rme.c:740:6: warning: variable 'tmp_page' is used uninitialized whenever 'if' condition is true
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
Hi Steven,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: a74f93b7e7c0d8a2114055ed0c652cc735a7a07b [3542/3542] [backport]rme: populate guest memory region without guest_memfd
config: arm64-randconfig-001-20251215 (https://download.01.org/0day-ci/archive/20251222/202512222225.THn80kvi-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512222225.THn80kvi-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/202512222225.THn80kvi-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm64/kvm/rme.c:740:6: warning: variable 'tmp_page' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
740 | if (memslot->base_gfn + memslot->npages < end_gfn) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/rme.c:789:14: note: uninitialized use occurs here
789 | __free_page(tmp_page);
| ^~~~~~~~
arch/arm64/kvm/rme.c:740:2: note: remove the 'if' if its condition is always false
740 | if (memslot->base_gfn + memslot->npages < end_gfn) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
741 | ret = -EINVAL;
| ~~~~~~~~~~~~~~
742 | goto out;
| ~~~~~~~~~
743 | }
| ~
arch/arm64/kvm/rme.c:734:6: warning: variable 'tmp_page' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
734 | if (!memslot) {
| ^~~~~~~~
arch/arm64/kvm/rme.c:789:14: note: uninitialized use occurs here
789 | __free_page(tmp_page);
| ^~~~~~~~
arch/arm64/kvm/rme.c:734:2: note: remove the 'if' if its condition is always false
734 | if (!memslot) {
| ^~~~~~~~~~~~~~~
735 | ret = -EFAULT;
| ~~~~~~~~~~~~~~
736 | goto out;
| ~~~~~~~~~
737 | }
| ~
arch/arm64/kvm/rme.c:726:23: note: initialize the variable 'tmp_page' to silence this warning
726 | struct page *tmp_page;
| ^
| = NULL
arch/arm64/kvm/rme.c:798:16: warning: variable 'data_flags' set but not used [-Wunused-but-set-variable]
798 | unsigned long data_flags = 0;
| ^
3 warnings generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
vim +740 arch/arm64/kvm/rme.c
e216f77846eeb7 Steven Price 2025-06-14 715
e216f77846eeb7 Steven Price 2025-06-14 716 static int populate_region(struct kvm *kvm,
e216f77846eeb7 Steven Price 2025-06-14 717 phys_addr_t ipa_base,
e216f77846eeb7 Steven Price 2025-06-14 718 phys_addr_t ipa_end,
e216f77846eeb7 Steven Price 2025-06-14 719 unsigned long data_flags)
e216f77846eeb7 Steven Price 2025-06-14 720 {
e216f77846eeb7 Steven Price 2025-06-14 721 struct realm *realm = &kvm->arch.realm;
e216f77846eeb7 Steven Price 2025-06-14 722 struct kvm_memory_slot *memslot;
e216f77846eeb7 Steven Price 2025-06-14 723 gfn_t base_gfn, end_gfn;
e216f77846eeb7 Steven Price 2025-06-14 724 int idx;
e216f77846eeb7 Steven Price 2025-06-14 725 phys_addr_t ipa = ipa_base;
a74f93b7e7c0d8 Steven Price 2025-06-14 726 struct page *tmp_page;
e216f77846eeb7 Steven Price 2025-06-14 727 int ret = 0;
e216f77846eeb7 Steven Price 2025-06-14 728
e216f77846eeb7 Steven Price 2025-06-14 729 base_gfn = gpa_to_gfn(ipa_base);
e216f77846eeb7 Steven Price 2025-06-14 730 end_gfn = gpa_to_gfn(ipa_end);
e216f77846eeb7 Steven Price 2025-06-14 731
e216f77846eeb7 Steven Price 2025-06-14 732 idx = srcu_read_lock(&kvm->srcu);
e216f77846eeb7 Steven Price 2025-06-14 733 memslot = gfn_to_memslot(kvm, base_gfn);
e216f77846eeb7 Steven Price 2025-06-14 734 if (!memslot) {
e216f77846eeb7 Steven Price 2025-06-14 735 ret = -EFAULT;
e216f77846eeb7 Steven Price 2025-06-14 736 goto out;
e216f77846eeb7 Steven Price 2025-06-14 737 }
e216f77846eeb7 Steven Price 2025-06-14 738
e216f77846eeb7 Steven Price 2025-06-14 739 /* We require the region to be contained within a single memslot */
e216f77846eeb7 Steven Price 2025-06-14 @740 if (memslot->base_gfn + memslot->npages < end_gfn) {
e216f77846eeb7 Steven Price 2025-06-14 741 ret = -EINVAL;
e216f77846eeb7 Steven Price 2025-06-14 742 goto out;
e216f77846eeb7 Steven Price 2025-06-14 743 }
e216f77846eeb7 Steven Price 2025-06-14 744
a74f93b7e7c0d8 Steven Price 2025-06-14 745 tmp_page = alloc_page(GFP_KERNEL);
a74f93b7e7c0d8 Steven Price 2025-06-14 746 if (!tmp_page) {
a74f93b7e7c0d8 Steven Price 2025-06-14 747 ret = -ENOMEM;
e216f77846eeb7 Steven Price 2025-06-14 748 goto out;
e216f77846eeb7 Steven Price 2025-06-14 749 }
e216f77846eeb7 Steven Price 2025-06-14 750
a74f93b7e7c0d8 Steven Price 2025-06-14 751 mmap_read_lock(current->mm);
a74f93b7e7c0d8 Steven Price 2025-06-14 752
e216f77846eeb7 Steven Price 2025-06-14 753 while (ipa < ipa_end) {
e216f77846eeb7 Steven Price 2025-06-14 754 struct vm_area_struct *vma;
e216f77846eeb7 Steven Price 2025-06-14 755 unsigned long hva;
e216f77846eeb7 Steven Price 2025-06-14 756 struct page *page;
e216f77846eeb7 Steven Price 2025-06-14 757 kvm_pfn_t pfn;
e216f77846eeb7 Steven Price 2025-06-14 758
e216f77846eeb7 Steven Price 2025-06-14 759 hva = gfn_to_hva_memslot(memslot, gpa_to_gfn(ipa));
e216f77846eeb7 Steven Price 2025-06-14 760 vma = vma_lookup(current->mm, hva);
e216f77846eeb7 Steven Price 2025-06-14 761 if (!vma) {
e216f77846eeb7 Steven Price 2025-06-14 762 ret = -EFAULT;
e216f77846eeb7 Steven Price 2025-06-14 763 break;
e216f77846eeb7 Steven Price 2025-06-14 764 }
e216f77846eeb7 Steven Price 2025-06-14 765
a74f93b7e7c0d8 Steven Price 2025-06-14 766 pfn = gfn_to_pfn_memslot(memslot, gpa_to_gfn(ipa));
e216f77846eeb7 Steven Price 2025-06-14 767
e216f77846eeb7 Steven Price 2025-06-14 768 if (is_error_pfn(pfn)) {
e216f77846eeb7 Steven Price 2025-06-14 769 ret = -EFAULT;
e216f77846eeb7 Steven Price 2025-06-14 770 break;
e216f77846eeb7 Steven Price 2025-06-14 771 }
e216f77846eeb7 Steven Price 2025-06-14 772
a74f93b7e7c0d8 Steven Price 2025-06-14 773 page = pfn_to_page(pfn);
e216f77846eeb7 Steven Price 2025-06-14 774
e216f77846eeb7 Steven Price 2025-06-14 775 ret = realm_create_protected_data_page(realm, ipa,
a74f93b7e7c0d8 Steven Price 2025-06-14 776 page,
a74f93b7e7c0d8 Steven Price 2025-06-14 777 tmp_page,
e216f77846eeb7 Steven Price 2025-06-14 778 data_flags);
a74f93b7e7c0d8 Steven Price 2025-06-14 779 if (ret) {
e216f77846eeb7 Steven Price 2025-06-14 780 kvm_release_page_clean(page);
e216f77846eeb7 Steven Price 2025-06-14 781 break;
a74f93b7e7c0d8 Steven Price 2025-06-14 782 }
e216f77846eeb7 Steven Price 2025-06-14 783
e216f77846eeb7 Steven Price 2025-06-14 784 ipa += PAGE_SIZE;
a74f93b7e7c0d8 Steven Price 2025-06-14 785 kvm_release_pfn_dirty(pfn);
e216f77846eeb7 Steven Price 2025-06-14 786 }
e216f77846eeb7 Steven Price 2025-06-14 787 out:
a74f93b7e7c0d8 Steven Price 2025-06-14 788 mmap_read_unlock(current->mm);
a74f93b7e7c0d8 Steven Price 2025-06-14 789 __free_page(tmp_page);
e216f77846eeb7 Steven Price 2025-06-14 790 srcu_read_unlock(&kvm->srcu, idx);
e216f77846eeb7 Steven Price 2025-06-14 791 return ret;
e216f77846eeb7 Steven Price 2025-06-14 792 }
e216f77846eeb7 Steven Price 2025-06-14 793
:::::: The code at line 740 was first introduced by commit
:::::: e216f77846eeb7062baa345cea2be0978dea94cc [v8-19-43]arm64: RME: Allow populating initial contents
:::::: TO: Steven Price <steven.price(a)arm.com>
:::::: CC: Xu Raoqing <xuraoqing(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3418/3418] arch/x86/kernel/cpu/common.c:92:16: sparse: sparse: incorrect type in initializer (different address spaces)
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: f4128ae8e6ff03b4c805707fe75d0345797f7f53 [3418/3418] sched: Add cluster scheduler level for x86
config: x86_64-randconfig-121-20251217 (https://download.01.org/0day-ci/archive/20251222/202512222106.0whCMuCB-lkp@…)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512222106.0whCMuCB-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/202512222106.0whCMuCB-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> arch/x86/kernel/cpu/common.c:92:16: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got unsigned short * @@
arch/x86/kernel/cpu/common.c:92:16: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/kernel/cpu/common.c:92:16: sparse: got unsigned short *
arch/x86/kernel/cpu/common.c:1901:1: sparse: sparse: symbol 'fixed_percpu_data' redeclared with different type (different address spaces):
arch/x86/kernel/cpu/common.c:1901:1: sparse: struct fixed_percpu_data [addressable] [noderef] [toplevel] __percpu fixed_percpu_data
arch/x86/kernel/cpu/common.c: note: in included file (through arch/x86/include/asm/cpufeature.h, arch/x86/include/asm/thread_info.h, include/linux/thread_bits.h, ...):
arch/x86/include/asm/processor.h:470:1: sparse: note: previously declared as:
arch/x86/include/asm/processor.h:470:1: sparse: struct fixed_percpu_data extern [addressable] [toplevel] fixed_percpu_data
arch/x86/kernel/cpu/common.c:144:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
arch/x86/kernel/cpu/common.c:145:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
arch/x86/kernel/cpu/common.c:146:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
arch/x86/kernel/cpu/common.c:147:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
arch/x86/kernel/cpu/common.c:148:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
arch/x86/kernel/cpu/common.c:149:43: sparse: sparse: cast truncates bits from constant value (fffff becomes ffff)
arch/x86/include/asm/processor.h:474:31: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got char ( * )[40] @@
arch/x86/include/asm/processor.h:474:31: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/include/asm/processor.h:474:31: sparse: got char ( * )[40]
vim +92 arch/x86/kernel/cpu/common.c
f8b64d08dde271 Borislav Petkov 2018-04-27 89
6f01df96c462b7 Kim Phillips 2021-08-17 90 u16 get_llc_id(unsigned int cpu)
6f01df96c462b7 Kim Phillips 2021-08-17 91 {
6f01df96c462b7 Kim Phillips 2021-08-17 @92 return per_cpu(cpu_llc_id, cpu);
6f01df96c462b7 Kim Phillips 2021-08-17 93 }
6f01df96c462b7 Kim Phillips 2021-08-17 94 EXPORT_SYMBOL_GPL(get_llc_id);
6f01df96c462b7 Kim Phillips 2021-08-17 95
:::::: The code at line 92 was first introduced by commit
:::::: 6f01df96c462b77915b27d404152c47e75e879cf x86/cpu: Add get_llc_id() helper function
:::::: TO: Kim Phillips <kim.phillips(a)amd.com>
:::::: CC: Xie Haocheng <haocheng.xie(a)amd.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3542/3542] arch/arm64/kvm/rme.c:799:16: warning: variable 'data_flags' set but not used
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
Hi Steven,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: e216f77846eeb7062baa345cea2be0978dea94cc [3542/3542] [v8-19-43]arm64: RME: Allow populating initial contents
config: arm64-randconfig-001-20251215 (https://download.01.org/0day-ci/archive/20251222/202512222100.DZ0g6W61-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512222100.DZ0g6W61-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/202512222100.DZ0g6W61-lkp@intel.com/
All warnings (new ones prefixed by >>):
arch/arm64/kvm/rme.c:742:7: error: call to undeclared function 'kvm_slot_can_be_private'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
742 | if (!kvm_slot_can_be_private(memslot)) {
| ^
arch/arm64/kvm/rme.c:763:9: error: call to undeclared function '__kvm_faultin_pfn'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
763 | pfn = __kvm_faultin_pfn(memslot, gpa_to_gfn(ipa), FOLL_WRITE,
| ^
arch/arm64/kvm/rme.c:771:9: error: call to undeclared function 'kvm_gmem_get_pfn'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
771 | ret = kvm_gmem_get_pfn(kvm, memslot,
| ^
>> arch/arm64/kvm/rme.c:799:16: warning: variable 'data_flags' set but not used [-Wunused-but-set-variable]
799 | unsigned long data_flags = 0;
| ^
1 warning and 3 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
vim +/data_flags +799 arch/arm64/kvm/rme.c
794
795 static int kvm_populate_realm(struct kvm *kvm,
796 struct arm_rme_populate_realm *args)
797 {
798 phys_addr_t ipa_base, ipa_end;
> 799 unsigned long data_flags = 0;
800
801 if (kvm_realm_state(kvm) != REALM_STATE_NEW)
802 return -EPERM;
803
804 if (!IS_ALIGNED(args->base, PAGE_SIZE) ||
805 !IS_ALIGNED(args->size, PAGE_SIZE) ||
806 (args->flags & ~RMI_MEASURE_CONTENT))
807 return -EINVAL;
808
809 ipa_base = args->base;
810 ipa_end = ipa_base + args->size;
811
812 if (ipa_end < ipa_base)
813 return -EINVAL;
814
815 if (args->flags & RMI_MEASURE_CONTENT)
816 data_flags |= RMI_MEASURE_CONTENT;
817
818 /*
819 * Perform the population in parts to ensure locks are not held for too
820 * long
821 */
822 while (ipa_base < ipa_end) {
823 phys_addr_t end = min(ipa_end, ipa_base + SZ_2M);
824
825 int ret = populate_region(kvm, ipa_base, end,
826 args->flags);
827
828 if (ret)
829 return ret;
830
831 ipa_base = end;
832
833 cond_resched();
834 }
835
836 return 0;
837 }
838
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3418/3418] drivers/usb/cdns3/drd.c:44:38: sparse: sparse: incorrect type in assignment (different base types)
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: fe4466c05ba70c2e354965de9548eb4ab5db783b [3418/3418] usb: cdns3: Add support for DRD CDNSP
config: x86_64-randconfig-122-20251217 (https://download.01.org/0day-ci/archive/20251222/202512222111.1LJ3T3qn-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/20251222/202512222111.1LJ3T3qn-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/202512222111.1LJ3T3qn-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/usb/cdns3/drd.c:44:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *override_reg @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:44:38: sparse: expected unsigned int [noderef] [usertype] __iomem *override_reg
drivers/usb/cdns3/drd.c:44:38: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:46:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *override_reg @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:46:38: sparse: expected unsigned int [noderef] [usertype] __iomem *override_reg
drivers/usb/cdns3/drd.c:46:38: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:48:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *override_reg @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:48:38: sparse: expected unsigned int [noderef] [usertype] __iomem *override_reg
drivers/usb/cdns3/drd.c:48:38: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:67:50: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:67:50: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:67:50: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:69:50: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:69:50: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:69:50: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:92:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:92:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:92:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:102:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:102:30: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:102:30: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:135:24: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:135:24: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:135:24: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:145:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:145:48: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:145:48: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:161:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:161:21: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:161:21: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:169:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:169:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:169:15: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:169:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:169:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:169:15: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:189:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:189:21: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:189:21: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:192:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:192:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:192:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:192:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:192:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:192:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:211:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:211:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:211:47: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:220:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:220:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:220:15: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:220:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:220:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:220:15: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:246:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:246:21: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:246:21: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:248:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:248:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:248:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:248:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:248:9: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:248:9: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:266:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:266:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:266:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:335:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:335:26: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:335:26: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:354:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:354:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:354:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:377:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_legacy_regs *otg_v0_regs @@ got void [noderef] __iomem *[assigned] regs @@
drivers/usb/cdns3/drd.c:377:27: sparse: expected struct cdns3_otg_legacy_regs *otg_v0_regs
drivers/usb/cdns3/drd.c:377:27: sparse: got void [noderef] __iomem *[assigned] regs
drivers/usb/cdns3/drd.c:378:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:378:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:378:25: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:382:32: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_common_regs *otg_regs @@ got void [noderef] __iomem *[assigned] regs @@
drivers/usb/cdns3/drd.c:382:32: sparse: expected struct cdns3_otg_common_regs *otg_regs
drivers/usb/cdns3/drd.c:382:32: sparse: got void [noderef] __iomem *[assigned] regs
drivers/usb/cdns3/drd.c:385:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:385:32: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:385:32: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:386:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:386:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:386:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:390:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdns3_otg_regs *otg_v1_regs @@ got void [noderef] __iomem *[assigned] regs @@
drivers/usb/cdns3/drd.c:390:35: sparse: expected struct cdns3_otg_regs *otg_v1_regs
drivers/usb/cdns3/drd.c:390:35: sparse: got void [noderef] __iomem *[assigned] regs
drivers/usb/cdns3/drd.c:391:38: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cdnsp_otg_regs *otg_cdnsp_regs @@ got void [noderef] __iomem *[assigned] regs @@
drivers/usb/cdns3/drd.c:391:38: sparse: expected struct cdnsp_otg_regs *otg_cdnsp_regs
drivers/usb/cdns3/drd.c:391:38: sparse: got void [noderef] __iomem *[assigned] regs
drivers/usb/cdns3/drd.c:395:41: sparse: sparse: restricted __le32 degrades to integer
drivers/usb/cdns3/drd.c:402:40: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:402:40: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:402:40: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:406:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
drivers/usb/cdns3/drd.c:406:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/cdns3/drd.c:406:17: sparse: got restricted __le32 *
drivers/usb/cdns3/drd.c:406:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got restricted __le32 * @@
vim +44 drivers/usb/cdns3/drd.c
22
23 /**
24 * cdns3_set_mode - change mode of OTG Core
25 * @cdns: pointer to context structure
26 * @mode: selected mode from cdns_role
27 *
28 * Returns 0 on success otherwise negative errno
29 */
30 static int cdns3_set_mode(struct cdns3 *cdns, enum usb_dr_mode mode)
31 {
32 u32 __iomem *override_reg;
33 u32 reg;
34
35 switch (mode) {
36 case USB_DR_MODE_PERIPHERAL:
37 break;
38 case USB_DR_MODE_HOST:
39 break;
40 case USB_DR_MODE_OTG:
41 dev_dbg(cdns->dev, "Set controller to OTG mode\n");
42
43 if (cdns->version == CDNSP_CONTROLLER_V2)
> 44 override_reg = &cdns->otg_cdnsp_regs->override;
45 else if (cdns->version == CDNS3_CONTROLLER_V1)
46 override_reg = &cdns->otg_v1_regs->override;
47 else
48 override_reg = &cdns->otg_v0_regs->ctrl1;
49
50 reg = readl(override_reg);
51
52 if (cdns->version != CDNS3_CONTROLLER_V0)
53 reg |= OVERRIDE_IDPULLUP;
54 else
55 reg |= OVERRIDE_IDPULLUP_V0;
56
57 writel(reg, override_reg);
58
59 if (cdns->version == CDNS3_CONTROLLER_V1) {
60 /*
61 * Enable work around feature built into the
62 * controller to address issue with RX Sensitivity
63 * est (EL_17) for USB2 PHY. The issue only occures
64 * for 0x0002450D controller version.
65 */
66 if (cdns->phyrst_a_enable) {
67 reg = readl(&cdns->otg_v1_regs->phyrst_cfg);
68 reg |= PHYRST_CFG_PHYRST_A_ENABLE;
69 writel(reg, &cdns->otg_v1_regs->phyrst_cfg);
70 }
71 }
72
73 /*
74 * Hardware specification says: "ID_VALUE must be valid within
75 * 50ms after idpullup is set to '1" so driver must wait
76 * 50ms before reading this pin.
77 */
78 usleep_range(50000, 60000);
79 break;
80 default:
81 dev_err(cdns->dev, "Unsupported mode of operation %d\n", mode);
82 return -EINVAL;
83 }
84
85 return 0;
86 }
87
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Tong Tiangen <tongtiangen(a)huawei.com>
hulk inclusion
category: feature
bugzilla: https://gitcode.com/openeuler/kernel/issues/7837
-------------------------------
Large memory migration imposes significant overhead on the CPU. This patch
introduces enhancements to the page migration by offloading the copy to
UDMA hardware which based on the DMA engine framework, and a new migration
mode has been introduced, If DMA migration fails, it will fall back to CPU
migration.
DMA migration supports both asynchronous and synchronous modes for
subsequent debugging purposes.
Signed-off-by: Tong Tiangen <tongtiangen(a)huawei.com>
Signed-off-by: Zeng Heng <zengheng4(a)huawei.com>
---
arch/arm64/configs/openeuler_defconfig | 1 +
include/linux/migrate_mode.h | 7 ++
include/linux/mm.h | 8 ++
mm/Kconfig | 12 +++
mm/Makefile | 1 +
mm/migrate.c | 9 ++
mm/migrate_dma.c | 143 +++++++++++++++++++++++++
7 files changed, 181 insertions(+)
create mode 100644 mm/migrate_dma.c
diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig
index c25ac4ff6c2f..08af29cf2776 100644
--- a/arch/arm64/configs/openeuler_defconfig
+++ b/arch/arm64/configs/openeuler_defconfig
@@ -1186,6 +1186,7 @@ CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
+CONFIG_MIGRATE_PAGES_DMA_OFFLOADING=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
diff --git a/include/linux/migrate_mode.h b/include/linux/migrate_mode.h
index 0f577f932bb4..5283e62b7d1b 100644
--- a/include/linux/migrate_mode.h
+++ b/include/linux/migrate_mode.h
@@ -19,6 +19,13 @@ enum migrate_mode {
MIGRATE_SYNC_NO_COPY,
};
+/*
+ * Actually the macro MIGRATE_ASYNC_DMA_OFFLOADING definition should be
+ * placed within enum migrate_mode, but for KABI compatibility, it is
+ * defined here alone.
+ */
+#define MIGRATE_ASYNC_DMA_OFFLOADING (10)
+
enum migrate_reason {
MR_COMPACTION,
MR_MEMORY_FAILURE,
diff --git a/include/linux/mm.h b/include/linux/mm.h
index c0040a2014c4..036822cb1b9d 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1330,6 +1330,14 @@ void put_pages_list(struct list_head *pages);
void split_page(struct page *page, unsigned int order);
void folio_copy(struct folio *dst, struct folio *src);
int folio_mc_copy(struct folio *dst, struct folio *src);
+#ifdef CONFIG_MIGRATE_PAGES_DMA_OFFLOADING
+int folio_dma_copy(struct folio *dst, struct folio *src);
+#else
+static inline int folio_dma_copy(struct folio *dst, struct folio *src)
+{
+ return -ENODEV;
+}
+#endif
unsigned long nr_free_buffer_pages(void);
diff --git a/mm/Kconfig b/mm/Kconfig
index 4eb0642b71e5..12438e8dff88 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -696,6 +696,18 @@ config MIGRATION
pages as migration can relocate pages to satisfy a huge page
allocation instead of reclaiming.
+config MIGRATE_PAGES_DMA_OFFLOADING
+ bool "Support to use DMA channels for page migration"
+ depends on DMA_ENGINE
+ depends on MIGRATION
+ default y
+ help
+ This config enhances page migration by introducing a new mode
+ that offloads copy operations to UB-DMA hardware based on the
+ DMA engine framework, with automatic fallback to CPU migration
+ if DMA migration fails. DMA migration supports both asynchronous
+ and synchronous modes to facilitate debugging.
+
config DEVICE_MIGRATION
def_bool MIGRATION && ZONE_DEVICE
diff --git a/mm/Makefile b/mm/Makefile
index e45cdeda47b7..dd81f8c33e03 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -92,6 +92,7 @@ obj-$(CONFIG_FAILSLAB) += failslab.o
obj-$(CONFIG_FAIL_PAGE_ALLOC) += fail_page_alloc.o
obj-$(CONFIG_MEMTEST) += memtest.o
obj-$(CONFIG_MIGRATION) += migrate.o
+obj-$(CONFIG_MIGRATE_PAGES_DMA_OFFLOADING) += migrate_dma.o
obj-$(CONFIG_NUMA) += memory-tiers.o
obj-$(CONFIG_DEVICE_MIGRATION) += migrate_device.o
obj-$(CONFIG_TRANSPARENT_HUGEPAGE) += huge_memory.o khugepaged.o
diff --git a/mm/migrate.c b/mm/migrate.c
index 148e55fab012..216f45c9570f 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -583,6 +583,15 @@ static int folio_migrate_mc_copy(struct folio *dst, struct folio *src,
if (mode == MIGRATE_SYNC_NO_COPY)
return 0;
+ if (mode == MIGRATE_ASYNC_DMA_OFFLOADING) {
+ if (folio_test_hugetlb(src) ||
+ folio_test_pmd_mappable(src)) {
+ /* if dma offloading fail, fallback */
+ if (!folio_dma_copy(dst, src))
+ return 0;
+ }
+ }
+
return folio_mc_copy(dst, src);
}
diff --git a/mm/migrate_dma.c b/mm/migrate_dma.c
new file mode 100644
index 000000000000..796cd9a5477e
--- /dev/null
+++ b/mm/migrate_dma.c
@@ -0,0 +1,143 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Support to use DMA channels for page migration.
+ *
+ * Copyright (C) 2025 Huawei Limited
+ */
+
+#define pr_fmt(fmt) "migrate_dma: " fmt
+
+#include <linux/dmaengine.h>
+#include <linux/dma-mapping.h>
+
+/* DMA channel track its transfers done */
+struct dma_channel_work {
+ struct dma_chan *chan;
+ enum dma_status status;
+ struct completion done;
+};
+
+static void folios_dma_copy_completion_callback(void *param,
+ const struct dmaengine_result *result)
+{
+ struct dma_channel_work *chan_work = param;
+
+ if (result) {
+ enum dmaengine_tx_result dma_res = result->result;
+
+ if (dma_res == DMA_TRANS_NOERROR)
+ chan_work->status = DMA_COMPLETE;
+ else
+ chan_work->status = DMA_ERROR;
+ }
+
+ complete(&chan_work->done);
+}
+
+static int process_folio_dma_transfer(struct dma_channel_work *chan_work,
+ struct folio *src, struct folio *dst)
+{
+ struct dma_chan *chan = chan_work->chan;
+ struct device *dev = dmaengine_get_dma_device(chan);
+ enum dma_ctrl_flags flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT;
+ struct dma_async_tx_descriptor *tx;
+ dma_addr_t src_handle, dst_handle;
+ size_t size = folio_size(src);
+ int ret;
+
+ src_handle = dma_map_page(dev, &src->page, 0, size, DMA_TO_DEVICE);
+ if (dma_mapping_error(dev, src_handle)) {
+ dev_err(dev, "map dma src page error.\n");
+ return -ENOMEM;
+ }
+
+ dst_handle = dma_map_page(dev, &dst->page, 0, size, DMA_FROM_DEVICE);
+ if (dma_mapping_error(dev, dst_handle)) {
+ dev_err(dev, "map dma dst page error.\n");
+ ret = -ENOMEM;
+ goto out_unmap;
+ }
+
+ tx = dmaengine_prep_dma_memcpy(chan, dst_handle, src_handle,
+ size, flags);
+ if (unlikely(!tx)) {
+ dev_err(dev, "prep dma memcpy error.\n");
+ ret = -EBUSY;
+ goto out_unmap_all;
+ }
+
+ tx->callback_result = folios_dma_copy_completion_callback;
+ tx->callback_param = chan_work;
+ init_completion(&chan_work->done);
+ chan_work->status = DMA_ERROR;
+
+ if (dma_submit_error(dmaengine_submit(tx))) {
+ dev_err(dev, "dma submit error.\n");
+ ret = -EINVAL;
+ goto out_unmap_all;
+ }
+
+ dma_async_issue_pending(chan);
+ if (!wait_for_completion_timeout(&chan_work->done,
+ msecs_to_jiffies(1000))) {
+ ret = -ETIMEDOUT;
+ goto out_unmap_all;
+ }
+
+ ret = (chan_work->status == DMA_COMPLETE) ? 0 : -EPROTO;
+
+out_unmap_all:
+ dma_unmap_page(dev, dst_handle, size, DMA_FROM_DEVICE);
+out_unmap:
+ dma_unmap_page(dev, src_handle, size, DMA_TO_DEVICE);
+
+ return ret;
+}
+
+static bool folio_dma_chan_filter(struct dma_chan *chan, void *param)
+{
+ return !strcmp(dev_name(chan->device->dev), "ub_dma_device");
+}
+
+int folio_dma_copy(struct folio *dst, struct folio *src)
+{
+ struct dma_channel_work *chan_work;
+ struct dma_slave_config dma_cfg;
+ struct dma_chan *chan;
+ dma_cap_mask_t mask;
+ int ret = -ENODEV;
+
+ dma_cap_zero(mask);
+ dma_cap_set(DMA_MEMCPY, mask);
+ chan = dma_request_channel(mask, folio_dma_chan_filter, NULL);
+ if (!chan) {
+ pr_err("failed to allocate dma channel.\n");
+ return ret;
+ }
+
+ memset(&dma_cfg, 0, sizeof(dma_cfg));
+ dma_cfg.direction = DMA_MEM_TO_MEM;
+ ret = dmaengine_slave_config(chan, &dma_cfg);
+ if (ret) {
+ pr_err("failed to config dma channel.\n");
+ goto out_release;
+ }
+
+ chan_work = kmalloc(sizeof(*chan_work), GFP_KERNEL);
+ if (unlikely(!chan_work)) {
+ pr_err("failed to allocate memory for chan work.\n");
+ goto out_release;
+ }
+
+ chan_work->chan = chan;
+ ret = process_folio_dma_transfer(chan_work, src, dst);
+ if (unlikely(ret))
+ pr_err("failed to process folio dma transfer.\n");
+
+ kfree(chan_work);
+out_release:
+ dma_release_channel(chan);
+
+ return ret;
+}
+EXPORT_SYMBOL(folio_dma_copy);
--
2.25.1
2
1
[openeuler:OLK-6.6 3557/3557] drivers/platform/mpam/mpam_resctrl.c:25:1: sparse: sparse: symbol 'resctrl_mon_ctx_waiters' was not declared. Should it be static?
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 9119da1439390ea4f29a0635652248aa3c2040f0 [3557/3557] arm_mpam: resctrl: Allow resctrl to allocate monitors
config: arm64-randconfig-r132-20251218 (https://download.01.org/0day-ci/archive/20251222/202512221945.aSbuNpcr-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/20251222/202512221945.aSbuNpcr-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/202512221945.aSbuNpcr-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/platform/mpam/mpam_resctrl.c:25:1: sparse: sparse: symbol 'resctrl_mon_ctx_waiters' was not declared. Should it be static?
>> drivers/platform/mpam/mpam_resctrl.c:45:5: sparse: sparse: symbol '__mon_is_rmid_idx' was not declared. Should it be static?
drivers/platform/mpam/mpam_resctrl.c:46:6: sparse: sparse: symbol 'mon_is_rmid_idx' was not declared. Should it be static?
vim +/resctrl_mon_ctx_waiters +25 drivers/platform/mpam/mpam_resctrl.c
24
> 25 DECLARE_WAIT_QUEUE_HEAD(resctrl_mon_ctx_waiters);
26
27 /*
28 * The classes we've picked to map to resctrl resources.
29 * Class pointer may be NULL.
30 */
31 static struct mpam_resctrl_res mpam_resctrl_exports[RDT_NUM_RESOURCES];
32
33 static bool exposed_alloc_capable;
34 static bool exposed_mon_capable;
35 static struct mpam_class *mbm_local_class;
36 static struct mpam_class *mbm_total_class;
37
38 /*
39 * MPAM emulates CDP by setting different PARTID in the I/D fields of MPAM1_EL1.
40 * This applies globally to all traffic the CPU generates.
41 */
42 static bool cdp_enabled;
43
44 /* A dummy mon context to use when the monitors were allocated up front */
> 45 u32 __mon_is_rmid_idx = USE_RMID_IDX;
46 void *mon_is_rmid_idx = &__mon_is_rmid_idx;
47
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[PATCH OLK-6.6] PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV
by Ziming Du 22 Dec '25
by Ziming Du 22 Dec '25
22 Dec '25
From: Niklas Schnelle <schnelle(a)linux.ibm.com>
stable inclusion
from stable-v6.6.113
commit 36039348bca77828bf06eae41b8f76e38cd15847
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDATN0
CVE: CVE-2025-40219
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 05703271c3cdcc0f2a8cf6ebdc45892b8ca83520 upstream.
Before disabling SR-IOV via config space accesses to the parent PF,
sriov_disable() first removes the PCI devices representing the VFs.
Since commit 9d16947b7583 ("PCI: Add global pci_lock_rescan_remove()")
such removal operations are serialized against concurrent remove and
rescan using the pci_rescan_remove_lock. No such locking was ever added
in sriov_disable() however. In particular when commit 18f9e9d150fc
("PCI/IOV: Factor out sriov_add_vfs()") factored out the PCI device
removal into sriov_del_vfs() there was still no locking around the
pci_iov_remove_virtfn() calls.
On s390 the lack of serialization in sriov_disable() may cause double
remove and list corruption with the below (amended) trace being observed:
PSW: 0704c00180000000 0000000c914e4b38 (klist_put+56)
GPRS: 000003800313fb48 0000000000000000 0000000100000001 0000000000000001
00000000f9b520a8 0000000000000000 0000000000002fbd 00000000f4cc9480
0000000000000001 0000000000000000 0000000000000000 0000000180692828
00000000818e8000 000003800313fe2c 000003800313fb20 000003800313fad8
#0 [3800313fb20] device_del at c9158ad5c
#1 [3800313fb88] pci_remove_bus_device at c915105ba
#2 [3800313fbd0] pci_iov_remove_virtfn at c9152f198
#3 [3800313fc28] zpci_iov_remove_virtfn at c90fb67c0
#4 [3800313fc60] zpci_bus_remove_device at c90fb6104
#5 [3800313fca0] __zpci_event_availability at c90fb3dca
#6 [3800313fd08] chsc_process_sei_nt0 at c918fe4a2
#7 [3800313fd60] crw_collect_info at c91905822
#8 [3800313fe10] kthread at c90feb390
#9 [3800313fe68] __ret_from_fork at c90f6aa64
#10 [3800313fe98] ret_from_fork at c9194f3f2.
This is because in addition to sriov_disable() removing the VFs, the
platform also generates hot-unplug events for the VFs. This being the
reverse operation to the hotplug events generated by sriov_enable() and
handled via pdev->no_vf_scan. And while the event processing takes
pci_rescan_remove_lock and checks whether the struct pci_dev still exists,
the lack of synchronization makes this checking racy.
Other races may also be possible of course though given that this lack of
locking persisted so long observable races seem very rare. Even on s390 the
list corruption was only observed with certain devices since the platform
events are only triggered by config accesses after the removal, so as long
as the removal finished synchronously they would not race. Either way the
locking is missing so fix this by adding it to the sriov_del_vfs() helper.
Just like PCI rescan-remove, locking is also missing in sriov_add_vfs()
including for the error case where pci_stop_and_remove_bus_device() is
called without the PCI rescan-remove lock being held. Even in the non-error
case, adding new PCI devices and buses should be serialized via the PCI
rescan-remove lock. Add the necessary locking.
Fixes: 18f9e9d150fc ("PCI/IOV: Factor out sriov_add_vfs()")
Signed-off-by: Niklas Schnelle <schnelle(a)linux.ibm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas(a)google.com>
Reviewed-by: Benjamin Block <bblock(a)linux.ibm.com>
Reviewed-by: Farhan Ali <alifm(a)linux.ibm.com>
Reviewed-by: Julian Ruess <julianr(a)linux.ibm.com>
Cc: stable(a)vger.kernel.org
Link: https://patch.msgid.link/20250826-pci_fix_sriov_disable-v1-1-2d0bc938f2a3@l…
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Ziming Du <duziming2(a)huawei.com>
---
drivers/pci/iov.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index 54ec841e3e18..2cb477fd8e3b 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -590,15 +590,18 @@ static int sriov_add_vfs(struct pci_dev *dev, u16 num_vfs)
if (dev->no_vf_scan)
return 0;
+ pci_lock_rescan_remove();
for (i = 0; i < num_vfs; i++) {
rc = pci_iov_add_virtfn(dev, i);
if (rc)
goto failed;
}
+ pci_unlock_rescan_remove();
return 0;
failed:
while (i--)
pci_iov_remove_virtfn(dev, i);
+ pci_unlock_rescan_remove();
return rc;
}
@@ -718,8 +721,10 @@ static void sriov_del_vfs(struct pci_dev *dev)
struct pci_sriov *iov = dev->sriov;
int i;
+ pci_lock_rescan_remove();
for (i = 0; i < iov->num_VFs; i++)
pci_iov_remove_virtfn(dev, i);
+ pci_unlock_rescan_remove();
}
static void sriov_disable(struct pci_dev *dev)
--
2.43.0
2
1
hulk inclusion
category: bugfix
bugzilla: https://atomgit.com/openeuler/kernel/issues/8282
--------------------------------
L3t is only work with specific cpus, now add checker during init
to make sure this is enabled with specific cpus.
Fixes: c40d971092ff ("hisi: l3t: Add L3 cache driver for hisi")
Signed-off-by: Wupeng Ma <mawupeng1(a)huawei.com>
---
arch/arm64/include/asm/cputype.h | 2 ++
drivers/soc/hisilicon/l3t.c | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git a/arch/arm64/include/asm/cputype.h b/arch/arm64/include/asm/cputype.h
index b3b1977e9980..ca90d0e13ad6 100644
--- a/arch/arm64/include/asm/cputype.h
+++ b/arch/arm64/include/asm/cputype.h
@@ -113,6 +113,7 @@
#define HISI_CPU_PART_TSV110 0xD01
#define HISI_CPU_PART_TSV200 0xD02
#define HISI_CPU_PART_LINXICORE9100 0xD02
+#define HISI_CPU_PART_HIP10 0xD03
#define PHYTIUM_CPU_PART_1500A 0X660
#define PHYTIUM_CPU_PART_2000AHK 0X661
@@ -165,6 +166,7 @@
#define MIDR_FUJITSU_A64FX MIDR_CPU_MODEL(ARM_CPU_IMP_FUJITSU, FUJITSU_CPU_PART_A64FX)
#define MIDR_HISI_TSV110 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV110)
#define MIDR_HISI_TSV200 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV200)
+#define MIDR_HISI_HIP10 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_HIP10)
#define MIDR_HISI_LINXICORE9100 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_LINXICORE9100)
#define MIDR_FT_1500A MIDR_CPU_MODEL(ARM_CPU_IMP_PHYTIUM, PHYTIUM_CPU_PART_1500A)
#define MIDR_FT_2000AHK MIDR_CPU_MODEL(ARM_CPU_IMP_PHYTIUM, PHYTIUM_CPU_PART_2000AHK)
diff --git a/drivers/soc/hisilicon/l3t.c b/drivers/soc/hisilicon/l3t.c
index 35106e091098..69e65d659a35 100644
--- a/drivers/soc/hisilicon/l3t.c
+++ b/drivers/soc/hisilicon/l3t.c
@@ -264,6 +264,14 @@ static struct platform_driver hisi_l3t_driver = {
static int __init hisi_l3t_init(void)
{
+ static const struct midr_range l3t_support_list[] = {
+ MIDR_ALL_VERSIONS(MIDR_HISI_TSV200),
+ MIDR_ALL_VERSIONS(MIDR_HISI_HIP10),
+ {}
+ };
+ if (!is_midr_in_range_list(read_cpuid_id(), l3t_support_list))
+ return -ENODEV;
+
mutex_init(&l3t_mutex);
xa_init(&l3t_mapping);
--
2.43.0
2
1
[openeuler:OLK-6.6 3542/3542] arch/arm64/kvm/vgic/vgic-v4.c:260: warning: Function parameter or member 'vcpu' not described in 'kvm_vgic_get_vcpu_vpeid'
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 78feb450c1fbd0f2a1a542882ed62a0993c86c5a [3542/3542] KVM: arm64: GICv4.1: Add support for MBIGEN save/restore
config: arm64-randconfig-001-20251215 (https://download.01.org/0day-ci/archive/20251222/202512221812.bA9JN365-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512221812.bA9JN365-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/202512221812.bA9JN365-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm64/kvm/vgic/vgic-v4.c:260: warning: Function parameter or member 'vcpu' not described in 'kvm_vgic_get_vcpu_vpeid'
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
vim +260 arch/arm64/kvm/vgic/vgic-v4.c
253
254 /**
255 * kvm_vgic_get_vcpu_vpeid - Get the VCPU's vpeid
256 *
257 * The vtimer mbigen needs the vcpu vpeid info which will resident.
258 */
259 u16 kvm_vgic_get_vcpu_vpeid(struct kvm_vcpu *vcpu)
> 260 {
261 return vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vpe_id;
262 }
263 #endif
264
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:openEuler-1.0-LTS 1944/1944] drivers/gpio/gpio-phytium-platform.c:111:2-3: Unneeded semicolon
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 4e9c55920995d70b3e88b60c69753df54b03fdf4
commit: 00711bad7e372a30c4975ba43811ffa666aff0e1 [1944/1944] gpio: add phytium gpio driver
config: arm64-randconfig-r052-20251217 (https://download.01.org/0day-ci/archive/20251222/202512221720.DJfxv97T-lkp@…)
compiler: aarch64-linux-gcc (GCC) 9.5.0
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/202512221720.DJfxv97T-lkp@intel.com/
cocci warnings: (new ones prefixed by >>)
>> drivers/gpio/gpio-phytium-platform.c:111:2-3: Unneeded semicolon
vim +111 drivers/gpio/gpio-phytium-platform.c
35
36 static int phytium_gpio_probe(struct platform_device *pdev)
37 {
38 struct device *dev = &pdev->dev;
39 struct resource *res;
40 struct phytium_gpio *gpio;
41 struct gpio_irq_chip *girq;
42 struct fwnode_handle *fwnode;
43 int err, irq_count;
44
45 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL);
46 if (!gpio)
47 return -ENOMEM;
48
49 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
50 gpio->regs = devm_ioremap_resource(&pdev->dev, res);
51 if (IS_ERR(gpio->regs))
52 return PTR_ERR(gpio->regs);
53
54 if (!device_get_child_node_count(dev))
55 return -ENODEV;
56
57 device_for_each_child_node(dev, fwnode) {
58 int idx;
59
60 if (fwnode_property_read_u32(fwnode, "reg", &idx) ||
61 idx >= MAX_NPORTS) {
62 dev_err(dev, "missing/invalid port index\n");
63 fwnode_handle_put(fwnode);
64 return -EINVAL;
65 }
66
67 if (fwnode_property_read_u32(fwnode, "nr-gpios",
68 &gpio->ngpio[idx])) {
69 dev_info(dev,
70 "failed to get number of gpios for Port%c\n",
71 idx ? 'B' : 'A');
72 gpio->ngpio[idx] = NGPIO_DEFAULT;
73 }
74 }
75
76 /* irq_chip support */
77 gpio->irq_chip.name = dev_name(dev);
78 gpio->irq_chip.irq_ack = phytium_gpio_irq_ack;
79 gpio->irq_chip.irq_mask = phytium_gpio_irq_mask;
80 gpio->irq_chip.irq_unmask = phytium_gpio_irq_unmask;
81 gpio->irq_chip.irq_set_type = phytium_gpio_irq_set_type;
82 gpio->irq_chip.irq_enable = phytium_gpio_irq_enable;
83 gpio->irq_chip.irq_disable = phytium_gpio_irq_disable;
84 #ifdef CONFIG_SMP
85 gpio->irq_chip.irq_set_affinity = phytium_gpio_irq_set_affinity;
86 #endif
87 raw_spin_lock_init(&gpio->lock);
88
89 gpio->gc.base = -1;
90 gpio->gc.get_direction = phytium_gpio_get_direction;
91 gpio->gc.direction_input = phytium_gpio_direction_input;
92 gpio->gc.direction_output = phytium_gpio_direction_output;
93 gpio->gc.get = phytium_gpio_get;
94 gpio->gc.set = phytium_gpio_set;
95 gpio->gc.ngpio = gpio->ngpio[0] + gpio->ngpio[1];
96 gpio->gc.label = dev_name(dev);
97 gpio->gc.parent = dev;
98 gpio->gc.owner = THIS_MODULE;
99
100 girq = &gpio->gc.irq;
101 girq->handler = handle_bad_irq;
102 girq->default_type = IRQ_TYPE_NONE;
103
104 for (irq_count = 0; irq_count < gpio->ngpio[0]; irq_count++) {
105 gpio->irq[irq_count] = -ENXIO;
106 gpio->irq[irq_count] = platform_get_irq(pdev, irq_count);
107 if (gpio->irq[irq_count] < 0) {
108 dev_warn(dev, "no irq is found.\n");
109 break;
110 }
> 111 };
112
113 girq->num_parents = irq_count;
114 girq->parents = gpio->irq;
115 girq->parent_handler = phytium_gpio_irq_handler;
116
117 girq->chip = &gpio->irq_chip;
118
119 err = devm_gpiochip_add_data(dev, &gpio->gc, gpio);
120 if (err)
121 return err;
122
123 platform_set_drvdata(pdev, gpio);
124 dev_info(dev, "Phytium GPIO controller @%pa registered\n",
125 &res->start);
126
127 return 0;
128 }
129
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Currently, x86, Riscv, Loongarch use the Generic Entry which makes
maintainers' work easier and codes more elegant. arm64 has already
successfully switched to the Generic IRQ Entry in commit
b3cf07851b6c ("arm64: entry: Switch to generic IRQ entry"), it is
time to completely convert arm64 to Generic Entry.
The goal is to bring arm64 in line with other architectures that already
use the generic entry infrastructure, reducing duplicated code and
making it easier to share future changes in entry/exit paths, such as
"Syscall User Dispatch".
This patch set is rebased on v6.19-rc1. And the performance was measured
on Kunpeng 920 using "perf bench basic syscall" with "arm64.nopauth
selinux=0 audit=1".
After switch to Generic Entry, the performance are below:
| Metric | W/O Generic Framework | With Generic Framework | Change |
| ---------- | --------------------- | ---------------------- | ------ |
| Total time | 2.487 [sec] | 2.393[sec] | ↓3.8% |
| usecs/op | 0.248780 | 0.239361 | ↓3.8% |
| ops/sec | 4,019,620 | 4,177,789 | ↑3.9% |
Compared to earlier with arch specific handling, the performance improved
by approximately 3.9%.
On the basis of optimizing syscall_get_arguments()[1], el0_svc_common()
and syscall_exit_work(), the performance are below:
| Metric | W/O Generic Entry | With Generic Entry opt| Change |
| ---------- | ----------------- | ------------------ | ------ |
| Total time | 2.487 [sec] | 2.264 [sec] | ↓9.0% |
| usecs/op | 0.248780 | 0.226481 | ↓9.0% |
| ops/sec | 4,019,620 | 4,415,383 | ↑9.8% |
Therefore, after the optimization, ARM64 System Call performance improved
by approximately 9%.
It was tested ok with following test cases on kunpeng920 and QEMU
virt platform:
- Perf tests.
- Different `dynamic preempt` mode switch.
- Pseudo NMI tests.
- Stress-ng CPU stress test.
- Hackbench stress test.
- MTE test case in Documentation/arch/arm64/memory-tagging-extension.rst
and all test cases in tools/testing/selftests/arm64/mte/*.
- "sud" selftest testcase.
- get_set_sud, get_syscall_info, set_syscall_info, peeksiginfo
in tools/testing/selftests/ptrace.
- breakpoint_test_arm64 in selftests/breakpoints.
- syscall-abi and ptrace in tools/testing/selftests/arm64/abi
- fp-ptrace, sve-ptrace, za-ptrace in selftests/arm64/fp.
- vdso_test_getrandom in tools/testing/selftests/vDSO
- Strace tests.
The test QEMU configuration is as follows:
qemu-system-aarch64 \
-M virt,gic-version=3,virtualization=on,mte=on \
-cpu max,pauth-impdef=on \
-kernel Image \
-smp 8,sockets=1,cores=4,threads=2 \
-m 512m \
-nographic \
-no-reboot \
-device virtio-rng-pci \
-append "root=/dev/vda rw console=ttyAMA0 kgdboc=ttyAMA0,115200 \
earlycon preempt=voluntary irqchip.gicv3_pseudo_nmi=1" \
-drive if=none,file=images/rootfs.ext4,format=raw,id=hd0 \
-device virtio-blk-device,drive=hd0 \
[1]: https://kernel.googlesource.com/pub/scm/linux/kernel/git/akpm/mm/+/89bf683c…
Changes in v10:
- Rebased on v6.19-rc1, rename syscall_exit_to_user_mode_prepare() to
syscall_exit_to_user_mode_work_prepare() to avoid conflict.
- Also inline syscall_trace_enter().
- Support aarch64 for sud_benchmark.
- Update and correct the commit message.
- Add Reviewed-by.
- Link to v9: https://lore.kernel.org/all/20251204082123.2792067-1-ruanjinjie@huawei.com/
Changes in v9:
- Move "Return early for ptrace_report_syscall_entry() error" patch ahead
to make it not introduce a regression.
- Not check _TIF_SECCOMP/SYSCALL_EMU for syscall_exit_work() in
a separate patch.
- Do not report_syscall_exit() for PTRACE_SYSEMU_SINGLESTEP in a separate
patch.
- Add two performance patch to improve the arm64 performance.
- Add Reviewed-by.
- Link to v8: https://lore.kernel.org/all/20251126071446.3234218-1-ruanjinjie@huawei.com/
Changes in v8:
- Rename "report_syscall_enter()" to "report_syscall_entry()".
- Add ptrace_save_reg() to avoid duplication.
- Remove unused _TIF_WORK_MASK in a standalone patch.
- Align syscall_trace_enter() return value with the generic version.
- Use "scno" instead of regs->syscallno in el0_svc_common().
- Move rseq_syscall() ahead in a standalone patch to clarify it clearly.
- Rename "syscall_trace_exit()" to "syscall_exit_work()".
- Keep the goto in el0_svc_common().
- No argument was passed to __secure_computing() and check -1 not -1L.
- Remove "Add has_syscall_work() helper" patch.
- Move "Add syscall_exit_to_user_mode_prepare() helper" patch later.
- Add miss header for asm/entry-common.h.
- Update the implementation of arch_syscall_is_vdso_sigreturn().
- Add "ARCH_SYSCALL_WORK_EXIT" to be defined as "SECCOMP | SYSCALL_EMU"
to keep the behaviour unchanged.
- Add more testcases test.
- Add Reviewed-by.
- Update the commit message.
- Link to v7: https://lore.kernel.org/all/20251117133048.53182-1-ruanjinjie@huawei.com/
Chanegs in v7:
- Support "Syscall User Dispatch" by implementing
arch_syscall_is_vdso_sigreturn() as kemal suggested.
- Add aarch64 support for "sud" selftest testcase, which tested ok with
the patch series.
- Fix the kernel test robot warning for arch_ptrace_report_syscall_entry()
and arch_ptrace_report_syscall_exit() in asm/entry-common.h.
- Add perf syscall performance test.
- Link to v6: https://lore.kernel.org/all/20250916082611.2972008-1-ruanjinjie@huawei.com/
Changes in v6:
- Rebased on v6.17-rc5-next as arm64 generic irq entry has merged.
- Update the commit message.
- Link to v5: https://lore.kernel.org/all/20241206101744.4161990-1-ruanjinjie@huawei.com/
Changes in v5:
- Not change arm32 and keep inerrupts_enabled() macro for gicv3 driver.
- Move irqentry_state definition into arch/arm64/kernel/entry-common.c.
- Avoid removing the __enter_from_*() and __exit_to_*() wrappers.
- Update "irqentry_state_t ret/irq_state" to "state"
to keep it consistently.
- Use generic irq entry header for PREEMPT_DYNAMIC after split
the generic entry.
- Also refactor the ARM64 syscall code.
- Introduce arch_ptrace_report_syscall_entry/exit(), instead of
arch_pre/post_report_syscall_entry/exit() to simplify code.
- Make the syscall patches clear separation.
- Update the commit message.
- Link to v4: https://lore.kernel.org/all/20241025100700.3714552-1-ruanjinjie@huawei.com/
Changes in v4:
- Rework/cleanup split into a few patches as Mark suggested.
- Replace interrupts_enabled() macro with regs_irqs_disabled(), instead
of left it here.
- Remove rcu and lockdep state in pt_regs by using temporary
irqentry_state_t as Mark suggested.
- Remove some unnecessary intermediate functions to make it clear.
- Rework preempt irq and PREEMPT_DYNAMIC code
to make the switch more clear.
- arch_prepare_*_entry/exit() -> arch_pre_*_entry/exit().
- Expand the arch functions comment.
- Make arch functions closer to its caller.
- Declare saved_reg in for block.
- Remove arch_exit_to_kernel_mode_prepare(), arch_enter_from_kernel_mode().
- Adjust "Add few arch functions to use generic entry" patch to be
the penultimate.
- Update the commit message.
- Add suggested-by.
- Link to v3: https://lore.kernel.org/all/20240629085601.470241-1-ruanjinjie@huawei.com/
Changes in v3:
- Test the MTE test cases.
- Handle forget_syscall() in arch_post_report_syscall_entry()
- Make the arch funcs not use __weak as Thomas suggested, so move
the arch funcs to entry-common.h, and make arch_forget_syscall() folded
in arch_post_report_syscall_entry() as suggested.
- Move report_single_step() to thread_info.h for arm64
- Change __always_inline() to inline, add inline for the other arch funcs.
- Remove unused signal.h for entry-common.h.
- Add Suggested-by.
- Update the commit message.
Changes in v2:
- Add tested-by.
- Fix a bug that not call arch_post_report_syscall_entry() in
syscall_trace_enter() if ptrace_report_syscall_entry() return not zero.
- Refactor report_syscall().
- Add comment for arch_prepare_report_syscall_exit().
- Adjust entry-common.h header file inclusion to alphabetical order.
- Update the commit message.
Jinjie Ruan (15):
arm64: Remove unused _TIF_WORK_MASK
arm64/ptrace: Split report_syscall()
arm64/ptrace: Return early for ptrace_report_syscall_entry() error
arm64/ptrace: Refactor syscall_trace_enter/exit()
arm64: ptrace: Move rseq_syscall() before audit_syscall_exit()
arm64: syscall: Rework el0_svc_common()
arm64/ptrace: Not check _TIF_SECCOMP/SYSCALL_EMU for
syscall_exit_work()
arm64/ptrace: Do not report_syscall_exit() for
PTRACE_SYSEMU_SINGLESTEP
arm64/ptrace: Expand secure_computing() in place
arm64/ptrace: Use syscall_get_arguments() helper
entry: Split syscall_exit_to_user_mode_work() for arch reuse
entry: Add arch_ptrace_report_syscall_entry/exit()
arm64: entry: Convert to generic entry
arm64: Inline el0_svc_common()
entry: Inline syscall_exit_work() and syscall_trace_enter()
kemal (1):
selftests: sud_test: Support aarch64
arch/arm64/Kconfig | 2 +-
arch/arm64/include/asm/entry-common.h | 76 ++++++++
arch/arm64/include/asm/syscall.h | 19 +-
arch/arm64/include/asm/thread_info.h | 22 +--
arch/arm64/kernel/debug-monitors.c | 7 +
arch/arm64/kernel/ptrace.c | 94 ----------
arch/arm64/kernel/signal.c | 2 +-
arch/arm64/kernel/syscall.c | 29 +--
include/linux/entry-common.h | 176 ++++++++++++++++--
kernel/entry/common.h | 7 -
kernel/entry/syscall-common.c | 96 +---------
kernel/entry/syscall_user_dispatch.c | 4 +-
.../syscall_user_dispatch/sud_benchmark.c | 2 +-
.../syscall_user_dispatch/sud_test.c | 4 +
14 files changed, 282 insertions(+), 258 deletions(-)
delete mode 100644 kernel/entry/common.h
--
2.34.1
1
16
From: Tong Tiangen <tongtiangen(a)huawei.com>
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IDBGTZ
-------------------------------
Large memory migration imposes significant overhead on the CPU. This patch
introduces enhancements to the page migration by offloading the copy to
UDMA hardware which based on the DMA engine framework, and a new migration
mode has been introduced, If DMA migration fails, it will fall back to CPU
migration.
DMA migration supports both asynchronous and synchronous modes for
subsequent debugging purposes.
Signed-off-by: Tong Tiangen <tongtiangen(a)huawei.com>
Signed-off-by: Zeng Heng <zengheng4(a)huawei.com>
---
arch/arm64/configs/openeuler_defconfig | 1 +
include/linux/migrate_mode.h | 7 ++
include/linux/mm.h | 8 ++
mm/Kconfig | 12 +++
mm/Makefile | 1 +
mm/migrate.c | 9 ++
mm/migrate_dma.c | 143 +++++++++++++++++++++++++
7 files changed, 181 insertions(+)
create mode 100644 mm/migrate_dma.c
diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig
index c25ac4ff6c2f..08af29cf2776 100644
--- a/arch/arm64/configs/openeuler_defconfig
+++ b/arch/arm64/configs/openeuler_defconfig
@@ -1186,6 +1186,7 @@ CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
+CONFIG_MIGRATE_PAGES_DMA_OFFLOADING=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
diff --git a/include/linux/migrate_mode.h b/include/linux/migrate_mode.h
index 0f577f932bb4..5283e62b7d1b 100644
--- a/include/linux/migrate_mode.h
+++ b/include/linux/migrate_mode.h
@@ -19,6 +19,13 @@ enum migrate_mode {
MIGRATE_SYNC_NO_COPY,
};
+/*
+ * Actually the macro MIGRATE_ASYNC_DMA_OFFLOADING definition should be
+ * placed within enum migrate_mode, but for KABI compatibility, it is
+ * defined here alone.
+ */
+#define MIGRATE_ASYNC_DMA_OFFLOADING (10)
+
enum migrate_reason {
MR_COMPACTION,
MR_MEMORY_FAILURE,
diff --git a/include/linux/mm.h b/include/linux/mm.h
index c0040a2014c4..036822cb1b9d 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1330,6 +1330,14 @@ void put_pages_list(struct list_head *pages);
void split_page(struct page *page, unsigned int order);
void folio_copy(struct folio *dst, struct folio *src);
int folio_mc_copy(struct folio *dst, struct folio *src);
+#ifdef CONFIG_MIGRATE_PAGES_DMA_OFFLOADING
+int folio_dma_copy(struct folio *dst, struct folio *src);
+#else
+static inline int folio_dma_copy(struct folio *dst, struct folio *src)
+{
+ return -ENODEV;
+}
+#endif
unsigned long nr_free_buffer_pages(void);
diff --git a/mm/Kconfig b/mm/Kconfig
index 4eb0642b71e5..12438e8dff88 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -696,6 +696,18 @@ config MIGRATION
pages as migration can relocate pages to satisfy a huge page
allocation instead of reclaiming.
+config MIGRATE_PAGES_DMA_OFFLOADING
+ bool "Support to use DMA channels for page migration"
+ depends on DMA_ENGINE
+ depends on MIGRATION
+ default y
+ help
+ This config enhances page migration by introducing a new mode
+ that offloads copy operations to UB-DMA hardware based on the
+ DMA engine framework, with automatic fallback to CPU migration
+ if DMA migration fails. DMA migration supports both asynchronous
+ and synchronous modes to facilitate debugging.
+
config DEVICE_MIGRATION
def_bool MIGRATION && ZONE_DEVICE
diff --git a/mm/Makefile b/mm/Makefile
index e45cdeda47b7..dd81f8c33e03 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -92,6 +92,7 @@ obj-$(CONFIG_FAILSLAB) += failslab.o
obj-$(CONFIG_FAIL_PAGE_ALLOC) += fail_page_alloc.o
obj-$(CONFIG_MEMTEST) += memtest.o
obj-$(CONFIG_MIGRATION) += migrate.o
+obj-$(CONFIG_MIGRATE_PAGES_DMA_OFFLOADING) += migrate_dma.o
obj-$(CONFIG_NUMA) += memory-tiers.o
obj-$(CONFIG_DEVICE_MIGRATION) += migrate_device.o
obj-$(CONFIG_TRANSPARENT_HUGEPAGE) += huge_memory.o khugepaged.o
diff --git a/mm/migrate.c b/mm/migrate.c
index 148e55fab012..216f45c9570f 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -583,6 +583,15 @@ static int folio_migrate_mc_copy(struct folio *dst, struct folio *src,
if (mode == MIGRATE_SYNC_NO_COPY)
return 0;
+ if (mode == MIGRATE_ASYNC_DMA_OFFLOADING) {
+ if (folio_test_hugetlb(src) ||
+ folio_test_pmd_mappable(src)) {
+ /* if dma offloading fail, fallback */
+ if (!folio_dma_copy(dst, src))
+ return 0;
+ }
+ }
+
return folio_mc_copy(dst, src);
}
diff --git a/mm/migrate_dma.c b/mm/migrate_dma.c
new file mode 100644
index 000000000000..796cd9a5477e
--- /dev/null
+++ b/mm/migrate_dma.c
@@ -0,0 +1,143 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Support to use DMA channels for page migration.
+ *
+ * Copyright (C) 2025 Huawei Limited
+ */
+
+#define pr_fmt(fmt) "migrate_dma: " fmt
+
+#include <linux/dmaengine.h>
+#include <linux/dma-mapping.h>
+
+/* DMA channel track its transfers done */
+struct dma_channel_work {
+ struct dma_chan *chan;
+ enum dma_status status;
+ struct completion done;
+};
+
+static void folios_dma_copy_completion_callback(void *param,
+ const struct dmaengine_result *result)
+{
+ struct dma_channel_work *chan_work = param;
+
+ if (result) {
+ enum dmaengine_tx_result dma_res = result->result;
+
+ if (dma_res == DMA_TRANS_NOERROR)
+ chan_work->status = DMA_COMPLETE;
+ else
+ chan_work->status = DMA_ERROR;
+ }
+
+ complete(&chan_work->done);
+}
+
+static int process_folio_dma_transfer(struct dma_channel_work *chan_work,
+ struct folio *src, struct folio *dst)
+{
+ struct dma_chan *chan = chan_work->chan;
+ struct device *dev = dmaengine_get_dma_device(chan);
+ enum dma_ctrl_flags flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT;
+ struct dma_async_tx_descriptor *tx;
+ dma_addr_t src_handle, dst_handle;
+ size_t size = folio_size(src);
+ int ret;
+
+ src_handle = dma_map_page(dev, &src->page, 0, size, DMA_TO_DEVICE);
+ if (dma_mapping_error(dev, src_handle)) {
+ dev_err(dev, "map dma src page error.\n");
+ return -ENOMEM;
+ }
+
+ dst_handle = dma_map_page(dev, &dst->page, 0, size, DMA_FROM_DEVICE);
+ if (dma_mapping_error(dev, dst_handle)) {
+ dev_err(dev, "map dma dst page error.\n");
+ ret = -ENOMEM;
+ goto out_unmap;
+ }
+
+ tx = dmaengine_prep_dma_memcpy(chan, dst_handle, src_handle,
+ size, flags);
+ if (unlikely(!tx)) {
+ dev_err(dev, "prep dma memcpy error.\n");
+ ret = -EBUSY;
+ goto out_unmap_all;
+ }
+
+ tx->callback_result = folios_dma_copy_completion_callback;
+ tx->callback_param = chan_work;
+ init_completion(&chan_work->done);
+ chan_work->status = DMA_ERROR;
+
+ if (dma_submit_error(dmaengine_submit(tx))) {
+ dev_err(dev, "dma submit error.\n");
+ ret = -EINVAL;
+ goto out_unmap_all;
+ }
+
+ dma_async_issue_pending(chan);
+ if (!wait_for_completion_timeout(&chan_work->done,
+ msecs_to_jiffies(1000))) {
+ ret = -ETIMEDOUT;
+ goto out_unmap_all;
+ }
+
+ ret = (chan_work->status == DMA_COMPLETE) ? 0 : -EPROTO;
+
+out_unmap_all:
+ dma_unmap_page(dev, dst_handle, size, DMA_FROM_DEVICE);
+out_unmap:
+ dma_unmap_page(dev, src_handle, size, DMA_TO_DEVICE);
+
+ return ret;
+}
+
+static bool folio_dma_chan_filter(struct dma_chan *chan, void *param)
+{
+ return !strcmp(dev_name(chan->device->dev), "ub_dma_device");
+}
+
+int folio_dma_copy(struct folio *dst, struct folio *src)
+{
+ struct dma_channel_work *chan_work;
+ struct dma_slave_config dma_cfg;
+ struct dma_chan *chan;
+ dma_cap_mask_t mask;
+ int ret = -ENODEV;
+
+ dma_cap_zero(mask);
+ dma_cap_set(DMA_MEMCPY, mask);
+ chan = dma_request_channel(mask, folio_dma_chan_filter, NULL);
+ if (!chan) {
+ pr_err("failed to allocate dma channel.\n");
+ return ret;
+ }
+
+ memset(&dma_cfg, 0, sizeof(dma_cfg));
+ dma_cfg.direction = DMA_MEM_TO_MEM;
+ ret = dmaengine_slave_config(chan, &dma_cfg);
+ if (ret) {
+ pr_err("failed to config dma channel.\n");
+ goto out_release;
+ }
+
+ chan_work = kmalloc(sizeof(*chan_work), GFP_KERNEL);
+ if (unlikely(!chan_work)) {
+ pr_err("failed to allocate memory for chan work.\n");
+ goto out_release;
+ }
+
+ chan_work->chan = chan;
+ ret = process_folio_dma_transfer(chan_work, src, dst);
+ if (unlikely(ret))
+ pr_err("failed to process folio dma transfer.\n");
+
+ kfree(chan_work);
+out_release:
+ dma_release_channel(chan);
+
+ return ret;
+}
+EXPORT_SYMBOL(folio_dma_copy);
--
2.25.1
2
1