Kernel
Threads by month
- ----- 2025 -----
- 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
November 2024
- 76 participants
- 1020 discussions

[PATCH openEuler-22.03-LTS-SP1] pinctrl: single: fix potential NULL dereference in pcs_get_function()
by Zhang Zekun 07 Nov '24
by Zhang Zekun 07 Nov '24
07 Nov '24
From: Ma Ke <make24(a)iscas.ac.cn>
stable inclusion
from stable-v5.10.225
commit 4e9436375fcc9bd2a60ee96aba6ed53f7a377d10
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAR49K
CVE: CVE-2024-46685
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
-----------------------------------------------------------------
commit 1c38a62f15e595346a1106025722869e87ffe044 upstream.
pinmux_generic_get_function() can return NULL and the pointer 'function'
was dereferenced without checking against NULL. Add checking of pointer
'function' in pcs_get_function().
Found by code review.
Cc: stable(a)vger.kernel.org
Fixes: 571aec4df5b7 ("pinctrl: single: Use generic pinmux helpers for managing functions")
Signed-off-by: Ma Ke <make24(a)iscas.ac.cn>
Link: https://lore.kernel.org/20240808041355.2766009-1-make24@iscas.ac.cn
Signed-off-by: Linus Walleij <linus.walleij(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zhang Zekun <zhangzekun11(a)huawei.com>
---
drivers/pinctrl/pinctrl-single.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index 22e471933b37..b5fd3889c110 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -350,6 +350,8 @@ static int pcs_get_function(struct pinctrl_dev *pctldev, unsigned pin,
return -ENOTSUPP;
fselector = setting->func;
function = pinmux_generic_get_function(pctldev, fselector);
+ if (!function)
+ return -EINVAL;
*func = function->data;
if (!(*func)) {
dev_err(pcs->dev, "%s could not find function%i\n",
--
2.17.1
2
1

[PATCH OLK-5.10] pinctrl: single: fix potential NULL dereference in pcs_get_function()
by Zhang Zekun 07 Nov '24
by Zhang Zekun 07 Nov '24
07 Nov '24
From: Ma Ke <make24(a)iscas.ac.cn>
stable inclusion
from stable-v5.10.225
commit 4e9436375fcc9bd2a60ee96aba6ed53f7a377d10
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAR49K
CVE: CVE-2024-46685
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
-----------------------------------------------------------------
commit 1c38a62f15e595346a1106025722869e87ffe044 upstream.
pinmux_generic_get_function() can return NULL and the pointer 'function'
was dereferenced without checking against NULL. Add checking of pointer
'function' in pcs_get_function().
Found by code review.
Cc: stable(a)vger.kernel.org
Fixes: 571aec4df5b7 ("pinctrl: single: Use generic pinmux helpers for managing functions")
Signed-off-by: Ma Ke <make24(a)iscas.ac.cn>
Link: https://lore.kernel.org/20240808041355.2766009-1-make24@iscas.ac.cn
Signed-off-by: Linus Walleij <linus.walleij(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zhang Zekun <zhangzekun11(a)huawei.com>
---
drivers/pinctrl/pinctrl-single.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index 22e471933b37..b5fd3889c110 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -350,6 +350,8 @@ static int pcs_get_function(struct pinctrl_dev *pctldev, unsigned pin,
return -ENOTSUPP;
fselector = setting->func;
function = pinmux_generic_get_function(pctldev, fselector);
+ if (!function)
+ return -EINVAL;
*func = function->data;
if (!(*func)) {
dev_err(pcs->dev, "%s could not find function%i\n",
--
2.17.1
2
1
From: Namjae Jeon <linkinjeon(a)kernel.org>
stable inclusion
from stable-v6.6.57
commit 5511999e9615e4318e9142d23b29bd1597befc08
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB0ENJ
CVE: CVE-2024-50086
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=…
--------------------------------
commit 7aa8804c0b67b3cb263a472d17f2cb50d7f1a930 upstream.
There is racy issue between smb2 session log off and smb2 session setup.
It will cause user-after-free from session log off.
This add session_lock when setting SMB2_SESSION_EXPIRED and referece
count to session struct not to free session while it is being used.
Cc: stable(a)vger.kernel.org # v5.15+
Reported-by: zdi-disclosures(a)trendmicro.com # ZDI-CAN-25282
Signed-off-by: Namjae Jeon <linkinjeon(a)kernel.org>
Signed-off-by: Steve French <stfrench(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Long Li <leo.lilong(a)huawei.com>
---
fs/smb/server/mgmt/user_session.c | 26 +++++++++++++++++++++-----
fs/smb/server/mgmt/user_session.h | 4 ++++
fs/smb/server/server.c | 2 ++
fs/smb/server/smb2pdu.c | 8 +++++++-
4 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/fs/smb/server/mgmt/user_session.c b/fs/smb/server/mgmt/user_session.c
index dac5f984f175..9f40b9c473ba 100644
--- a/fs/smb/server/mgmt/user_session.c
+++ b/fs/smb/server/mgmt/user_session.c
@@ -176,9 +176,10 @@ static void ksmbd_expire_session(struct ksmbd_conn *conn)
down_write(&conn->session_lock);
xa_for_each(&conn->sessions, id, sess) {
- if (sess->state != SMB2_SESSION_VALID ||
- time_after(jiffies,
- sess->last_active + SMB2_SESSION_TIMEOUT)) {
+ if (atomic_read(&sess->refcnt) == 0 &&
+ (sess->state != SMB2_SESSION_VALID ||
+ time_after(jiffies,
+ sess->last_active + SMB2_SESSION_TIMEOUT))) {
xa_erase(&conn->sessions, sess->id);
hash_del(&sess->hlist);
ksmbd_session_destroy(sess);
@@ -268,8 +269,6 @@ struct ksmbd_session *ksmbd_session_lookup_slowpath(unsigned long long id)
down_read(&sessions_table_lock);
sess = __session_lookup(id);
- if (sess)
- sess->last_active = jiffies;
up_read(&sessions_table_lock);
return sess;
@@ -288,6 +287,22 @@ struct ksmbd_session *ksmbd_session_lookup_all(struct ksmbd_conn *conn,
return sess;
}
+void ksmbd_user_session_get(struct ksmbd_session *sess)
+{
+ atomic_inc(&sess->refcnt);
+}
+
+void ksmbd_user_session_put(struct ksmbd_session *sess)
+{
+ if (!sess)
+ return;
+
+ if (atomic_read(&sess->refcnt) <= 0)
+ WARN_ON(1);
+ else
+ atomic_dec(&sess->refcnt);
+}
+
struct preauth_session *ksmbd_preauth_session_alloc(struct ksmbd_conn *conn,
u64 sess_id)
{
@@ -390,6 +405,7 @@ static struct ksmbd_session *__session_create(int protocol)
xa_init(&sess->rpc_handle_list);
sess->sequence_number = 1;
rwlock_init(&sess->tree_conns_lock);
+ atomic_set(&sess->refcnt, 1);
ret = __init_smb2_session(sess);
if (ret)
diff --git a/fs/smb/server/mgmt/user_session.h b/fs/smb/server/mgmt/user_session.h
index dc9fded2cd43..c1c4b20bd5c6 100644
--- a/fs/smb/server/mgmt/user_session.h
+++ b/fs/smb/server/mgmt/user_session.h
@@ -61,6 +61,8 @@ struct ksmbd_session {
struct ksmbd_file_table file_table;
unsigned long last_active;
rwlock_t tree_conns_lock;
+
+ atomic_t refcnt;
};
static inline int test_session_flag(struct ksmbd_session *sess, int bit)
@@ -104,4 +106,6 @@ void ksmbd_release_tree_conn_id(struct ksmbd_session *sess, int id);
int ksmbd_session_rpc_open(struct ksmbd_session *sess, char *rpc_name);
void ksmbd_session_rpc_close(struct ksmbd_session *sess, int id);
int ksmbd_session_rpc_method(struct ksmbd_session *sess, int id);
+void ksmbd_user_session_get(struct ksmbd_session *sess);
+void ksmbd_user_session_put(struct ksmbd_session *sess);
#endif /* __USER_SESSION_MANAGEMENT_H__ */
diff --git a/fs/smb/server/server.c b/fs/smb/server/server.c
index 2bbc3c3316f0..d5d85300560d 100644
--- a/fs/smb/server/server.c
+++ b/fs/smb/server/server.c
@@ -238,6 +238,8 @@ static void __handle_ksmbd_work(struct ksmbd_work *work,
} while (is_chained == true);
send:
+ if (work->sess)
+ ksmbd_user_session_put(work->sess);
if (work->tcon)
ksmbd_tree_connect_put(work->tcon);
smb3_preauth_hash_rsp(work);
diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c
index c247ec2c7e22..a080f80256cb 100644
--- a/fs/smb/server/smb2pdu.c
+++ b/fs/smb/server/smb2pdu.c
@@ -605,8 +605,10 @@ int smb2_check_user_session(struct ksmbd_work *work)
/* Check for validity of user session */
work->sess = ksmbd_session_lookup_all(conn, sess_id);
- if (work->sess)
+ if (work->sess) {
+ ksmbd_user_session_get(work->sess);
return 1;
+ }
ksmbd_debug(SMB, "Invalid user session, Uid %llu\n", sess_id);
return -ENOENT;
}
@@ -1737,6 +1739,7 @@ int smb2_sess_setup(struct ksmbd_work *work)
}
conn->binding = true;
+ ksmbd_user_session_get(sess);
} else if ((conn->dialect < SMB30_PROT_ID ||
server_conf.flags & KSMBD_GLOBAL_FLAG_SMB3_MULTICHANNEL) &&
(req->Flags & SMB2_SESSION_REQ_FLAG_BINDING)) {
@@ -1763,6 +1766,7 @@ int smb2_sess_setup(struct ksmbd_work *work)
}
conn->binding = false;
+ ksmbd_user_session_get(sess);
}
work->sess = sess;
@@ -2223,7 +2227,9 @@ int smb2_session_logoff(struct ksmbd_work *work)
}
ksmbd_destroy_file_table(&sess->file_table);
+ down_write(&conn->session_lock);
sess->state = SMB2_SESSION_EXPIRED;
+ up_write(&conn->session_lock);
ksmbd_free_user(sess->user);
sess->user = NULL;
--
2.39.2
2
1
driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IB2DWH
----------------------------------------------------------------------
DCA mmap area would be freed after driver reseted or hot
unplugged. At this time, the vma is still valid, which may
lead to a PUAF.
Using rdma_user_mmap_io() to remap this area to ensure the
vma is zapped after dirver removal.
Fixes: d3caaebdbfe9 ("RDMA/hns: Optimize user DCA perfermance by sharing DCA status")
Signed-off-by: Chengchang Tang <tangchengchang(a)huawei.com>
Signed-off-by: Xinghai Cen <cenxinghai(a)h-partners.com>
---
drivers/infiniband/hw/hns/hns_roce_dca.c | 3 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 39 ++++-------------------
2 files changed, 9 insertions(+), 33 deletions(-)
diff --git a/drivers/infiniband/hw/hns/hns_roce_dca.c b/drivers/infiniband/hw/hns/hns_roce_dca.c
index 91b6b65c83df..65ed7666a826 100644
--- a/drivers/infiniband/hw/hns/hns_roce_dca.c
+++ b/drivers/infiniband/hw/hns/hns_roce_dca.c
@@ -1181,7 +1181,8 @@ static void init_udca_status(struct hns_roce_ucontext *uctx, int udca_max_qps,
return;
ctx->dca_mmap_entry = hns_roce_user_mmap_entry_insert(ib_uctx,
- (u64)kaddr, size, HNS_ROCE_MMAP_TYPE_DCA);
+ (u64)virt_to_phys(kaddr), size,
+ HNS_ROCE_MMAP_TYPE_DCA);
if (!ctx->dca_mmap_entry) {
free_pages_exact(kaddr, size);
return;
diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c
index 27b723a40abe..3872e777c74b 100644
--- a/drivers/infiniband/hw/hns/hns_roce_main.c
+++ b/drivers/infiniband/hw/hns/hns_roce_main.c
@@ -674,36 +674,6 @@ static void hns_roce_dealloc_ucontext(struct ib_ucontext *ibcontext)
ida_free(&hr_dev->uar_ida.ida, (int)context->uar.logic_idx);
}
-static int mmap_dca(struct ib_ucontext *context, struct vm_area_struct *vma)
-{
- struct hns_roce_ucontext *uctx = to_hr_ucontext(context);
- struct hns_roce_dca_ctx *ctx = &uctx->dca_ctx;
- struct page **pages;
- unsigned long num;
- int ret;
-
- if ((vma->vm_end - vma->vm_start != (ctx->status_npage * PAGE_SIZE) ||
- !(vma->vm_flags & VM_SHARED)))
- return -EINVAL;
-
- if (!(vma->vm_flags & VM_WRITE) || (vma->vm_flags & VM_EXEC))
- return -EPERM;
-
- if (!ctx->buf_status)
- return -EOPNOTSUPP;
-
- pages = kcalloc(ctx->status_npage, sizeof(struct page *), GFP_KERNEL);
- if (!pages)
- return -ENOMEM;
-
- for (num = 0; num < ctx->status_npage; num++)
- pages[num] = virt_to_page(ctx->buf_status + num * PAGE_SIZE);
-
- ret = vm_insert_pages(vma, vma->vm_start, pages, &num);
- kfree(pages);
- return ret;
-}
-
static int hns_roce_mmap(struct ib_ucontext *uctx, struct vm_area_struct *vma)
{
struct hns_roce_dev *hr_dev = to_hr_dev(uctx->device);
@@ -728,8 +698,13 @@ static int hns_roce_mmap(struct ib_ucontext *uctx, struct vm_area_struct *vma)
prot = pgprot_device(vma->vm_page_prot);
break;
case HNS_ROCE_MMAP_TYPE_DCA:
- ret = mmap_dca(uctx, vma);
- goto out;
+ if (!(vma->vm_flags & VM_WRITE) || (vma->vm_flags & VM_EXEC)) {
+ ret = -EPERM;
+ goto out;
+ }
+ vma->vm_flags |= VM_DONTEXPAND;
+ prot = vma->vm_page_prot;
+ break;
case HNS_ROCE_MMAP_TYPE_RESET:
if (vma->vm_flags & (VM_WRITE | VM_EXEC)) {
ret = -EINVAL;
--
2.33.0
2
1
driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IB2H4P
----------------------------------------------------------------------
DCA mmap area would be freed after driver reseted or hot
unplugged. At this time, the vma is still valid, which may
lead to a PUAF.
Using rdma_user_mmap_io() to remap this area to ensure the
vma is zapped after dirver removal.
Fixes: d3caaebdbfe9 ("RDMA/hns: Optimize user DCA perfermance by sharing DCA status")
Signed-off-by: Chengchang Tang <tangchengchang(a)huawei.com>
Signed-off-by: Xinghai Cen <cenxinghai(a)h-partners.com>
---
drivers/infiniband/hw/hns/hns_roce_dca.c | 3 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 39 ++++-------------------
2 files changed, 9 insertions(+), 33 deletions(-)
diff --git a/drivers/infiniband/hw/hns/hns_roce_dca.c b/drivers/infiniband/hw/hns/hns_roce_dca.c
index 49adf43261d6..4cef41591795 100644
--- a/drivers/infiniband/hw/hns/hns_roce_dca.c
+++ b/drivers/infiniband/hw/hns/hns_roce_dca.c
@@ -1132,7 +1132,8 @@ static void init_udca_status(struct hns_roce_ucontext *uctx, int udca_max_qps,
return;
ctx->dca_mmap_entry = hns_roce_user_mmap_entry_insert(ib_uctx,
- (u64)kaddr, size, HNS_ROCE_MMAP_TYPE_DCA);
+ (u64)virt_to_phys(kaddr), size,
+ HNS_ROCE_MMAP_TYPE_DCA);
if (!ctx->dca_mmap_entry) {
free_pages_exact(kaddr, size);
return;
diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c
index 1302c58c3937..85223d25995d 100644
--- a/drivers/infiniband/hw/hns/hns_roce_main.c
+++ b/drivers/infiniband/hw/hns/hns_roce_main.c
@@ -644,36 +644,6 @@ static void hns_roce_dealloc_ucontext(struct ib_ucontext *ibcontext)
ida_free(&hr_dev->uar_ida.ida, (int)context->uar.logic_idx);
}
-static int mmap_dca(struct ib_ucontext *context, struct vm_area_struct *vma)
-{
- struct hns_roce_ucontext *uctx = to_hr_ucontext(context);
- struct hns_roce_dca_ctx *ctx = &uctx->dca_ctx;
- struct page **pages;
- unsigned long num;
- int ret;
-
- if ((vma->vm_end - vma->vm_start != (ctx->status_npage * PAGE_SIZE) ||
- !(vma->vm_flags & VM_SHARED)))
- return -EINVAL;
-
- if (!(vma->vm_flags & VM_WRITE) || (vma->vm_flags & VM_EXEC))
- return -EPERM;
-
- if (!ctx->buf_status)
- return -EOPNOTSUPP;
-
- pages = kcalloc(ctx->status_npage, sizeof(struct page *), GFP_KERNEL);
- if (!pages)
- return -ENOMEM;
-
- for (num = 0; num < ctx->status_npage; num++)
- pages[num] = virt_to_page(ctx->buf_status + num * PAGE_SIZE);
-
- ret = vm_insert_pages(vma, vma->vm_start, pages, &num);
- kfree(pages);
- return ret;
-}
-
static int hns_roce_mmap(struct ib_ucontext *uctx, struct vm_area_struct *vma)
{
struct hns_roce_dev *hr_dev = to_hr_dev(uctx->device);
@@ -703,8 +673,13 @@ static int hns_roce_mmap(struct ib_ucontext *uctx, struct vm_area_struct *vma)
prot = pgprot_device(vma->vm_page_prot);
break;
case HNS_ROCE_MMAP_TYPE_DCA:
- ret = mmap_dca(uctx, vma);
- goto out;
+ if (!(vma->vm_flags & VM_WRITE) || (vma->vm_flags & VM_EXEC)) {
+ ret = -EPERM;
+ goto out;
+ }
+ vma->vm_flags |= VM_DONTEXPAND;
+ prot = vma->vm_page_prot;
+ break;
case HNS_ROCE_MMAP_TYPE_RESET:
if (vma->vm_flags & (VM_WRITE | VM_EXEC)) {
ret = -EINVAL;
--
2.33.0
2
1

[PATCH OLK-6.6] rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb()
by liwei 07 Nov '24
by liwei 07 Nov '24
07 Nov '24
From: Zqiang <qiang.zhang1211(a)gmail.com>
mainline inclusion
from mainline-v6.12-rc1
commit fd70e9f1d85f5323096ad313ba73f5fe3d15ea41
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAYR9E
CVE: CVE-2024-49926
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
For kernels built with CONFIG_FORCE_NR_CPUS=y, the nr_cpu_ids is
defined as NR_CPUS instead of the number of possible cpus, this
will cause the following system panic:
smpboot: Allowing 4 CPUs, 0 hotplug CPUs
...
setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:512 nr_node_ids:1
...
BUG: unable to handle page fault for address: ffffffff9911c8c8
Oops: 0000 [#1] PREEMPT SMP PTI
CPU: 0 PID: 15 Comm: rcu_tasks_trace Tainted: G W
6.6.21 #1 5dc7acf91a5e8e9ac9dcfc35bee0245691283ea6
RIP: 0010:rcu_tasks_need_gpcb+0x25d/0x2c0
RSP: 0018:ffffa371c00a3e60 EFLAGS: 00010082
CR2: ffffffff9911c8c8 CR3: 000000040fa20005 CR4: 00000000001706f0
Call Trace:
<TASK>
? __die+0x23/0x80
? page_fault_oops+0xa4/0x180
? exc_page_fault+0x152/0x180
? asm_exc_page_fault+0x26/0x40
? rcu_tasks_need_gpcb+0x25d/0x2c0
? __pfx_rcu_tasks_kthread+0x40/0x40
rcu_tasks_one_gp+0x69/0x180
rcu_tasks_kthread+0x94/0xc0
kthread+0xe8/0x140
? __pfx_kthread+0x40/0x40
ret_from_fork+0x34/0x80
? __pfx_kthread+0x40/0x40
ret_from_fork_asm+0x1b/0x80
</TASK>
Considering that there may be holes in the CPU numbers, use the
maximum possible cpu number, instead of nr_cpu_ids, for configuring
enqueue and dequeue limits.
[ neeraj.upadhyay: Fix htmldocs build error reported by Stephen Rothwell ]
Closes: https://lore.kernel.org/linux-input/CALMA0xaTSMN+p4xUXkzrtR5r6k7hgoswcaXx7b…
Reported-by: Zhixu Liu <zhixu.liu(a)gmail.com>
Signed-off-by: Zqiang <qiang.zhang1211(a)gmail.com>
Signed-off-by: Neeraj Upadhyay <neeraj.upadhyay(a)kernel.org>
Conflicts:
kernel/rcu/tasks.h
[commit bfe93930ea1ea3c6c115a7d44af6e4fea609067e("rcu-tasks: Add data to eliminate RCU-tasks/do_exit() deadlocks") was not merged]
[commit e62d8ae4620865411d1b2347980aa28ccf891a3d("rcu-tasks: Pull sampling of ->percpu_dequeue_lim out of loop") was not merged]
Signed-off-by: liwei <liwei728(a)huawei.com>
---
kernel/rcu/tasks.h | 83 ++++++++++++++++++++++++++++++----------------
1 file changed, 54 insertions(+), 29 deletions(-)
diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h
index df81506cf2bd..fbfa0f90f884 100644
--- a/kernel/rcu/tasks.h
+++ b/kernel/rcu/tasks.h
@@ -33,6 +33,7 @@ typedef void (*postgp_func_t)(struct rcu_tasks *rtp);
* @barrier_q_head: RCU callback for barrier operation.
* @rtp_blkd_tasks: List of tasks blocked as readers.
* @cpu: CPU number corresponding to this entry.
+ * @index: Index of this CPU in rtpcp_array of the rcu_tasks structure.
* @rtpp: Pointer to the rcu_tasks structure.
*/
struct rcu_tasks_percpu {
@@ -47,6 +48,7 @@ struct rcu_tasks_percpu {
struct rcu_head barrier_q_head;
struct list_head rtp_blkd_tasks;
int cpu;
+ int index;
struct rcu_tasks *rtpp;
};
@@ -73,6 +75,7 @@ struct rcu_tasks_percpu {
* @postgp_func: This flavor's post-grace-period function (optional).
* @call_func: This flavor's call_rcu()-equivalent function.
* @rtpcpu: This flavor's rcu_tasks_percpu structure.
+ * @rtpcp_array: Array of pointers to rcu_tasks_percpu structure of CPUs in cpu_possible_mask.
* @percpu_enqueue_shift: Shift down CPU ID this much when enqueuing callbacks.
* @percpu_enqueue_lim: Number of per-CPU callback queues in use for enqueuing.
* @percpu_dequeue_lim: Number of per-CPU callback queues in use for dequeuing.
@@ -106,6 +109,7 @@ struct rcu_tasks {
postgp_func_t postgp_func;
call_rcu_func_t call_func;
struct rcu_tasks_percpu __percpu *rtpcpu;
+ struct rcu_tasks_percpu **rtpcp_array;
int percpu_enqueue_shift;
int percpu_enqueue_lim;
int percpu_dequeue_lim;
@@ -179,6 +183,8 @@ module_param(rcu_task_collapse_lim, int, 0444);
static int rcu_task_lazy_lim __read_mostly = 32;
module_param(rcu_task_lazy_lim, int, 0444);
+static int rcu_task_cpu_ids;
+
/* RCU tasks grace-period state for debugging. */
#define RTGS_INIT 0
#define RTGS_WAIT_WAIT_CBS 1
@@ -243,6 +249,8 @@ static void cblist_init_generic(struct rcu_tasks *rtp)
unsigned long flags;
int lim;
int shift;
+ int maxcpu;
+ int index = 0;
if (rcu_task_enqueue_lim < 0) {
rcu_task_enqueue_lim = 1;
@@ -252,14 +260,9 @@ static void cblist_init_generic(struct rcu_tasks *rtp)
}
lim = rcu_task_enqueue_lim;
- if (lim > nr_cpu_ids)
- lim = nr_cpu_ids;
- shift = ilog2(nr_cpu_ids / lim);
- if (((nr_cpu_ids - 1) >> shift) >= lim)
- shift++;
- WRITE_ONCE(rtp->percpu_enqueue_shift, shift);
- WRITE_ONCE(rtp->percpu_dequeue_lim, lim);
- smp_store_release(&rtp->percpu_enqueue_lim, lim);
+ rtp->rtpcp_array = kcalloc(num_possible_cpus(), sizeof(struct rcu_tasks_percpu *), GFP_KERNEL);
+ BUG_ON(!rtp->rtpcp_array);
+
for_each_possible_cpu(cpu) {
struct rcu_tasks_percpu *rtpcp = per_cpu_ptr(rtp->rtpcpu, cpu);
@@ -273,12 +276,28 @@ static void cblist_init_generic(struct rcu_tasks *rtp)
INIT_WORK(&rtpcp->rtp_work, rcu_tasks_invoke_cbs_wq);
rtpcp->cpu = cpu;
rtpcp->rtpp = rtp;
+ rtpcp->index = index;
+ rtp->rtpcp_array[index] = rtpcp;
+ index++;
if (!rtpcp->rtp_blkd_tasks.next)
INIT_LIST_HEAD(&rtpcp->rtp_blkd_tasks);
+
+ maxcpu = cpu;
}
- pr_info("%s: Setting shift to %d and lim to %d rcu_task_cb_adjust=%d.\n", rtp->name,
- data_race(rtp->percpu_enqueue_shift), data_race(rtp->percpu_enqueue_lim), rcu_task_cb_adjust);
+ rcu_task_cpu_ids = maxcpu + 1;
+ if (lim > rcu_task_cpu_ids)
+ lim = rcu_task_cpu_ids;
+ shift = ilog2(rcu_task_cpu_ids / lim);
+ if (((rcu_task_cpu_ids - 1) >> shift) >= lim)
+ shift++;
+ WRITE_ONCE(rtp->percpu_enqueue_shift, shift);
+ WRITE_ONCE(rtp->percpu_dequeue_lim, lim);
+ smp_store_release(&rtp->percpu_enqueue_lim, lim);
+
+ pr_info("%s: Setting shift to %d and lim to %d rcu_task_cb_adjust=%d rcu_task_cpu_ids=%d.\n",
+ rtp->name, data_race(rtp->percpu_enqueue_shift), data_race(rtp->percpu_enqueue_lim),
+ rcu_task_cb_adjust, rcu_task_cpu_ids);
}
// Compute wakeup time for lazy callback timer.
@@ -346,7 +365,7 @@ static void call_rcu_tasks_generic(struct rcu_head *rhp, rcu_callback_t func,
rtpcp->rtp_n_lock_retries = 0;
}
if (rcu_task_cb_adjust && ++rtpcp->rtp_n_lock_retries > rcu_task_contend_lim &&
- READ_ONCE(rtp->percpu_enqueue_lim) != nr_cpu_ids)
+ READ_ONCE(rtp->percpu_enqueue_lim) != rcu_task_cpu_ids)
needadjust = true; // Defer adjustment to avoid deadlock.
}
// Queuing callbacks before initialization not yet supported.
@@ -366,10 +385,10 @@ static void call_rcu_tasks_generic(struct rcu_head *rhp, rcu_callback_t func,
raw_spin_unlock_irqrestore_rcu_node(rtpcp, flags);
if (unlikely(needadjust)) {
raw_spin_lock_irqsave(&rtp->cbs_gbl_lock, flags);
- if (rtp->percpu_enqueue_lim != nr_cpu_ids) {
+ if (rtp->percpu_enqueue_lim != rcu_task_cpu_ids) {
WRITE_ONCE(rtp->percpu_enqueue_shift, 0);
- WRITE_ONCE(rtp->percpu_dequeue_lim, nr_cpu_ids);
- smp_store_release(&rtp->percpu_enqueue_lim, nr_cpu_ids);
+ WRITE_ONCE(rtp->percpu_dequeue_lim, rcu_task_cpu_ids);
+ smp_store_release(&rtp->percpu_enqueue_lim, rcu_task_cpu_ids);
pr_info("Switching %s to per-CPU callback queuing.\n", rtp->name);
}
raw_spin_unlock_irqrestore(&rtp->cbs_gbl_lock, flags);
@@ -440,6 +459,8 @@ static int rcu_tasks_need_gpcb(struct rcu_tasks *rtp)
int needgpcb = 0;
for (cpu = 0; cpu < smp_load_acquire(&rtp->percpu_dequeue_lim); cpu++) {
+ if (!cpu_possible(cpu))
+ continue;
struct rcu_tasks_percpu *rtpcp = per_cpu_ptr(rtp->rtpcpu, cpu);
/* Advance and accelerate any new callbacks. */
@@ -477,7 +498,7 @@ static int rcu_tasks_need_gpcb(struct rcu_tasks *rtp)
if (rcu_task_cb_adjust && ncbs <= rcu_task_collapse_lim) {
raw_spin_lock_irqsave(&rtp->cbs_gbl_lock, flags);
if (rtp->percpu_enqueue_lim > 1) {
- WRITE_ONCE(rtp->percpu_enqueue_shift, order_base_2(nr_cpu_ids));
+ WRITE_ONCE(rtp->percpu_enqueue_shift, order_base_2(rcu_task_cpu_ids));
smp_store_release(&rtp->percpu_enqueue_lim, 1);
rtp->percpu_dequeue_gpseq = get_state_synchronize_rcu();
gpdone = false;
@@ -492,7 +513,9 @@ static int rcu_tasks_need_gpcb(struct rcu_tasks *rtp)
pr_info("Completing switch %s to CPU-0 callback queuing.\n", rtp->name);
}
if (rtp->percpu_dequeue_lim == 1) {
- for (cpu = rtp->percpu_dequeue_lim; cpu < nr_cpu_ids; cpu++) {
+ for (cpu = rtp->percpu_dequeue_lim; cpu < rcu_task_cpu_ids; cpu++) {
+ if (!cpu_possible(cpu))
+ continue;
struct rcu_tasks_percpu *rtpcp = per_cpu_ptr(rtp->rtpcpu, cpu);
WARN_ON_ONCE(rcu_segcblist_n_cbs(&rtpcp->cblist));
@@ -507,30 +530,32 @@ static int rcu_tasks_need_gpcb(struct rcu_tasks *rtp)
// Advance callbacks and invoke any that are ready.
static void rcu_tasks_invoke_cbs(struct rcu_tasks *rtp, struct rcu_tasks_percpu *rtpcp)
{
- int cpu;
- int cpunext;
int cpuwq;
unsigned long flags;
int len;
+ int index;
struct rcu_head *rhp;
struct rcu_cblist rcl = RCU_CBLIST_INITIALIZER(rcl);
struct rcu_tasks_percpu *rtpcp_next;
- cpu = rtpcp->cpu;
- cpunext = cpu * 2 + 1;
- if (cpunext < smp_load_acquire(&rtp->percpu_dequeue_lim)) {
- rtpcp_next = per_cpu_ptr(rtp->rtpcpu, cpunext);
- cpuwq = rcu_cpu_beenfullyonline(cpunext) ? cpunext : WORK_CPU_UNBOUND;
- queue_work_on(cpuwq, system_wq, &rtpcp_next->rtp_work);
- cpunext++;
- if (cpunext < smp_load_acquire(&rtp->percpu_dequeue_lim)) {
- rtpcp_next = per_cpu_ptr(rtp->rtpcpu, cpunext);
- cpuwq = rcu_cpu_beenfullyonline(cpunext) ? cpunext : WORK_CPU_UNBOUND;
+ index = rtpcp->index * 2 + 1;
+ if (index < num_possible_cpus()) {
+ rtpcp_next = rtp->rtpcp_array[index];
+ if (rtpcp_next->cpu < smp_load_acquire(&rtp->percpu_dequeue_lim)) {
+ cpuwq = rcu_cpu_beenfullyonline(rtpcp_next->cpu) ? rtpcp_next->cpu : WORK_CPU_UNBOUND;
queue_work_on(cpuwq, system_wq, &rtpcp_next->rtp_work);
+ index++;
+ if (index < num_possible_cpus()) {
+ rtpcp_next = rtp->rtpcp_array[index];
+ if (rtpcp_next->cpu < smp_load_acquire(&rtp->percpu_dequeue_lim)) {
+ cpuwq = rcu_cpu_beenfullyonline(rtpcp_next->cpu) ? rtpcp_next->cpu : WORK_CPU_UNBOUND;
+ queue_work_on(cpuwq, system_wq, &rtpcp_next->rtp_work);
+ }
+ }
}
}
- if (rcu_segcblist_empty(&rtpcp->cblist) || !cpu_possible(cpu))
+ if (rcu_segcblist_empty(&rtpcp->cblist))
return;
raw_spin_lock_irqsave_rcu_node(rtpcp, flags);
rcu_segcblist_advance(&rtpcp->cblist, rcu_seq_current(&rtp->tasks_gp_seq));
--
2.25.1
2
1

[PATCH openEuler-22.03-LTS-SP1] bpf, net: Fix a potential race in do_sock_getsockopt()
by Pu Lehui 07 Nov '24
by Pu Lehui 07 Nov '24
07 Nov '24
From: Tze-nan Wu <Tze-nan.Wu(a)mediatek.com>
mainline inclusion
from mainline-v6.11-rc7
commit 33f339a1ba54e56bba57ee9a77c71e385ab4825c
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IB2EW4
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
There's a potential race when `cgroup_bpf_enabled(CGROUP_GETSOCKOPT)` is
false during the execution of `BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN`, but
becomes true when `BPF_CGROUP_RUN_PROG_GETSOCKOPT` is called.
This inconsistency can lead to `BPF_CGROUP_RUN_PROG_GETSOCKOPT` receiving
an "-EFAULT" from `__cgroup_bpf_run_filter_getsockopt(max_optlen=0)`.
Scenario shown as below:
`process A` `process B`
----------- ------------
BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN
enable CGROUP_GETSOCKOPT
BPF_CGROUP_RUN_PROG_GETSOCKOPT (-EFAULT)
To resolve this, remove the `BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN` macro and
directly uses `copy_from_sockptr` to ensure that `max_optlen` is always
set before `BPF_CGROUP_RUN_PROG_GETSOCKOPT` is invoked.
Fixes: 0d01da6afc54 ("bpf: implement getsockopt and setsockopt hooks")
Co-developed-by: Yanghui Li <yanghui.li(a)mediatek.com>
Signed-off-by: Yanghui Li <yanghui.li(a)mediatek.com>
Co-developed-by: Cheng-Jui Wang <cheng-jui.wang(a)mediatek.com>
Signed-off-by: Cheng-Jui Wang <cheng-jui.wang(a)mediatek.com>
Signed-off-by: Tze-nan Wu <Tze-nan.Wu(a)mediatek.com>
Acked-by: Stanislav Fomichev <sdf(a)fomichev.me>
Acked-by: Alexei Starovoitov <ast(a)kernel.org>
Link: https://patch.msgid.link/20240830082518.23243-1-Tze-nan.Wu@mediatek.com
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
Conflicts:
include/linux/bpf-cgroup.h
net/socket.c
[The conflicts were due to not merge commit 0b05b0cd78c9]
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
include/linux/bpf-cgroup.h | 9 ---------
net/socket.c | 4 ++--
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/include/linux/bpf-cgroup.h b/include/linux/bpf-cgroup.h
index bf74485b6567..d9d5e38cfc82 100644
--- a/include/linux/bpf-cgroup.h
+++ b/include/linux/bpf-cgroup.h
@@ -432,14 +432,6 @@ int bpf_percpu_cgroup_storage_update(struct bpf_map *map, void *key,
__ret; \
})
-#define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) \
-({ \
- int __ret = 0; \
- if (cgroup_bpf_enabled(CGROUP_GETSOCKOPT)) \
- get_user(__ret, optlen); \
- __ret; \
-})
-
#define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, optlen, \
max_optlen, retval) \
({ \
@@ -528,7 +520,6 @@ static inline int bpf_percpu_cgroup_storage_update(struct bpf_map *map,
#define BPF_CGROUP_RUN_PROG_SOCK_OPS(sock_ops) ({ 0; })
#define BPF_CGROUP_RUN_PROG_DEVICE_CGROUP(atype, major, minor, access) ({ 0; })
#define BPF_CGROUP_RUN_PROG_SYSCTL(head,table,write,buf,count,pos) ({ 0; })
-#define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) ({ 0; })
#define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, \
optlen, max_optlen, retval) ({ retval; })
#define BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock, level, optname, optval, optlen, \
diff --git a/net/socket.c b/net/socket.c
index 01d530af98ca..6fe73098df03 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2148,7 +2148,7 @@ int __sys_getsockopt(int fd, int level, int optname, char __user *optval,
{
int err, fput_needed;
struct socket *sock;
- int max_optlen;
+ int max_optlen = 0;
sock = sockfd_lookup_light(fd, &err, &fput_needed);
if (!sock)
@@ -2159,7 +2159,7 @@ int __sys_getsockopt(int fd, int level, int optname, char __user *optval,
goto out_put;
if (!in_compat_syscall())
- max_optlen = BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen);
+ get_user(max_optlen, optlen);
if (level == SOL_SOCKET)
err = sock_getsockopt(sock, level, optname, optval, optlen);
--
2.34.1
2
1

07 Nov '24
From: Tze-nan Wu <Tze-nan.Wu(a)mediatek.com>
mainline inclusion
from mainline-v6.11-rc7
commit 33f339a1ba54e56bba57ee9a77c71e385ab4825c
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IB2EW4
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
There's a potential race when `cgroup_bpf_enabled(CGROUP_GETSOCKOPT)` is
false during the execution of `BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN`, but
becomes true when `BPF_CGROUP_RUN_PROG_GETSOCKOPT` is called.
This inconsistency can lead to `BPF_CGROUP_RUN_PROG_GETSOCKOPT` receiving
an "-EFAULT" from `__cgroup_bpf_run_filter_getsockopt(max_optlen=0)`.
Scenario shown as below:
`process A` `process B`
----------- ------------
BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN
enable CGROUP_GETSOCKOPT
BPF_CGROUP_RUN_PROG_GETSOCKOPT (-EFAULT)
To resolve this, remove the `BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN` macro and
directly uses `copy_from_sockptr` to ensure that `max_optlen` is always
set before `BPF_CGROUP_RUN_PROG_GETSOCKOPT` is invoked.
Fixes: 0d01da6afc54 ("bpf: implement getsockopt and setsockopt hooks")
Co-developed-by: Yanghui Li <yanghui.li(a)mediatek.com>
Signed-off-by: Yanghui Li <yanghui.li(a)mediatek.com>
Co-developed-by: Cheng-Jui Wang <cheng-jui.wang(a)mediatek.com>
Signed-off-by: Cheng-Jui Wang <cheng-jui.wang(a)mediatek.com>
Signed-off-by: Tze-nan Wu <Tze-nan.Wu(a)mediatek.com>
Acked-by: Stanislav Fomichev <sdf(a)fomichev.me>
Acked-by: Alexei Starovoitov <ast(a)kernel.org>
Link: https://patch.msgid.link/20240830082518.23243-1-Tze-nan.Wu@mediatek.com
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
Conflicts:
include/linux/bpf-cgroup.h
net/socket.c
[The conflicts were due to not merge commit 0b05b0cd78c9]
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
include/linux/bpf-cgroup.h | 9 ---------
net/socket.c | 4 ++--
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/include/linux/bpf-cgroup.h b/include/linux/bpf-cgroup.h
index bf74485b6567..d9d5e38cfc82 100644
--- a/include/linux/bpf-cgroup.h
+++ b/include/linux/bpf-cgroup.h
@@ -432,14 +432,6 @@ int bpf_percpu_cgroup_storage_update(struct bpf_map *map, void *key,
__ret; \
})
-#define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) \
-({ \
- int __ret = 0; \
- if (cgroup_bpf_enabled(CGROUP_GETSOCKOPT)) \
- get_user(__ret, optlen); \
- __ret; \
-})
-
#define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, optlen, \
max_optlen, retval) \
({ \
@@ -528,7 +520,6 @@ static inline int bpf_percpu_cgroup_storage_update(struct bpf_map *map,
#define BPF_CGROUP_RUN_PROG_SOCK_OPS(sock_ops) ({ 0; })
#define BPF_CGROUP_RUN_PROG_DEVICE_CGROUP(atype, major, minor, access) ({ 0; })
#define BPF_CGROUP_RUN_PROG_SYSCTL(head,table,write,buf,count,pos) ({ 0; })
-#define BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen) ({ 0; })
#define BPF_CGROUP_RUN_PROG_GETSOCKOPT(sock, level, optname, optval, \
optlen, max_optlen, retval) ({ retval; })
#define BPF_CGROUP_RUN_PROG_SETSOCKOPT(sock, level, optname, optval, optlen, \
diff --git a/net/socket.c b/net/socket.c
index 01d530af98ca..6fe73098df03 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2148,7 +2148,7 @@ int __sys_getsockopt(int fd, int level, int optname, char __user *optval,
{
int err, fput_needed;
struct socket *sock;
- int max_optlen;
+ int max_optlen = 0;
sock = sockfd_lookup_light(fd, &err, &fput_needed);
if (!sock)
@@ -2159,7 +2159,7 @@ int __sys_getsockopt(int fd, int level, int optname, char __user *optval,
goto out_put;
if (!in_compat_syscall())
- max_optlen = BPF_CGROUP_GETSOCKOPT_MAX_OPTLEN(optlen);
+ get_user(max_optlen, optlen);
if (level == SOL_SOCKET)
err = sock_getsockopt(sock, level, optname, optval, optlen);
--
2.34.1
2
1

07 Nov '24
From: Yuri Karpov <YKarpov(a)ispras.ru>
stable inclusion
from stable-v5.10.158
commit 45752af0247589e6d3dede577415bfe117b4392c
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAYRDM
CVE: CVE-2022-49019
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 9256db4e45e8b497b0e993cc3ed4ad08eb2389b6 ]
In function nixge_hw_dma_bd_release() dereference of NULL pointer
priv->rx_bd_v is possible for the case of its allocation failure in
nixge_hw_dma_bd_init().
Move for() loop with priv->rx_bd_v dereference under the check for
its validity.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: 492caffa8a1a ("net: ethernet: nixge: Add support for National Instruments XGE netdev")
Signed-off-by: Yuri Karpov <YKarpov(a)ispras.ru>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski(a)intel.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
drivers/net/ethernet/ni/nixge.c | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/drivers/net/ethernet/ni/nixge.c b/drivers/net/ethernet/ni/nixge.c
index 17205264c2c1..e5a4a2753e17 100644
--- a/drivers/net/ethernet/ni/nixge.c
+++ b/drivers/net/ethernet/ni/nixge.c
@@ -249,25 +249,26 @@ static void nixge_hw_dma_bd_release(struct net_device *ndev)
struct sk_buff *skb;
int i;
- for (i = 0; i < RX_BD_NUM; i++) {
- phys_addr = nixge_hw_dma_bd_get_addr(&priv->rx_bd_v[i],
- phys);
-
- dma_unmap_single(ndev->dev.parent, phys_addr,
- NIXGE_MAX_JUMBO_FRAME_SIZE,
- DMA_FROM_DEVICE);
-
- skb = (struct sk_buff *)(uintptr_t)
- nixge_hw_dma_bd_get_addr(&priv->rx_bd_v[i],
- sw_id_offset);
- dev_kfree_skb(skb);
- }
+ if (priv->rx_bd_v) {
+ for (i = 0; i < RX_BD_NUM; i++) {
+ phys_addr = nixge_hw_dma_bd_get_addr(&priv->rx_bd_v[i],
+ phys);
+
+ dma_unmap_single(ndev->dev.parent, phys_addr,
+ NIXGE_MAX_JUMBO_FRAME_SIZE,
+ DMA_FROM_DEVICE);
+
+ skb = (struct sk_buff *)(uintptr_t)
+ nixge_hw_dma_bd_get_addr(&priv->rx_bd_v[i],
+ sw_id_offset);
+ dev_kfree_skb(skb);
+ }
- if (priv->rx_bd_v)
dma_free_coherent(ndev->dev.parent,
sizeof(*priv->rx_bd_v) * RX_BD_NUM,
priv->rx_bd_v,
priv->rx_bd_p);
+ }
if (priv->tx_skb)
devm_kfree(ndev->dev.parent, priv->tx_skb);
--
2.34.1
2
1

[openeuler:OLK-6.6] BUILD REGRESSION 8edd62f80cd8e00a4ecb15f57010d8fdbff12e16
by kernel test robot 07 Nov '24
by kernel test robot 07 Nov '24
07 Nov '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 8edd62f80cd8e00a4ecb15f57010d8fdbff12e16 !13077 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.54-6.6.55 LTS Patches
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild/202411070817.MsBLoDva-lkp@intel.com
drivers/crypto/ccp/hygon/hct.c:1753:51: error: 'struct device' has no member named 'numa_node'
Unverified Error/Warning (likely false positive, kindly check if interested):
block/bdev.c:829 bdev_open_by_dev() warn: possible memory leak of 'handle'
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- drivers-infiniband-hw-xsc-main.c:warning:no-previous-prototype-for-function-xsc_ib_reboot_event_handler
| |-- drivers-infiniband-hw-xsc-mr.c:warning:no-previous-prototype-for-function-xsc_get_mr_page_mode
| |-- drivers-infiniband-hw-xsc-private_dev.c:warning:variable-char_dev-set-but-not-used
| |-- drivers-infiniband-hw-xsc-qp.c:warning:variable-xsc_state-is-uninitialized-when-used-here
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:error:a-randomized-struct-can-only-be-initialized-with-a-designated-initializer
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
| |-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-set_feature_vlan_offload
| |-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_net_reboot_event_handler
| |-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_set_vf_link_state
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-anlt_fec_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-fpga_type_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-hps_ddr_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-ma_xbar_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-onchip_ft_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-pct_exp_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-pp_tbl_dma_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-rdma_icrc_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_hw_comm.c:warning:no-previous-prototype-for-function-xsc_hw_kernel_call
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_hw_comm.c:warning:variable-err-set-but-not-used
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-main.c:warning:no-previous-prototype-for-function-xsc_pci_reboot_event_handler
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_dereg_mr_via_cmdq
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_reg_mr_via_cmdq
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_set_mpt_via_cmdq
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_set_mtt_via_cmdq
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-vport.c:warning:variable-i-is-uninitialized-when-used-here
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_add_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_create
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_destroy
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_remove_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_update_hash_type
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_update_member_status
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_add_lag_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_board_lag_reset
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_board_lag_set
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_add_lag_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_remove_lag_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_update_lag_hash_type
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_update_lag_member_status
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_create_lag
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_destroy_lag
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_remove_lag_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_update_lag_hash_type
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_update_lag_member_status
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- arm64-randconfig-003-20241106
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- loongarch-allmodconfig
| |-- arch-loongarch-include-asm-irq.h:error:NR_VECTORS-undeclared-(first-use-in-this-function)
| |-- arch-loongarch-include-asm-irq.h:error:NR_VECTORS-undeclared-here-(not-in-a-function)
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- loongarch-allnoconfig
| |-- arch-loongarch-include-asm-irq.h:error:NR_VECTORS-undeclared-here-(not-in-a-function)
| |-- arch-loongarch-kernel-efi.c:error:incompatible-types-when-assigning-to-type-pmd_t-from-type-int
| `-- drivers-irqchip-irq-loongson-eiointc.c:error:NODES_PER_FLATMODE_NODE-undeclared-(first-use-in-this-function)
|-- loongarch-randconfig-001-20241106
| |-- arch-loongarch-include-asm-irq.h:error:NR_VECTORS-undeclared-here-(not-in-a-function)
| |-- arch-loongarch-kvm-exit.c:error:struct-sched_info-has-no-member-named-run_delay
| |-- arch-loongarch-kvm-vcpu.c:error:struct-sched_info-has-no-member-named-run_delay
| `-- drivers-irqchip-irq-loongson-eiointc.c:error:NODES_PER_FLATMODE_NODE-undeclared-(first-use-in-this-function)
|-- loongarch-randconfig-002-20241106
| |-- arch-loongarch-include-asm-irq.h:error:NR_VECTORS-undeclared-(first-use-in-this-function)
| |-- arch-loongarch-include-asm-irq.h:error:NR_VECTORS-undeclared-here-(not-in-a-function)
| |-- arch-loongarch-kernel-efi.c:error:incompatible-types-when-assigning-to-type-pmd_t-from-type-int
| `-- drivers-irqchip-irq-loongson-eiointc.c:error:NODES_PER_FLATMODE_NODE-undeclared-(first-use-in-this-function)
|-- loongarch-randconfig-051-20241106
| |-- Documentation-devicetree-bindings-arm-arm-mpam-msc.yaml:error-string-value-is-redundantly-quoted-with-any-quotes-(quoted-strings)
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:Example-is-not-one-of-id-schema-title-description-examples-required-allOf-anyOf-oneOf-definitions-defs-additionalProperties-dependencies-dependent
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:id:Cannot-determine-base-path-from-id-relative-path-filename-doesn-t-match-actual-path-or-filename
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:ignoring-error-in-schema:properties:clocks:items
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:anyOf-conditional-failed-one-must-be-fixed:
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:items:anyOf-conditional-failed-one-must-be-fixed:
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:oneOf-conditional-failed-one-must-be-fixed:
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:reg:oneOf-conditional-failed-one-must-be-fixed:
| `-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:warning-wrong-indentation:expected-but-found-(indentation)
|-- loongarch-randconfig-052-20241106
| |-- Documentation-devicetree-bindings-arm-arm-mpam-msc.yaml:error-string-value-is-redundantly-quoted-with-any-quotes-(quoted-strings)
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:Example-is-not-one-of-id-schema-title-description-examples-required-allOf-anyOf-oneOf-definitions-defs-additionalProperties-dependencies-dependent
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:id:Cannot-determine-base-path-from-id-relative-path-filename-doesn-t-match-actual-path-or-filename
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:ignoring-error-in-schema:properties:clocks:items
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:anyOf-conditional-failed-one-must-be-fixed:
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:items:anyOf-conditional-failed-one-must-be-fixed:
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:clocks:oneOf-conditional-failed-one-must-be-fixed:
| |-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:properties:reg:oneOf-conditional-failed-one-must-be-fixed:
| `-- Documentation-devicetree-bindings-gpu-phytium-dc.yaml:warning-wrong-indentation:expected-but-found-(indentation)
|-- x86_64-allnoconfig
| |-- Warning:drivers-net-ethernet-nebula-matrix-Kconfig-references-a-file-that-doesn-t-exist:file:Documentation-networking-device_drivers-ethernet-nebula-matrix-m18110.rst
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| `-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
|-- x86_64-allyesconfig
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dml-calcs-dcn_calc_auto.c:warning:stack-frame-size-()-exceeds-limit-()-in-mode_support_and_system_configuration
| |-- drivers-infiniband-hw-xsc-main.c:warning:no-previous-prototype-for-function-xsc_ib_reboot_event_handler
| |-- drivers-infiniband-hw-xsc-mr.c:warning:no-previous-prototype-for-function-xsc_get_mr_page_mode
| |-- drivers-infiniband-hw-xsc-private_dev.c:warning:variable-char_dev-set-but-not-used
| |-- drivers-infiniband-hw-xsc-qp.c:warning:variable-xsc_state-is-uninitialized-when-used-here
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:error:a-randomized-struct-can-only-be-initialized-with-a-designated-initializer
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
| |-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-set_feature_vlan_offload
| |-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_net_reboot_event_handler
| |-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_set_vf_link_state
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-anlt_fec_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-fpga_type_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-hps_ddr_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-ma_xbar_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-onchip_ft_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-pct_exp_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-pp_tbl_dma_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_ethtool.c:warning:unused-variable-rdma_icrc_name
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_hw_comm.c:warning:no-previous-prototype-for-function-xsc_hw_kernel_call
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_hw_comm.c:warning:variable-err-set-but-not-used
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-main.c:warning:no-previous-prototype-for-function-xsc_pci_reboot_event_handler
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_dereg_mr_via_cmdq
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_reg_mr_via_cmdq
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_set_mpt_via_cmdq
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-mr.c:warning:no-previous-prototype-for-function-xsc_set_mtt_via_cmdq
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-vport.c:warning:variable-i-is-uninitialized-when-used-here
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_add_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_create
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_destroy
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_remove_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_update_hash_type
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-pack_lag_update_member_status
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_add_lag_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_board_lag_reset
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_board_lag_set
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_add_lag_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_remove_lag_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_update_lag_hash_type
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_cmd_update_lag_member_status
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_create_lag
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_destroy_lag
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_remove_lag_member
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_update_lag_hash_type
| `-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:no-previous-prototype-for-function-xsc_update_lag_member_status
|-- x86_64-buildonly-randconfig-001-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-buildonly-randconfig-002-20241107
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- x86_64-buildonly-randconfig-003-20241107
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- x86_64-buildonly-randconfig-004-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| `-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
|-- x86_64-buildonly-randconfig-005-20241107
| |-- 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
|-- x86_64-buildonly-randconfig-006-20241107
| |-- 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
| |-- drivers-crypto-ccp-hygon-hct.c:error:struct-device-has-no-member-named-numa_node
| |-- drivers-crypto-ccp-hygon-tdm-dev.c:error:invalid-use-of-undefined-type-struct-module
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- x86_64-kexec
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| `-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
|-- x86_64-randconfig-001-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-randconfig-002-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| `-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
|-- x86_64-randconfig-003-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_dev_user.o:warning:objtool:nbl_dev_start_user_dev-falls-through-to-next-function-__cfi_nbl_mdev_device_release()
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| `-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
|-- x86_64-randconfig-004-20241107
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- x86_64-randconfig-005-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-randconfig-006-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-randconfig-011-20241107
| |-- 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
|-- x86_64-randconfig-012-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| `-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
|-- x86_64-randconfig-013-20241107
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- x86_64-randconfig-014-20241107
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- x86_64-randconfig-015-20241107
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- x86_64-randconfig-016-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| `-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
|-- x86_64-randconfig-071-20241107
| |-- 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
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-randconfig-072-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-randconfig-073-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:error:incomplete-definition-of-type-struct-ieee_ets
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:error:incomplete-definition-of-type-struct-ieee_pfc
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:error:invalid-application-of-sizeof-to-an-incomplete-type-struct-ieee_ets
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:error:invalid-application-of-sizeof-to-an-incomplete-type-struct-ieee_pfc
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:error:use-of-undeclared-identifier-DCB_ATTR_VALUE_UNDEFINED
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:error:use-of-undeclared-identifier-DCB_CAP_DCBX_HOST
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:error:use-of-undeclared-identifier-DCB_CAP_DCBX_VER_CEE
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:error:use-of-undeclared-identifier-disable_vf_load
| |-- drivers-net-ethernet-huawei-hinic-hinic_main.c:error:call-to-undeclared-function-vlan_dev_priv-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-net-ethernet-huawei-hinic-hinic_main.c:error:member-reference-type-int-is-not-a-pointer
| |-- drivers-net-ethernet-huawei-hinic-hinic_main.c:error:no-member-named-dcbnl_ops-in-struct-net_device
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_dev.h:error:field-has-incomplete-type-struct-ieee_ets
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_dev.h:error:field-has-incomplete-type-struct-ieee_pfc
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_dev_user.o:warning:objtool:nbl_dev_start_user_dev-falls-through-to-next-function-__cfi_nbl_mdev_device_release()
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-randconfig-074-20241107
| |-- 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
|-- x86_64-randconfig-075-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-randconfig-076-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_channel-nbl_channel.c:warning:no-previous-prototype-for-function-nbl_chan_clean_queue_subtask
| |-- 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_core-nbl_dev_user.o:warning:objtool:nbl_dev_start_user_dev-falls-through-to-next-function-__cfi_nbl_mdev_device_release()
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_get_eeprom_length
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_ethtool.c:warning:no-previous-prototype-for-function-nbl_serv_adjust_interrpt_param
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_flush_rx_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_get_vf_base_vsi_id
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_pldmfw_op_pci_match_record
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_queues
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_setup_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:no-previous-prototype-for-function-nbl_serv_stop_rings
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:adding-int-to-a-string-does-not-append-to-the-string
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_insert_pp_ht
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_start_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_mgt_stop_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_set_mt_input
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:no-previous-prototype-for-function-nbl_flow_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_mgt_init_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_remove_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_queue_setup_ops_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_init_qid_map_table
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_remove_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_queue_leonis.c:warning:no-previous-prototype-for-function-nbl_res_queue_setup_qid_map_table_leonis
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:no-previous-prototype-for-function-nbl_alloc_tx_rings
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-randconfig-101-20241107
| |-- 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
|-- x86_64-randconfig-102-20241107
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- x86_64-randconfig-103-20241107
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_cpu_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_mmio_init
| |-- arch-x86-events-zhaoxin-uncore.c:warning:no-previous-prototype-for-function-kx7000_uncore_pci_init
| |-- 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
| `-- kernel-dma-contiguous.c:warning:no-previous-prototype-for-function-is_zhaoxin_kh40000
|-- x86_64-randconfig-161-20241106
| `-- block-bdev.c-bdev_open_by_dev()-warn:possible-memory-leak-of-handle
`-- x86_64-randconfig-161-20241107
|-- 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
|-- drivers-hv-hv_common.c-(null)()-warn:(struct-ctl_table)-proc_handler-cannot-be-NULL.-Expression:hv_ctl_table-proc_handler
|-- drivers-hv-hv_common.c-(null)()-warn:(struct-ctl_table)-procname-cannot-be-NULL.-Expression:hv_ctl_table-procname
|-- fs-resctrl-monitor.c-resctrl_find_cleanest_closid()-warn:iterator-i-not-incremented
|-- fs-sysctls.c-(null)()-warn:(struct-ctl_table)-proc_handler-cannot-be-NULL.-Expression:fs_shared_sysctls-proc_handler
|-- fs-sysctls.c-(null)()-warn:(struct-ctl_table)-procname-cannot-be-NULL.-Expression:fs_shared_sysctls-procname
|-- mm-page_alloc.c-check_after_alloc()-warn:bitwise-AND-condition-is-false-here
|-- mm-page_alloc.c-prepare_before_alloc()-warn:bitwise-AND-condition-is-false-here
`-- mm-readahead.c-page_cache_sync_ra()-warn:bitwise-AND-condition-is-false-here
elapsed time: 724m
configs tested: 39
configs skipped: 122
tested configs:
arm64 allmodconfig clang-20
arm64 allnoconfig gcc-14.2.0
arm64 randconfig-001-20241106 gcc-14.2.0
arm64 randconfig-002-20241106 gcc-14.2.0
arm64 randconfig-003-20241106 clang-20
arm64 randconfig-004-20241106 clang-20
loongarch allmodconfig gcc-14.2.0
loongarch allnoconfig gcc-14.2.0
loongarch randconfig-001-20241106 gcc-14.2.0
loongarch randconfig-002-20241106 gcc-14.2.0
x86_64 allnoconfig clang-19
x86_64 allyesconfig clang-19
x86_64 buildonly-randconfig-001-20241107 clang-19
x86_64 buildonly-randconfig-002-20241107 gcc-12
x86_64 buildonly-randconfig-003-20241107 gcc-12
x86_64 buildonly-randconfig-004-20241107 clang-19
x86_64 buildonly-randconfig-005-20241107 gcc-12
x86_64 buildonly-randconfig-006-20241107 gcc-12
x86_64 defconfig gcc-11
x86_64 kexec clang-19
x86_64 randconfig-001-20241107 clang-19
x86_64 randconfig-002-20241107 clang-19
x86_64 randconfig-003-20241107 clang-19
x86_64 randconfig-004-20241107 gcc-12
x86_64 randconfig-005-20241107 clang-19
x86_64 randconfig-006-20241107 clang-19
x86_64 randconfig-011-20241107 gcc-12
x86_64 randconfig-012-20241107 clang-19
x86_64 randconfig-013-20241107 gcc-12
x86_64 randconfig-014-20241107 gcc-12
x86_64 randconfig-015-20241107 gcc-12
x86_64 randconfig-016-20241107 clang-19
x86_64 randconfig-071-20241107 clang-19
x86_64 randconfig-072-20241107 clang-19
x86_64 randconfig-073-20241107 clang-19
x86_64 randconfig-074-20241107 gcc-12
x86_64 randconfig-075-20241107 clang-19
x86_64 randconfig-076-20241107 clang-19
x86_64 rhel-8.3 gcc-12
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0