Kernel
Threads by month
- ----- 2026 -----
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 3 participants
- 23126 discussions
[openeuler:OLK-6.6 3542/3542] drivers/irqchip/irq-mbigen.c:127: warning: Function parameter or member 'vtimer_mbigen_chip' not described in 'mbigen_device'
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 3ce0ad7d0b4cb6538fe25fb20ca838c06e3cc516 [3542/3542] mbigen: vtimer mbigen driver support
config: arm64-randconfig-001-20251215 (https://download.01.org/0day-ci/archive/20251222/202512221648.01it8GuK-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512221648.01it8GuK-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512221648.01it8GuK-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/irqchip/irq-mbigen.c:77: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* MBIX config register
>> drivers/irqchip/irq-mbigen.c:127: warning: Function parameter or member 'vtimer_mbigen_chip' not described in 'mbigen_device'
>> drivers/irqchip/irq-mbigen.c:136: warning: expecting prototype for Due to the existence of hyper(). Prototype was for GICR_LENGTH() instead
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
vim +127 drivers/irqchip/irq-mbigen.c
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 114
717c3dbc118ecbb Ma Jun 2015-12-17 115 /**
717c3dbc118ecbb Ma Jun 2015-12-17 116 * struct mbigen_device - holds the information of mbigen device.
717c3dbc118ecbb Ma Jun 2015-12-17 117 *
717c3dbc118ecbb Ma Jun 2015-12-17 118 * @pdev: pointer to the platform device structure of mbigen chip.
717c3dbc118ecbb Ma Jun 2015-12-17 119 * @base: mapped address of this mbigen chip.
717c3dbc118ecbb Ma Jun 2015-12-17 120 */
717c3dbc118ecbb Ma Jun 2015-12-17 121 struct mbigen_device {
717c3dbc118ecbb Ma Jun 2015-12-17 122 struct platform_device *pdev;
717c3dbc118ecbb Ma Jun 2015-12-17 123 void __iomem *base;
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 124 #ifdef CONFIG_VIRT_VTIMER_IRQ_BYPASS
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 125 struct vtimer_mbigen_device *vtimer_mbigen_chip;
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 126 #endif
717c3dbc118ecbb Ma Jun 2015-12-17 @127 };
717c3dbc118ecbb Ma Jun 2015-12-17 128
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 129 #ifdef CONFIG_VIRT_VTIMER_IRQ_BYPASS
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 130 static LIST_HEAD(vtimer_mgn_list);
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 131
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 132 /**
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 133 * Due to the existence of hyper-threading technology, We need to get the
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 134 * absolute offset of a cpu relative to the base cpu.
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 135 */
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 @136 #define GICR_LENGTH 0x40000
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 137 static inline int get_abs_offset(int cpu, int cpu_base)
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 138 {
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 139 return ((get_gicr_paddr(cpu) - get_gicr_paddr(cpu_base)) / GICR_LENGTH);
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 140 }
3ce0ad7d0b4cb65 Kunkun Jiang 2024-01-11 141
:::::: The code at line 127 was first introduced by commit
:::::: 717c3dbc118ecbbd5dab06c7e02dac68d3f62e1d irqchip/mgigen: Add platform device driver for mbigen device
:::::: TO: Ma Jun <majun258(a)huawei.com>
:::::: CC: Marc Zyngier <marc.zyngier(a)arm.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
hulk inclusion
category: feature
bugzilla: NA
CVE: NA
--------------------------------------------------------
The cache of dm-thin is common used for first level btree and the
second level btree, however the first level btree has less dm-buffer
than the second level btree, which might cause extra look up steps for
the first level btree when accessing the cache of the dm pool. Thus,
add support for spliting the first level btree and the second level
btree' cache, which might speed up the look up process of the first
level btree routine.
Signed-off-by: Zhang Zekun <zhangzekun11(a)huawei.com>
---
drivers/md/dm-bufio.c | 72 +++++++++++++------
drivers/md/dm-thin-metadata.c | 4 ++
drivers/md/dm.h | 18 ++++-
drivers/md/persistent-data/dm-block-manager.c | 11 +++
drivers/md/persistent-data/dm-block-manager.h | 2 +
include/linux/dm-bufio.h | 4 ++
6 files changed, 87 insertions(+), 24 deletions(-)
diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
index 8ce77aec0..b83b8f5fe 100644
--- a/drivers/md/dm-bufio.c
+++ b/drivers/md/dm-bufio.c
@@ -254,9 +254,9 @@ enum evict_result {
ER_STOP, /* stop looking for something to evict */
};
-typedef enum evict_result (*le_predicate)(struct lru_entry *le, void *context);
+typedef enum evict_result (*le_predicate)(struct lru_entry *le, void *context, void *bc);
-static struct lru_entry *lru_evict(struct lru *lru, le_predicate pred, void *context, bool no_sleep)
+static struct lru_entry *lru_evict(struct lru *lru, le_predicate pred, void *context, bool no_sleep, void *bc)
{
unsigned long tested = 0;
struct list_head *h = lru->cursor;
@@ -276,7 +276,7 @@ static struct lru_entry *lru_evict(struct lru *lru, le_predicate pred, void *con
atomic_set(&le->referenced, 0);
} else {
tested++;
- switch (pred(le, context)) {
+ switch (pred(le, context, bc)) {
case ER_EVICT:
/*
* Adjust the cursor, so we start the next
@@ -362,6 +362,7 @@ struct dm_buffer {
unsigned int stack_len;
unsigned long stack_entries[MAX_STACK];
#endif
+ bool special;
};
/*--------------------------------------------------------------*/
@@ -399,12 +400,18 @@ struct dm_buffer_cache {
* on the locks.
*/
unsigned int num_locks;
+ unsigned long special;
bool no_sleep;
struct buffer_tree trees[];
};
static DEFINE_STATIC_KEY_FALSE(no_sleep_enabled);
+static inline unsigned int cache_index_special(sector_t block, unsigned int num_locks, unsigned long special)
+{
+ return dm_hash_locks_index_special(block, num_locks, special);
+}
+
static inline unsigned int cache_index(sector_t block, unsigned int num_locks)
{
return dm_hash_locks_index(block, num_locks);
@@ -413,33 +420,33 @@ static inline unsigned int cache_index(sector_t block, unsigned int num_locks)
static inline void cache_read_lock(struct dm_buffer_cache *bc, sector_t block)
{
if (static_branch_unlikely(&no_sleep_enabled) && bc->no_sleep)
- read_lock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock);
+ read_lock_bh(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.spinlock);
else
- down_read(&bc->trees[cache_index(block, bc->num_locks)].u.lock);
+ down_read(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.lock);
}
static inline void cache_read_unlock(struct dm_buffer_cache *bc, sector_t block)
{
if (static_branch_unlikely(&no_sleep_enabled) && bc->no_sleep)
- read_unlock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock);
+ read_unlock_bh(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.spinlock);
else
- up_read(&bc->trees[cache_index(block, bc->num_locks)].u.lock);
+ up_read(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.lock);
}
static inline void cache_write_lock(struct dm_buffer_cache *bc, sector_t block)
{
if (static_branch_unlikely(&no_sleep_enabled) && bc->no_sleep)
- write_lock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock);
+ write_lock_bh(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.spinlock);
else
- down_write(&bc->trees[cache_index(block, bc->num_locks)].u.lock);
+ down_write(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.lock);
}
static inline void cache_write_unlock(struct dm_buffer_cache *bc, sector_t block)
{
if (static_branch_unlikely(&no_sleep_enabled) && bc->no_sleep)
- write_unlock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock);
+ write_unlock_bh(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.spinlock);
else
- up_write(&bc->trees[cache_index(block, bc->num_locks)].u.lock);
+ up_write(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.lock);
}
/*
@@ -506,9 +513,9 @@ static void lh_exit(struct lock_history *lh)
* Named 'next' because there is no corresponding
* 'up/unlock' call since it's done automatically.
*/
-static void lh_next(struct lock_history *lh, sector_t b)
+static void lh_next(struct lock_history *lh, sector_t b, unsigned long special)
{
- unsigned int index = cache_index(b, lh->no_previous); /* no_previous is num_locks */
+ unsigned int index = cache_index_special(b, lh->no_previous, special); /* no_previous is num_locks */
if (lh->previous != lh->no_previous) {
if (lh->previous != index) {
@@ -619,7 +626,7 @@ static struct dm_buffer *cache_get(struct dm_buffer_cache *bc, sector_t block)
struct dm_buffer *b;
cache_read_lock(bc, block);
- b = __cache_get(&bc->trees[cache_index(block, bc->num_locks)].root, block);
+ b = __cache_get(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].root, block);
if (b) {
lru_reference(&b->lru);
__cache_inc_buffer(b);
@@ -666,12 +673,13 @@ struct evict_wrapper {
* Wraps the buffer predicate turning it into an lru predicate. Adds
* extra test for hold_count.
*/
-static enum evict_result __evict_pred(struct lru_entry *le, void *context)
+static enum evict_result __evict_pred(struct lru_entry *le, void *context, void *bc)
{
struct evict_wrapper *w = context;
struct dm_buffer *b = le_to_buffer(le);
+ struct dm_buffer_cache *bcc = (struct dm_buffer_cache *)bc;
- lh_next(w->lh, b->block);
+ lh_next(w->lh, b->block, b->special ? b->block : bcc->special);
if (atomic_read(&b->hold_count))
return ER_DONT_EVICT;
@@ -687,13 +695,13 @@ static struct dm_buffer *__cache_evict(struct dm_buffer_cache *bc, int list_mode
struct lru_entry *le;
struct dm_buffer *b;
- le = lru_evict(&bc->lru[list_mode], __evict_pred, &w, bc->no_sleep);
+ le = lru_evict(&bc->lru[list_mode], __evict_pred, &w, bc->no_sleep, (void *) bc);
if (!le)
return NULL;
b = le_to_buffer(le);
/* __evict_pred will have locked the appropriate tree. */
- rb_erase(&b->node, &bc->trees[cache_index(b->block, bc->num_locks)].root);
+ rb_erase(&b->node, &bc->trees[cache_index_special(b->block, bc->num_locks, b->special ? b->block : bc->special)].root);
return b;
}
@@ -741,7 +749,7 @@ static void __cache_mark_many(struct dm_buffer_cache *bc, int old_mode, int new_
struct evict_wrapper w = {.lh = lh, .pred = pred, .context = context};
while (true) {
- le = lru_evict(&bc->lru[old_mode], __evict_pred, &w, bc->no_sleep);
+ le = lru_evict(&bc->lru[old_mode], __evict_pred, &w, bc->no_sleep, (void *)bc);
if (!le)
break;
@@ -792,7 +800,7 @@ static void __cache_iterate(struct dm_buffer_cache *bc, int list_mode,
do {
struct dm_buffer *b = le_to_buffer(le);
- lh_next(lh, b->block);
+ lh_next(lh, b->block, bc->special);
switch (fn(b, context)) {
case IT_NEXT:
@@ -858,8 +866,8 @@ static bool cache_insert(struct dm_buffer_cache *bc, struct dm_buffer *b)
return false;
cache_write_lock(bc, b->block);
- BUG_ON(atomic_read(&b->hold_count) != 1);
- r = __cache_insert(&bc->trees[cache_index(b->block, bc->num_locks)].root, b);
+ //BUG_ON(atomic_read(&b->hold_count) != 1);
+ r = __cache_insert(&bc->trees[cache_index_special(b->block, bc->num_locks, bc->special)].root, b);
if (r)
lru_insert(&bc->lru[b->list_mode], &b->lru);
cache_write_unlock(bc, b->block);
@@ -885,7 +893,7 @@ static bool cache_remove(struct dm_buffer_cache *bc, struct dm_buffer *b)
r = false;
} else {
r = true;
- rb_erase(&b->node, &bc->trees[cache_index(b->block, bc->num_locks)].root);
+ rb_erase(&b->node, &bc->trees[cache_index_special(b->block, bc->num_locks, bc->special)].root);
lru_remove(&bc->lru[b->list_mode], &b->lru);
}
@@ -1019,6 +1027,12 @@ struct dm_bufio_client {
struct dm_buffer_cache cache; /* must be last member */
};
+void dm_setup_buffer_cache(struct dm_bufio_client *bc, unsigned long block)
+{
+ bc->cache.special = block;
+}
+EXPORT_SYMBOL_GPL(dm_setup_buffer_cache);
+
/*----------------------------------------------------------------*/
#define dm_bufio_in_request() (!!current->bio_list)
@@ -1792,6 +1806,7 @@ static struct dm_buffer *__bufio_new(struct dm_bufio_client *c, sector_t block,
b->read_error = 0;
b->write_error = 0;
b->list_mode = LIST_CLEAN;
+ b->special = (block == c->cache.special);
if (nf == NF_FRESH)
b->state = 0;
@@ -2642,6 +2657,17 @@ void dm_bufio_set_sector_offset(struct dm_bufio_client *c, sector_t start)
}
EXPORT_SYMBOL_GPL(dm_bufio_set_sector_offset);
+void dm_move_cache(struct dm_bufio_client *bc, unsigned long block)
+{
+ struct dm_buffer *b;
+
+ b = cache_get(&bc->cache, block);
+ cache_remove(&bc->cache, b);
+ bc->cache.special = block;
+ cache_insert(&bc->cache, b);
+}
+EXPORT_SYMBOL_GPL(dm_move_cache);
+
/*--------------------------------------------------------------*/
static unsigned int get_max_age_hz(void)
diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c
index 6022189c1..f485504d4 100644
--- a/drivers/md/dm-thin-metadata.c
+++ b/drivers/md/dm-thin-metadata.c
@@ -747,6 +747,7 @@ static int __open_metadata(struct dm_pool_metadata *pmd)
* root to avoid accessing broken btree.
*/
pmd->root = le64_to_cpu(disk_super->data_mapping_root);
+ dm_setup_bm_cache(pmd->bm, pmd->root);
pmd->details_root = le64_to_cpu(disk_super->device_details_root);
__setup_btree_details(pmd);
@@ -837,6 +838,7 @@ static int __begin_transaction(struct dm_pool_metadata *pmd)
disk_super = dm_block_data(sblock);
pmd->time = le32_to_cpu(disk_super->time);
pmd->root = le64_to_cpu(disk_super->data_mapping_root);
+ dm_setup_bm_cache(pmd->bm, pmd->root);
pmd->details_root = le64_to_cpu(disk_super->device_details_root);
pmd->trans_id = le64_to_cpu(disk_super->trans_id);
pmd->flags = le32_to_cpu(disk_super->flags);
@@ -1678,6 +1680,8 @@ static int __insert(struct dm_thin_device *td, dm_block_t block,
if (r)
return r;
+ dm_move_bm_cache(pmd->bm, pmd->root);
+
td->changed = true;
if (inserted)
td->mapped_blocks++;
diff --git a/drivers/md/dm.h b/drivers/md/dm.h
index f682295af..3d0c9f860 100644
--- a/drivers/md/dm.h
+++ b/drivers/md/dm.h
@@ -232,12 +232,28 @@ static inline unsigned int dm_num_hash_locks(void)
{
unsigned int num_locks = roundup_pow_of_two(num_online_cpus()) << 1;
- return min_t(unsigned int, num_locks, DM_HASH_LOCKS_MAX);
+ return min_t(unsigned int, num_locks, DM_HASH_LOCKS_MAX) + 32;
}
#define DM_HASH_LOCKS_MULT 4294967291ULL
#define DM_HASH_LOCKS_SHIFT 6
+static inline unsigned int dm_hash_locks_index_special(sector_t block,
+ unsigned int num_locks,
+ unsigned long special)
+{
+
+
+ sector_t h1 = (block * DM_HASH_LOCKS_MULT) >> DM_HASH_LOCKS_SHIFT;
+ sector_t h2 = h1 >> DM_HASH_LOCKS_SHIFT;
+
+ if (block == special)
+ return ((h1 ^ h2) & 31) + num_locks - 32;
+
+ return (h1 ^ h2) & (num_locks - 33);
+}
+
+
static inline unsigned int dm_hash_locks_index(sector_t block,
unsigned int num_locks)
{
diff --git a/drivers/md/persistent-data/dm-block-manager.c b/drivers/md/persistent-data/dm-block-manager.c
index 0e010e120..da560f825 100644
--- a/drivers/md/persistent-data/dm-block-manager.c
+++ b/drivers/md/persistent-data/dm-block-manager.c
@@ -414,6 +414,17 @@ struct dm_block_manager *dm_block_manager_create(struct block_device *bdev,
}
EXPORT_SYMBOL_GPL(dm_block_manager_create);
+void dm_setup_bm_cache(struct dm_block_manager *bm, unsigned long block)
+{
+ dm_setup_buffer_cache(bm->bufio, block);
+}
+EXPORT_SYMBOL_GPL(dm_setup_bm_cache);
+
+void dm_move_bm_cache(struct dm_block_manager *bm, unsigned long block)
+{
+ dm_move_cache(bm->bufio, block);
+}
+
void dm_block_manager_destroy(struct dm_block_manager *bm)
{
dm_bufio_client_destroy(bm->bufio);
diff --git a/drivers/md/persistent-data/dm-block-manager.h b/drivers/md/persistent-data/dm-block-manager.h
index f706d3de8..25121bbc5 100644
--- a/drivers/md/persistent-data/dm-block-manager.h
+++ b/drivers/md/persistent-data/dm-block-manager.h
@@ -35,7 +35,9 @@ struct dm_block_manager;
struct dm_block_manager *dm_block_manager_create(
struct block_device *bdev, unsigned int block_size,
unsigned int max_held_per_thread);
+void dm_move_bm_cache(struct dm_block_manager *bm, unsigned long block);
void dm_block_manager_destroy(struct dm_block_manager *bm);
+void dm_setup_bm_cache(struct dm_block_manager *bm, unsigned long block);
void dm_block_manager_reset(struct dm_block_manager *bm);
unsigned int dm_bm_block_size(struct dm_block_manager *bm);
diff --git a/include/linux/dm-bufio.h b/include/linux/dm-bufio.h
index 75e7d8cbb..d7d7a33cc 100644
--- a/include/linux/dm-bufio.h
+++ b/include/linux/dm-bufio.h
@@ -71,6 +71,8 @@ void *dm_bufio_read(struct dm_bufio_client *c, sector_t block,
void *dm_bufio_get(struct dm_bufio_client *c, sector_t block,
struct dm_buffer **bp);
+void dm_setup_buffer_cache(struct dm_bufio_client *bc, unsigned long block);
+
/*
* Like dm_bufio_read, but don't read anything from the disk. It is
* expected that the caller initializes the buffer and marks it dirty.
@@ -139,6 +141,8 @@ int dm_bufio_issue_discard(struct dm_bufio_client *c, sector_t block, sector_t c
*/
void dm_bufio_forget(struct dm_bufio_client *c, sector_t block);
+void dm_move_cache(struct dm_bufio_client *bc, unsigned long block);
+
/*
* Free the given range of buffers.
* This is just a hint, if the buffer is in use or dirty, this function
--
2.43.0
2
1
22 Dec '25
From: Ondrej Mosnacek <omosnace(a)redhat.com>
mainline inclusion
from mainline-v6.19-rc2
commit 189e5deb944a6f9c7992355d60bffd8ec2e54a9c
category: bugfix
bugzilla: https://atomgit.com/src-openeuler/kernel/issues/12686
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Analogically to the x86 commit 881a9c9cb785 ("bpf: Do not audit
capability check in do_jit()"), change the capable() call to
ns_capable_noaudit() in order to avoid spurious SELinux denials in audit
log.
The commit log from that commit applies here as well:
"""
The failure of this check only results in a security mitigation being
applied, slightly affecting performance of the compiled BPF program. It
doesn't result in a failed syscall, an thus auditing a failed LSM
permission check for it is unwanted. For example with SELinux, it causes
a denial to be reported for confined processes running as root, which
tends to be flagged as a problem to be fixed in the policy. Yet
dontauditing or allowing CAP_SYS_ADMIN to the domain may not be
desirable, as it would allow/silence also other checks - either going
against the principle of least privilege or making debugging potentially
harder.
Fix it by changing it from capable() to ns_capable_noaudit(), which
instructs the LSMs to not audit the resulting denials.
"""
Fixes: f300769ead03 ("arm64: bpf: Only mitigate cBPF programs loaded by unprivileged users")
Signed-off-by: Ondrej Mosnacek <omosnace(a)redhat.com>
Link: https://lore.kernel.org/r/20251204125916.441021-1-omosnace@redhat.com
Signed-off-by: Alexei Starovoitov <ast(a)kernel.org>
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
arch/arm64/net/bpf_jit_comp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_comp.c
index 8b957d2f60eb..f98ae8bf4e19 100644
--- a/arch/arm64/net/bpf_jit_comp.c
+++ b/arch/arm64/net/bpf_jit_comp.c
@@ -666,7 +666,7 @@ static void __maybe_unused build_bhb_mitigation(struct jit_ctx *ctx)
arm64_get_spectre_v2_state() == SPECTRE_VULNERABLE)
return;
- if (capable(CAP_SYS_ADMIN))
+ if (ns_capable_noaudit(&init_user_ns, CAP_SYS_ADMIN))
return;
if (supports_clearbhb(SCOPE_SYSTEM)) {
--
2.34.1
2
1
hulk inclusion
category: feature
bugzilla: NA
CVE: NA
--------------------------------------------------------
The cache of dm-thin is common used for first level btree and the
second level btree, however the first level btree has less dm-buffer
than the second level btree, which might cause extra look up steps for
the first level btree when accessing the cache of the dm pool. Thus,
add support for spliting the first level btree and the second level
btree' cache, which might speed up the look up process of the first
level btree routine.
Signed-off-by: Zhang Zekun <zhangzekun11(a)huawei.com>
---
drivers/md/dm-bufio.c | 72 +++++++++++++------
drivers/md/dm-thin-metadata.c | 4 ++
drivers/md/dm.h | 18 ++++-
drivers/md/persistent-data/dm-block-manager.c | 11 +++
drivers/md/persistent-data/dm-block-manager.h | 2 +
include/linux/dm-bufio.h | 4 ++
6 files changed, 87 insertions(+), 24 deletions(-)
diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
index 8ce77aec0..b83b8f5fe 100644
--- a/drivers/md/dm-bufio.c
+++ b/drivers/md/dm-bufio.c
@@ -254,9 +254,9 @@ enum evict_result {
ER_STOP, /* stop looking for something to evict */
};
-typedef enum evict_result (*le_predicate)(struct lru_entry *le, void *context);
+typedef enum evict_result (*le_predicate)(struct lru_entry *le, void *context, void *bc);
-static struct lru_entry *lru_evict(struct lru *lru, le_predicate pred, void *context, bool no_sleep)
+static struct lru_entry *lru_evict(struct lru *lru, le_predicate pred, void *context, bool no_sleep, void *bc)
{
unsigned long tested = 0;
struct list_head *h = lru->cursor;
@@ -276,7 +276,7 @@ static struct lru_entry *lru_evict(struct lru *lru, le_predicate pred, void *con
atomic_set(&le->referenced, 0);
} else {
tested++;
- switch (pred(le, context)) {
+ switch (pred(le, context, bc)) {
case ER_EVICT:
/*
* Adjust the cursor, so we start the next
@@ -362,6 +362,7 @@ struct dm_buffer {
unsigned int stack_len;
unsigned long stack_entries[MAX_STACK];
#endif
+ bool special;
};
/*--------------------------------------------------------------*/
@@ -399,12 +400,18 @@ struct dm_buffer_cache {
* on the locks.
*/
unsigned int num_locks;
+ unsigned long special;
bool no_sleep;
struct buffer_tree trees[];
};
static DEFINE_STATIC_KEY_FALSE(no_sleep_enabled);
+static inline unsigned int cache_index_special(sector_t block, unsigned int num_locks, unsigned long special)
+{
+ return dm_hash_locks_index_special(block, num_locks, special);
+}
+
static inline unsigned int cache_index(sector_t block, unsigned int num_locks)
{
return dm_hash_locks_index(block, num_locks);
@@ -413,33 +420,33 @@ static inline unsigned int cache_index(sector_t block, unsigned int num_locks)
static inline void cache_read_lock(struct dm_buffer_cache *bc, sector_t block)
{
if (static_branch_unlikely(&no_sleep_enabled) && bc->no_sleep)
- read_lock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock);
+ read_lock_bh(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.spinlock);
else
- down_read(&bc->trees[cache_index(block, bc->num_locks)].u.lock);
+ down_read(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.lock);
}
static inline void cache_read_unlock(struct dm_buffer_cache *bc, sector_t block)
{
if (static_branch_unlikely(&no_sleep_enabled) && bc->no_sleep)
- read_unlock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock);
+ read_unlock_bh(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.spinlock);
else
- up_read(&bc->trees[cache_index(block, bc->num_locks)].u.lock);
+ up_read(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.lock);
}
static inline void cache_write_lock(struct dm_buffer_cache *bc, sector_t block)
{
if (static_branch_unlikely(&no_sleep_enabled) && bc->no_sleep)
- write_lock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock);
+ write_lock_bh(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.spinlock);
else
- down_write(&bc->trees[cache_index(block, bc->num_locks)].u.lock);
+ down_write(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.lock);
}
static inline void cache_write_unlock(struct dm_buffer_cache *bc, sector_t block)
{
if (static_branch_unlikely(&no_sleep_enabled) && bc->no_sleep)
- write_unlock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock);
+ write_unlock_bh(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.spinlock);
else
- up_write(&bc->trees[cache_index(block, bc->num_locks)].u.lock);
+ up_write(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].u.lock);
}
/*
@@ -506,9 +513,9 @@ static void lh_exit(struct lock_history *lh)
* Named 'next' because there is no corresponding
* 'up/unlock' call since it's done automatically.
*/
-static void lh_next(struct lock_history *lh, sector_t b)
+static void lh_next(struct lock_history *lh, sector_t b, unsigned long special)
{
- unsigned int index = cache_index(b, lh->no_previous); /* no_previous is num_locks */
+ unsigned int index = cache_index_special(b, lh->no_previous, special); /* no_previous is num_locks */
if (lh->previous != lh->no_previous) {
if (lh->previous != index) {
@@ -619,7 +626,7 @@ static struct dm_buffer *cache_get(struct dm_buffer_cache *bc, sector_t block)
struct dm_buffer *b;
cache_read_lock(bc, block);
- b = __cache_get(&bc->trees[cache_index(block, bc->num_locks)].root, block);
+ b = __cache_get(&bc->trees[cache_index_special(block, bc->num_locks, bc->special)].root, block);
if (b) {
lru_reference(&b->lru);
__cache_inc_buffer(b);
@@ -666,12 +673,13 @@ struct evict_wrapper {
* Wraps the buffer predicate turning it into an lru predicate. Adds
* extra test for hold_count.
*/
-static enum evict_result __evict_pred(struct lru_entry *le, void *context)
+static enum evict_result __evict_pred(struct lru_entry *le, void *context, void *bc)
{
struct evict_wrapper *w = context;
struct dm_buffer *b = le_to_buffer(le);
+ struct dm_buffer_cache *bcc = (struct dm_buffer_cache *)bc;
- lh_next(w->lh, b->block);
+ lh_next(w->lh, b->block, b->special ? b->block : bcc->special);
if (atomic_read(&b->hold_count))
return ER_DONT_EVICT;
@@ -687,13 +695,13 @@ static struct dm_buffer *__cache_evict(struct dm_buffer_cache *bc, int list_mode
struct lru_entry *le;
struct dm_buffer *b;
- le = lru_evict(&bc->lru[list_mode], __evict_pred, &w, bc->no_sleep);
+ le = lru_evict(&bc->lru[list_mode], __evict_pred, &w, bc->no_sleep, (void *) bc);
if (!le)
return NULL;
b = le_to_buffer(le);
/* __evict_pred will have locked the appropriate tree. */
- rb_erase(&b->node, &bc->trees[cache_index(b->block, bc->num_locks)].root);
+ rb_erase(&b->node, &bc->trees[cache_index_special(b->block, bc->num_locks, b->special ? b->block : bc->special)].root);
return b;
}
@@ -741,7 +749,7 @@ static void __cache_mark_many(struct dm_buffer_cache *bc, int old_mode, int new_
struct evict_wrapper w = {.lh = lh, .pred = pred, .context = context};
while (true) {
- le = lru_evict(&bc->lru[old_mode], __evict_pred, &w, bc->no_sleep);
+ le = lru_evict(&bc->lru[old_mode], __evict_pred, &w, bc->no_sleep, (void *)bc);
if (!le)
break;
@@ -792,7 +800,7 @@ static void __cache_iterate(struct dm_buffer_cache *bc, int list_mode,
do {
struct dm_buffer *b = le_to_buffer(le);
- lh_next(lh, b->block);
+ lh_next(lh, b->block, bc->special);
switch (fn(b, context)) {
case IT_NEXT:
@@ -858,8 +866,8 @@ static bool cache_insert(struct dm_buffer_cache *bc, struct dm_buffer *b)
return false;
cache_write_lock(bc, b->block);
- BUG_ON(atomic_read(&b->hold_count) != 1);
- r = __cache_insert(&bc->trees[cache_index(b->block, bc->num_locks)].root, b);
+ //BUG_ON(atomic_read(&b->hold_count) != 1);
+ r = __cache_insert(&bc->trees[cache_index_special(b->block, bc->num_locks, bc->special)].root, b);
if (r)
lru_insert(&bc->lru[b->list_mode], &b->lru);
cache_write_unlock(bc, b->block);
@@ -885,7 +893,7 @@ static bool cache_remove(struct dm_buffer_cache *bc, struct dm_buffer *b)
r = false;
} else {
r = true;
- rb_erase(&b->node, &bc->trees[cache_index(b->block, bc->num_locks)].root);
+ rb_erase(&b->node, &bc->trees[cache_index_special(b->block, bc->num_locks, bc->special)].root);
lru_remove(&bc->lru[b->list_mode], &b->lru);
}
@@ -1019,6 +1027,12 @@ struct dm_bufio_client {
struct dm_buffer_cache cache; /* must be last member */
};
+void dm_setup_buffer_cache(struct dm_bufio_client *bc, unsigned long block)
+{
+ bc->cache.special = block;
+}
+EXPORT_SYMBOL_GPL(dm_setup_buffer_cache);
+
/*----------------------------------------------------------------*/
#define dm_bufio_in_request() (!!current->bio_list)
@@ -1792,6 +1806,7 @@ static struct dm_buffer *__bufio_new(struct dm_bufio_client *c, sector_t block,
b->read_error = 0;
b->write_error = 0;
b->list_mode = LIST_CLEAN;
+ b->special = (block == c->cache.special);
if (nf == NF_FRESH)
b->state = 0;
@@ -2642,6 +2657,17 @@ void dm_bufio_set_sector_offset(struct dm_bufio_client *c, sector_t start)
}
EXPORT_SYMBOL_GPL(dm_bufio_set_sector_offset);
+void dm_move_cache(struct dm_bufio_client *bc, unsigned long block)
+{
+ struct dm_buffer *b;
+
+ b = cache_get(&bc->cache, block);
+ cache_remove(&bc->cache, b);
+ bc->cache.special = block;
+ cache_insert(&bc->cache, b);
+}
+EXPORT_SYMBOL_GPL(dm_move_cache);
+
/*--------------------------------------------------------------*/
static unsigned int get_max_age_hz(void)
diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c
index 6022189c1..f485504d4 100644
--- a/drivers/md/dm-thin-metadata.c
+++ b/drivers/md/dm-thin-metadata.c
@@ -747,6 +747,7 @@ static int __open_metadata(struct dm_pool_metadata *pmd)
* root to avoid accessing broken btree.
*/
pmd->root = le64_to_cpu(disk_super->data_mapping_root);
+ dm_setup_bm_cache(pmd->bm, pmd->root);
pmd->details_root = le64_to_cpu(disk_super->device_details_root);
__setup_btree_details(pmd);
@@ -837,6 +838,7 @@ static int __begin_transaction(struct dm_pool_metadata *pmd)
disk_super = dm_block_data(sblock);
pmd->time = le32_to_cpu(disk_super->time);
pmd->root = le64_to_cpu(disk_super->data_mapping_root);
+ dm_setup_bm_cache(pmd->bm, pmd->root);
pmd->details_root = le64_to_cpu(disk_super->device_details_root);
pmd->trans_id = le64_to_cpu(disk_super->trans_id);
pmd->flags = le32_to_cpu(disk_super->flags);
@@ -1678,6 +1680,8 @@ static int __insert(struct dm_thin_device *td, dm_block_t block,
if (r)
return r;
+ dm_move_bm_cache(pmd->bm, pmd->root);
+
td->changed = true;
if (inserted)
td->mapped_blocks++;
diff --git a/drivers/md/dm.h b/drivers/md/dm.h
index f682295af..3d0c9f860 100644
--- a/drivers/md/dm.h
+++ b/drivers/md/dm.h
@@ -232,12 +232,28 @@ static inline unsigned int dm_num_hash_locks(void)
{
unsigned int num_locks = roundup_pow_of_two(num_online_cpus()) << 1;
- return min_t(unsigned int, num_locks, DM_HASH_LOCKS_MAX);
+ return min_t(unsigned int, num_locks, DM_HASH_LOCKS_MAX) + 32;
}
#define DM_HASH_LOCKS_MULT 4294967291ULL
#define DM_HASH_LOCKS_SHIFT 6
+static inline unsigned int dm_hash_locks_index_special(sector_t block,
+ unsigned int num_locks,
+ unsigned long special)
+{
+
+
+ sector_t h1 = (block * DM_HASH_LOCKS_MULT) >> DM_HASH_LOCKS_SHIFT;
+ sector_t h2 = h1 >> DM_HASH_LOCKS_SHIFT;
+
+ if (block == special)
+ return ((h1 ^ h2) & 31) + num_locks - 32;
+
+ return (h1 ^ h2) & (num_locks - 33);
+}
+
+
static inline unsigned int dm_hash_locks_index(sector_t block,
unsigned int num_locks)
{
diff --git a/drivers/md/persistent-data/dm-block-manager.c b/drivers/md/persistent-data/dm-block-manager.c
index 0e010e120..da560f825 100644
--- a/drivers/md/persistent-data/dm-block-manager.c
+++ b/drivers/md/persistent-data/dm-block-manager.c
@@ -414,6 +414,17 @@ struct dm_block_manager *dm_block_manager_create(struct block_device *bdev,
}
EXPORT_SYMBOL_GPL(dm_block_manager_create);
+void dm_setup_bm_cache(struct dm_block_manager *bm, unsigned long block)
+{
+ dm_setup_buffer_cache(bm->bufio, block);
+}
+EXPORT_SYMBOL_GPL(dm_setup_bm_cache);
+
+void dm_move_bm_cache(struct dm_block_manager *bm, unsigned long block)
+{
+ dm_move_cache(bm->bufio, block);
+}
+
void dm_block_manager_destroy(struct dm_block_manager *bm)
{
dm_bufio_client_destroy(bm->bufio);
diff --git a/drivers/md/persistent-data/dm-block-manager.h b/drivers/md/persistent-data/dm-block-manager.h
index f706d3de8..25121bbc5 100644
--- a/drivers/md/persistent-data/dm-block-manager.h
+++ b/drivers/md/persistent-data/dm-block-manager.h
@@ -35,7 +35,9 @@ struct dm_block_manager;
struct dm_block_manager *dm_block_manager_create(
struct block_device *bdev, unsigned int block_size,
unsigned int max_held_per_thread);
+void dm_move_bm_cache(struct dm_block_manager *bm, unsigned long block);
void dm_block_manager_destroy(struct dm_block_manager *bm);
+void dm_setup_bm_cache(struct dm_block_manager *bm, unsigned long block);
void dm_block_manager_reset(struct dm_block_manager *bm);
unsigned int dm_bm_block_size(struct dm_block_manager *bm);
diff --git a/include/linux/dm-bufio.h b/include/linux/dm-bufio.h
index 75e7d8cbb..d7d7a33cc 100644
--- a/include/linux/dm-bufio.h
+++ b/include/linux/dm-bufio.h
@@ -71,6 +71,8 @@ void *dm_bufio_read(struct dm_bufio_client *c, sector_t block,
void *dm_bufio_get(struct dm_bufio_client *c, sector_t block,
struct dm_buffer **bp);
+void dm_setup_buffer_cache(struct dm_bufio_client *bc, unsigned long block);
+
/*
* Like dm_bufio_read, but don't read anything from the disk. It is
* expected that the caller initializes the buffer and marks it dirty.
@@ -139,6 +141,8 @@ int dm_bufio_issue_discard(struct dm_bufio_client *c, sector_t block, sector_t c
*/
void dm_bufio_forget(struct dm_bufio_client *c, sector_t block);
+void dm_move_cache(struct dm_bufio_client *bc, unsigned long block);
+
/*
* Free the given range of buffers.
* This is just a hint, if the buffer is in use or dirty, this function
--
2.43.0
2
1
[PATCH OLK-6.6] ext4: add i_data_sem protection in ext4_destroy_inline_data_nolock()
by Yongjian Sun 22 Dec '25
by Yongjian Sun 22 Dec '25
22 Dec '25
From: Alexey Nepomnyashih <sdl(a)nppct.ru>
mainline inclusion
from mainline-v6.19-rc1
commit 0cd8feea8777f8d9b9a862b89c688b049a5c8475
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDF1F
CVE: CVE-2025-68261
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Fix a race between inline data destruction and block mapping.
The function ext4_destroy_inline_data_nolock() changes the inode data
layout by clearing EXT4_INODE_INLINE_DATA and setting EXT4_INODE_EXTENTS.
At the same time, another thread may execute ext4_map_blocks(), which
tests EXT4_INODE_EXTENTS to decide whether to call ext4_ext_map_blocks()
or ext4_ind_map_blocks().
Without i_data_sem protection, ext4_ind_map_blocks() may receive inode
with EXT4_INODE_EXTENTS flag and triggering assert.
kernel BUG at fs/ext4/indirect.c:546!
EXT4-fs (loop2): unmounting filesystem.
invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
RIP: 0010:ext4_ind_map_blocks.cold+0x2b/0x5a fs/ext4/indirect.c:546
Call Trace:
<TASK>
ext4_map_blocks+0xb9b/0x16f0 fs/ext4/inode.c:681
_ext4_get_block+0x242/0x590 fs/ext4/inode.c:822
ext4_block_write_begin+0x48b/0x12c0 fs/ext4/inode.c:1124
ext4_write_begin+0x598/0xef0 fs/ext4/inode.c:1255
ext4_da_write_begin+0x21e/0x9c0 fs/ext4/inode.c:3000
generic_perform_write+0x259/0x5d0 mm/filemap.c:3846
ext4_buffered_write_iter+0x15b/0x470 fs/ext4/file.c:285
ext4_file_write_iter+0x8e0/0x17f0 fs/ext4/file.c:679
call_write_iter include/linux/fs.h:2271 [inline]
do_iter_readv_writev+0x212/0x3c0 fs/read_write.c:735
do_iter_write+0x186/0x710 fs/read_write.c:861
vfs_iter_write+0x70/0xa0 fs/read_write.c:902
iter_file_splice_write+0x73b/0xc90 fs/splice.c:685
do_splice_from fs/splice.c:763 [inline]
direct_splice_actor+0x10f/0x170 fs/splice.c:950
splice_direct_to_actor+0x33a/0xa10 fs/splice.c:896
do_splice_direct+0x1a9/0x280 fs/splice.c:1002
do_sendfile+0xb13/0x12c0 fs/read_write.c:1255
__do_sys_sendfile64 fs/read_write.c:1323 [inline]
__se_sys_sendfile64 fs/read_write.c:1309 [inline]
__x64_sys_sendfile64+0x1cf/0x210 fs/read_write.c:1309
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x35/0x80 arch/x86/entry/common.c:81
entry_SYSCALL_64_after_hwframe+0x6e/0xd8
Fixes: c755e251357a ("ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea()")
Cc: stable(a)vger.kernel.org # v4.11+
Signed-off-by: Alexey Nepomnyashih <sdl(a)nppct.ru>
Message-ID: <20251104093326.697381-1-sdl(a)nppct.ru>
Signed-off-by: Theodore Ts'o <tytso(a)mit.edu>
Signed-off-by: Yongjian Sun <sunyongjian1(a)huawei.com>
---
fs/ext4/inline.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index 5fa1dd58ac42..bc6960c30a03 100644
--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -441,9 +441,13 @@ static int ext4_destroy_inline_data_nolock(handle_t *handle,
if (!ei->i_inline_off)
return 0;
+ down_write(&ei->i_data_sem);
+
error = ext4_get_inode_loc(inode, &is.iloc);
- if (error)
+ if (error) {
+ up_write(&ei->i_data_sem);
return error;
+ }
error = ext4_xattr_ibody_find(inode, &i, &is);
if (error)
@@ -482,6 +486,7 @@ static int ext4_destroy_inline_data_nolock(handle_t *handle,
brelse(is.iloc.bh);
if (error == -ENODATA)
error = 0;
+ up_write(&ei->i_data_sem);
return error;
}
--
2.39.2
2
1
22 Dec '25
From: Deepanshu Kartikey <kartikey406(a)gmail.com>
mainline inclusion
from mainline-v6.19-rc1
commit 892e1cf17555735e9d021ab036c36bc7b58b0e3b
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDF27
CVE: CVE-2025-68264
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
The cached ei->i_inline_size can become stale between the initial size
check and when ext4_update_inline_data()/ext4_create_inline_data() use
it. Although ext4_get_max_inline_size() reads the correct value at the
time of the check, concurrent xattr operations can modify i_inline_size
before ext4_write_lock_xattr() is acquired.
This causes ext4_update_inline_data() and ext4_create_inline_data() to
work with stale capacity values, leading to a BUG_ON() crash in
ext4_write_inline_data():
kernel BUG at fs/ext4/inline.c:1331!
BUG_ON(pos + len > EXT4_I(inode)->i_inline_size);
The race window:
1. ext4_get_max_inline_size() reads i_inline_size = 60 (correct)
2. Size check passes for 50-byte write
3. [Another thread adds xattr, i_inline_size changes to 40]
4. ext4_write_lock_xattr() acquires lock
5. ext4_update_inline_data() uses stale i_inline_size = 60
6. Attempts to write 50 bytes but only 40 bytes actually available
7. BUG_ON() triggers
Fix this by recalculating i_inline_size via ext4_find_inline_data_nolock()
immediately after acquiring xattr_sem. This ensures ext4_update_inline_data()
and ext4_create_inline_data() work with current values that are protected
from concurrent modifications.
This is similar to commit a54c4613dac1 ("ext4: fix race writing to an
inline_data file while its xattrs are changing") which fixed i_inline_off
staleness. This patch addresses the related i_inline_size staleness issue.
Reported-by: syzbot+f3185be57d7e8dda32b8(a)syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?extid=f3185be57d7e8dda32b8
Cc: stable(a)kernel.org
Signed-off-by: Deepanshu Kartikey <kartikey406(a)gmail.com>
Message-ID: <20251020060936.474314-1-kartikey406(a)gmail.com>
Signed-off-by: Theodore Ts'o <tytso(a)mit.edu>
Signed-off-by: Yongjian Sun <sunyongjian1(a)huawei.com>
---
fs/ext4/inline.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index bc6960c30a03..0cb175a1abe0 100644
--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -413,7 +413,12 @@ static int ext4_prepare_inline_data(handle_t *handle, struct inode *inode,
return -ENOSPC;
ext4_write_lock_xattr(inode, &no_expand);
-
+ /*
+ * ei->i_inline_size may have changed since the initial check
+ * if other xattrs were added. Recalculate to ensure
+ * ext4_update_inline_data() validates against current capacity.
+ */
+ (void) ext4_find_inline_data_nolock(inode);
if (ei->i_inline_off)
ret = ext4_update_inline_data(handle, inode, len);
else
--
2.39.2
2
1
[PATCH OLK-6.6] fs: ext4: change GFP_KERNEL to GFP_NOFS to avoid deadlock
by Yongjian Sun 22 Dec '25
by Yongjian Sun 22 Dec '25
22 Dec '25
From: chuguangqing <chuguangqing(a)inspur.com>
mainline inclusion
from mainline-v6.18-rc1
commit 1534f72dc2a11ded38b0e0268fbcc0ca24e9fd4a
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDEUI
CVE: CVE-2025-40361
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
The parent function ext4_xattr_inode_lookup_create already uses GFP_NOFS for memory alloction, so the function ext4_xattr_inode_cache_find should use same gfp_flag.
Signed-off-by: chuguangqing <chuguangqing(a)inspur.com>
Signed-off-by: Theodore Ts'o <tytso(a)mit.edu>
Signed-off-by: Yongjian Sun <sunyongjian1(a)huawei.com>
---
fs/ext4/xattr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index 5009fdcfe150..cd906aa08afa 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -1549,7 +1549,7 @@ ext4_xattr_inode_cache_find(struct inode *inode, const void *value,
WARN_ON_ONCE(ext4_handle_valid(journal_current_handle()) &&
!(current->flags & PF_MEMALLOC_NOFS));
- ea_data = kvmalloc(value_len, GFP_KERNEL);
+ ea_data = kvmalloc(value_len, GFP_NOFS);
if (!ea_data) {
mb_cache_entry_put(ea_inode_cache, ce);
return NULL;
--
2.39.2
2
1
[PATCH OLK-6.6] hfsplus: fix KMSAN uninit-value issue in hfsplus_delete_cat()
by Yongjian Sun 22 Dec '25
by Yongjian Sun 22 Dec '25
22 Dec '25
From: Viacheslav Dubeyko <slava(a)dubeyko.com>
mainline inclusion
from mainline-v6.18-rc1
commit 9b3d15a758910bb98ba8feb4109d99cc67450ee4
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDEVH
CVE: CVE-2025-40351
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
The syzbot reported issue in hfsplus_delete_cat():
[ 70.682285][ T9333] =====================================================
[ 70.682943][ T9333] BUG: KMSAN: uninit-value in hfsplus_subfolders_dec+0x1d7/0x220
[ 70.683640][ T9333] hfsplus_subfolders_dec+0x1d7/0x220
[ 70.684141][ T9333] hfsplus_delete_cat+0x105d/0x12b0
[ 70.684621][ T9333] hfsplus_rmdir+0x13d/0x310
[ 70.685048][ T9333] vfs_rmdir+0x5ba/0x810
[ 70.685447][ T9333] do_rmdir+0x964/0xea0
[ 70.685833][ T9333] __x64_sys_rmdir+0x71/0xb0
[ 70.686260][ T9333] x64_sys_call+0xcd8/0x3cf0
[ 70.686695][ T9333] do_syscall_64+0xd9/0x1d0
[ 70.687119][ T9333] entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 70.687646][ T9333]
[ 70.687856][ T9333] Uninit was stored to memory at:
[ 70.688311][ T9333] hfsplus_subfolders_inc+0x1c2/0x1d0
[ 70.688779][ T9333] hfsplus_create_cat+0x148e/0x1800
[ 70.689231][ T9333] hfsplus_mknod+0x27f/0x600
[ 70.689730][ T9333] hfsplus_mkdir+0x5a/0x70
[ 70.690146][ T9333] vfs_mkdir+0x483/0x7a0
[ 70.690545][ T9333] do_mkdirat+0x3f2/0xd30
[ 70.690944][ T9333] __x64_sys_mkdir+0x9a/0xf0
[ 70.691380][ T9333] x64_sys_call+0x2f89/0x3cf0
[ 70.691816][ T9333] do_syscall_64+0xd9/0x1d0
[ 70.692229][ T9333] entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 70.692773][ T9333]
[ 70.692990][ T9333] Uninit was stored to memory at:
[ 70.693469][ T9333] hfsplus_subfolders_inc+0x1c2/0x1d0
[ 70.693960][ T9333] hfsplus_create_cat+0x148e/0x1800
[ 70.694438][ T9333] hfsplus_fill_super+0x21c1/0x2700
[ 70.694911][ T9333] mount_bdev+0x37b/0x530
[ 70.695320][ T9333] hfsplus_mount+0x4d/0x60
[ 70.695729][ T9333] legacy_get_tree+0x113/0x2c0
[ 70.696167][ T9333] vfs_get_tree+0xb3/0x5c0
[ 70.696588][ T9333] do_new_mount+0x73e/0x1630
[ 70.697013][ T9333] path_mount+0x6e3/0x1eb0
[ 70.697425][ T9333] __se_sys_mount+0x733/0x830
[ 70.697857][ T9333] __x64_sys_mount+0xe4/0x150
[ 70.698269][ T9333] x64_sys_call+0x2691/0x3cf0
[ 70.698704][ T9333] do_syscall_64+0xd9/0x1d0
[ 70.699117][ T9333] entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 70.699730][ T9333]
[ 70.699946][ T9333] Uninit was created at:
[ 70.700378][ T9333] __alloc_pages_noprof+0x714/0xe60
[ 70.700843][ T9333] alloc_pages_mpol_noprof+0x2a2/0x9b0
[ 70.701331][ T9333] alloc_pages_noprof+0xf8/0x1f0
[ 70.701774][ T9333] allocate_slab+0x30e/0x1390
[ 70.702194][ T9333] ___slab_alloc+0x1049/0x33a0
[ 70.702635][ T9333] kmem_cache_alloc_lru_noprof+0x5ce/0xb20
[ 70.703153][ T9333] hfsplus_alloc_inode+0x5a/0xd0
[ 70.703598][ T9333] alloc_inode+0x82/0x490
[ 70.703984][ T9333] iget_locked+0x22e/0x1320
[ 70.704428][ T9333] hfsplus_iget+0x5c/0xba0
[ 70.704827][ T9333] hfsplus_btree_open+0x135/0x1dd0
[ 70.705291][ T9333] hfsplus_fill_super+0x1132/0x2700
[ 70.705776][ T9333] mount_bdev+0x37b/0x530
[ 70.706171][ T9333] hfsplus_mount+0x4d/0x60
[ 70.706579][ T9333] legacy_get_tree+0x113/0x2c0
[ 70.707019][ T9333] vfs_get_tree+0xb3/0x5c0
[ 70.707444][ T9333] do_new_mount+0x73e/0x1630
[ 70.707865][ T9333] path_mount+0x6e3/0x1eb0
[ 70.708270][ T9333] __se_sys_mount+0x733/0x830
[ 70.708711][ T9333] __x64_sys_mount+0xe4/0x150
[ 70.709158][ T9333] x64_sys_call+0x2691/0x3cf0
[ 70.709630][ T9333] do_syscall_64+0xd9/0x1d0
[ 70.710053][ T9333] entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 70.710611][ T9333]
[ 70.710842][ T9333] CPU: 3 UID: 0 PID: 9333 Comm: repro Not tainted 6.12.0-rc6-dirty #17
[ 70.711568][ T9333] Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 70.712490][ T9333] =====================================================
[ 70.713085][ T9333] Disabling lock debugging due to kernel taint
[ 70.713618][ T9333] Kernel panic - not syncing: kmsan.panic set ...
[ 70.714159][ T9333] CPU: 3 UID: 0 PID: 9333 Comm: repro Tainted: G B 6.12.0-rc6-dirty #17
[ 70.715007][ T9333] Tainted: [B]=BAD_PAGE
[ 70.715365][ T9333] Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 70.716311][ T9333] Call Trace:
[ 70.716621][ T9333] <TASK>
[ 70.716899][ T9333] dump_stack_lvl+0x1fd/0x2b0
[ 70.717350][ T9333] dump_stack+0x1e/0x30
[ 70.717743][ T9333] panic+0x502/0xca0
[ 70.718116][ T9333] ? kmsan_get_metadata+0x13e/0x1c0
[ 70.718611][ T9333] kmsan_report+0x296/0x2a0
[ 70.719038][ T9333] ? __msan_metadata_ptr_for_load_4+0x24/0x40
[ 70.719859][ T9333] ? __msan_warning+0x96/0x120
[ 70.720345][ T9333] ? hfsplus_subfolders_dec+0x1d7/0x220
[ 70.720881][ T9333] ? hfsplus_delete_cat+0x105d/0x12b0
[ 70.721412][ T9333] ? hfsplus_rmdir+0x13d/0x310
[ 70.721880][ T9333] ? vfs_rmdir+0x5ba/0x810
[ 70.722458][ T9333] ? do_rmdir+0x964/0xea0
[ 70.722883][ T9333] ? __x64_sys_rmdir+0x71/0xb0
[ 70.723397][ T9333] ? x64_sys_call+0xcd8/0x3cf0
[ 70.723915][ T9333] ? do_syscall_64+0xd9/0x1d0
[ 70.724454][ T9333] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 70.725110][ T9333] ? vprintk_emit+0xd1f/0xe60
[ 70.725616][ T9333] ? vprintk_default+0x3f/0x50
[ 70.726175][ T9333] ? vprintk+0xce/0xd0
[ 70.726628][ T9333] ? _printk+0x17e/0x1b0
[ 70.727129][ T9333] ? __msan_metadata_ptr_for_load_4+0x24/0x40
[ 70.727739][ T9333] ? kmsan_get_metadata+0x13e/0x1c0
[ 70.728324][ T9333] __msan_warning+0x96/0x120
[ 70.728854][ T9333] hfsplus_subfolders_dec+0x1d7/0x220
[ 70.729479][ T9333] hfsplus_delete_cat+0x105d/0x12b0
[ 70.729984][ T9333] ? kmsan_get_shadow_origin_ptr+0x4a/0xb0
[ 70.730646][ T9333] ? __msan_metadata_ptr_for_load_4+0x24/0x40
[ 70.731296][ T9333] ? kmsan_get_metadata+0x13e/0x1c0
[ 70.731863][ T9333] hfsplus_rmdir+0x13d/0x310
[ 70.732390][ T9333] ? __pfx_hfsplus_rmdir+0x10/0x10
[ 70.732919][ T9333] vfs_rmdir+0x5ba/0x810
[ 70.733416][ T9333] ? kmsan_get_shadow_origin_ptr+0x4a/0xb0
[ 70.734044][ T9333] do_rmdir+0x964/0xea0
[ 70.734537][ T9333] __x64_sys_rmdir+0x71/0xb0
[ 70.735032][ T9333] x64_sys_call+0xcd8/0x3cf0
[ 70.735579][ T9333] do_syscall_64+0xd9/0x1d0
[ 70.736092][ T9333] ? irqentry_exit+0x16/0x60
[ 70.736637][ T9333] entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 70.737269][ T9333] RIP: 0033:0x7fa9424eafc9
[ 70.737775][ T9333] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 48
[ 70.739844][ T9333] RSP: 002b:00007fff099cd8d8 EFLAGS: 00000202 ORIG_RAX: 0000000000000054
[ 70.740760][ T9333] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fa9424eafc9
[ 70.741642][ T9333] RDX: 006c6f72746e6f63 RSI: 000000000000000a RDI: 0000000020000100
[ 70.742543][ T9333] RBP: 00007fff099cd8e0 R08: 00007fff099cd910 R09: 00007fff099cd910
[ 70.743376][ T9333] R10: 0000000000000000 R11: 0000000000000202 R12: 0000565430642260
[ 70.744247][ T9333] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 70.745082][ T9333] </TASK>
The main reason of the issue that struct hfsplus_inode_info
has not been properly initialized for the case of root folder.
In the case of root folder, hfsplus_fill_super() calls
the hfsplus_iget() that implements only partial initialization of
struct hfsplus_inode_info and subfolders field is not
initialized by hfsplus_iget() logic.
This patch implements complete initialization of
struct hfsplus_inode_info in the hfsplus_iget() logic with
the goal to prevent likewise issues for the case of
root folder.
Reported-by: syzbot <syzbot+fdedff847a0e5e84c39f(a)syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=fdedff847a0e5e84c39f
Signed-off-by: Viacheslav Dubeyko <slava(a)dubeyko.com>
cc: John Paul Adrian Glaubitz <glaubitz(a)physik.fu-berlin.de>
cc: Yangtao Li <frank.li(a)vivo.com>
cc: linux-fsdevel(a)vger.kernel.org
Link: https://lore.kernel.org/r/20250825225103.326401-1-slava@dubeyko.com
Signed-off-by: Viacheslav Dubeyko <slava(a)dubeyko.com>
Signed-off-by: Yongjian Sun <sunyongjian1(a)huawei.com>
---
fs/hfsplus/super.c | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c
index 1986b4f18a90..8c086f16dd58 100644
--- a/fs/hfsplus/super.c
+++ b/fs/hfsplus/super.c
@@ -67,13 +67,26 @@ struct inode *hfsplus_iget(struct super_block *sb, unsigned long ino)
if (!(inode->i_state & I_NEW))
return inode;
- INIT_LIST_HEAD(&HFSPLUS_I(inode)->open_dir_list);
- spin_lock_init(&HFSPLUS_I(inode)->open_dir_lock);
- mutex_init(&HFSPLUS_I(inode)->extents_lock);
- HFSPLUS_I(inode)->flags = 0;
+ atomic_set(&HFSPLUS_I(inode)->opencnt, 0);
+ HFSPLUS_I(inode)->first_blocks = 0;
+ HFSPLUS_I(inode)->clump_blocks = 0;
+ HFSPLUS_I(inode)->alloc_blocks = 0;
+ HFSPLUS_I(inode)->cached_start = U32_MAX;
+ HFSPLUS_I(inode)->cached_blocks = 0;
+ memset(HFSPLUS_I(inode)->first_extents, 0, sizeof(hfsplus_extent_rec));
+ memset(HFSPLUS_I(inode)->cached_extents, 0, sizeof(hfsplus_extent_rec));
HFSPLUS_I(inode)->extent_state = 0;
+ mutex_init(&HFSPLUS_I(inode)->extents_lock);
HFSPLUS_I(inode)->rsrc_inode = NULL;
- atomic_set(&HFSPLUS_I(inode)->opencnt, 0);
+ HFSPLUS_I(inode)->create_date = 0;
+ HFSPLUS_I(inode)->linkid = 0;
+ HFSPLUS_I(inode)->flags = 0;
+ HFSPLUS_I(inode)->fs_blocks = 0;
+ HFSPLUS_I(inode)->userflags = 0;
+ HFSPLUS_I(inode)->subfolders = 0;
+ INIT_LIST_HEAD(&HFSPLUS_I(inode)->open_dir_list);
+ spin_lock_init(&HFSPLUS_I(inode)->open_dir_lock);
+ HFSPLUS_I(inode)->phys_size = 0;
if (inode->i_ino >= HFSPLUS_FIRSTUSER_CNID ||
inode->i_ino == HFSPLUS_ROOT_CNID) {
--
2.39.2
2
1
[openeuler:OLK-6.6 3544/3544] fs/userfaultfd.c:1809:23: sparse: sparse: invalid assignment: |=
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 0214feb8f616acf62f9a6a2a131f0a1479b2b8af [3544/3544] mm/userswap: introduce UFFDIO_COPY_MODE_DIRECT_MAP
config: x86_64-randconfig-122-20251215 (https://download.01.org/0day-ci/archive/20251222/202512221517.71VoHBnY-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512221517.71VoHBnY-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512221517.71VoHBnY-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> fs/userfaultfd.c:1809:23: sparse: sparse: invalid assignment: |=
fs/userfaultfd.c:1809:23: sparse: left side has type restricted uffd_flags_t
fs/userfaultfd.c:1809:23: sparse: right side has type int
fs/userfaultfd.c: note: in included file (through arch/x86/include/asm/tlbflush.h, arch/x86/include/asm/uaccess.h, include/linux/uaccess.h, ...):
arch/x86/include/asm/pgtable.h:178:44: sparse: sparse: context imbalance in 'handle_userfault' - unexpected unlock
vim +1809 fs/userfaultfd.c
1769
1770 static int userfaultfd_copy(struct userfaultfd_ctx *ctx,
1771 unsigned long arg)
1772 {
1773 __s64 ret;
1774 struct uffdio_copy uffdio_copy;
1775 struct uffdio_copy __user *user_uffdio_copy;
1776 struct userfaultfd_wake_range range;
1777 uffd_flags_t flags = 0;
1778
1779 user_uffdio_copy = (struct uffdio_copy __user *) arg;
1780
1781 ret = -EAGAIN;
1782 if (atomic_read(&ctx->mmap_changing))
1783 goto out;
1784
1785 ret = -EFAULT;
1786 if (copy_from_user(&uffdio_copy, user_uffdio_copy,
1787 /* don't copy "copy" last field */
1788 sizeof(uffdio_copy)-sizeof(__s64)))
1789 goto out;
1790
1791 ret = validate_unaligned_range(ctx->mm, uffdio_copy.src,
1792 uffdio_copy.len);
1793 if (ret)
1794 goto out;
1795 ret = validate_range(ctx->mm, uffdio_copy.dst, uffdio_copy.len);
1796 if (ret)
1797 goto out;
1798
1799 ret = -EINVAL;
1800 if (uffdio_copy.mode & ~(UFFDIO_COPY_MODE_DONTWAKE |
1801 UFFDIO_COPY_MODE_WP |
1802 IS_ENABLED(CONFIG_USERSWAP) ?
1803 UFFDIO_COPY_MODE_DIRECT_MAP : 0))
1804 goto out;
1805 if (uffdio_copy.mode & UFFDIO_COPY_MODE_WP)
1806 flags |= MFILL_ATOMIC_WP;
1807 if (IS_ENABLED(CONFIG_USERSWAP) &&
1808 (uffdio_copy.mode & UFFDIO_COPY_MODE_DIRECT_MAP))
> 1809 flags |= MFILL_ATOMIC_DIRECT_MAP;
1810 if (mmget_not_zero(ctx->mm)) {
1811 ret = mfill_atomic_copy(ctx->mm, uffdio_copy.dst, uffdio_copy.src,
1812 uffdio_copy.len, &ctx->mmap_changing,
1813 flags);
1814 mmput(ctx->mm);
1815 } else {
1816 return -ESRCH;
1817 }
1818 if (unlikely(put_user(ret, &user_uffdio_copy->copy)))
1819 return -EFAULT;
1820 if (ret < 0)
1821 goto out;
1822 BUG_ON(!ret);
1823 /* len == 0 would wake all */
1824 range.len = ret;
1825 if (!(uffdio_copy.mode & UFFDIO_COPY_MODE_DONTWAKE)) {
1826 range.start = uffdio_copy.dst;
1827 wake_userfault(ctx, &range);
1828 }
1829 ret = range.len == uffdio_copy.len ? 0 : -EAGAIN;
1830 out:
1831 return ret;
1832 }
1833
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
stable inclusion
from stable-v6.6.119
commit e81e6d6d99b16dae11adbeda5c996317942a940c
category: bugfix
bugzilla: http://atomgit.com/src-openeuler/kernel/issues/11609
CVE: CVE-2025-68173
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 4099b98203d6b33d990586542fa5beee408032a3 ]
A soft lockup was observed when loading amdgpu module.
If a module has a lot of tracable functions, multiple calls
to kallsyms_lookup can spend too much time in RCU critical
section and with disabled preemption, causing kernel panic.
This is the same issue that was fixed in
commit d0b24b4e91fc ("ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY
kernels") and commit 42ea22e754ba ("ftrace: Add cond_resched() to
ftrace_graph_set_hash()").
Fix it the same way by adding cond_resched() in ftrace_module_enable.
Link: https://lore.kernel.org/aMQD9_lxYmphT-up@vova-pc
Signed-off-by: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/trace/ftrace.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 15785a729a0c..398992597685 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -6873,6 +6873,8 @@ void ftrace_module_enable(struct module *mod)
if (!within_module(rec->ip, mod))
break;
+ cond_resched();
+
/* Weak functions should still be ignored */
if (!test_for_valid_rec(rec)) {
/* Clear all other flags. Should not be enabled anyway */
--
2.34.1
2
1
Patch #1 is the prerequisite patch, and Patch #2 fixes CVE-2025-39810.
Michael Chan (1):
[Backport] bnxt_en: Fix possible crash after creating sw mqprio TCs
Sreekanth Reddy (1):
[Backport] bnxt_en: Fix memory corruption when FW resources change
during ifdown
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 34 ++++++++++++++-----
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c | 2 +-
.../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 4 +--
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 2 +-
5 files changed, 30 insertions(+), 13 deletions(-)
--
2.34.1
2
3
hulk inclusion
category: bugfix
bugzilla: https://atomgit.com/openeuler/kernel/issues/8282
--------------------------------
L3t is only work with specific cpus, now add checker during init
to make sure this is enabled with specific cpus.
Fixes: c40d971092ff ("hisi: l3t: Add L3 cache driver for hisi")
Signed-off-by: Wupeng Ma <mawupeng1(a)huawei.com>
---
arch/arm64/include/asm/cputype.h | 2 ++
drivers/soc/hisilicon/l3t.c | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git a/arch/arm64/include/asm/cputype.h b/arch/arm64/include/asm/cputype.h
index b3b1977e9980..ca90d0e13ad6 100644
--- a/arch/arm64/include/asm/cputype.h
+++ b/arch/arm64/include/asm/cputype.h
@@ -113,6 +113,7 @@
#define HISI_CPU_PART_TSV110 0xD01
#define HISI_CPU_PART_TSV200 0xD02
#define HISI_CPU_PART_LINXICORE9100 0xD02
+#define HISI_CPU_PART_HIP10 0xD03
#define PHYTIUM_CPU_PART_1500A 0X660
#define PHYTIUM_CPU_PART_2000AHK 0X661
@@ -165,6 +166,7 @@
#define MIDR_FUJITSU_A64FX MIDR_CPU_MODEL(ARM_CPU_IMP_FUJITSU, FUJITSU_CPU_PART_A64FX)
#define MIDR_HISI_TSV110 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV110)
#define MIDR_HISI_TSV200 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV200)
+#define MIDR_HISI_HIP10 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_HIP10)
#define MIDR_HISI_LINXICORE9100 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_LINXICORE9100)
#define MIDR_FT_1500A MIDR_CPU_MODEL(ARM_CPU_IMP_PHYTIUM, PHYTIUM_CPU_PART_1500A)
#define MIDR_FT_2000AHK MIDR_CPU_MODEL(ARM_CPU_IMP_PHYTIUM, PHYTIUM_CPU_PART_2000AHK)
diff --git a/drivers/soc/hisilicon/l3t.c b/drivers/soc/hisilicon/l3t.c
index 35106e091098..69e65d659a35 100644
--- a/drivers/soc/hisilicon/l3t.c
+++ b/drivers/soc/hisilicon/l3t.c
@@ -264,6 +264,14 @@ static struct platform_driver hisi_l3t_driver = {
static int __init hisi_l3t_init(void)
{
+ static const struct midr_range l3t_support_list[] = {
+ MIDR_ALL_VERSIONS(MIDR_HISI_TSV200),
+ MIDR_ALL_VERSIONS(MIDR_HISI_HIP10),
+ {}
+ };
+ if (!is_midr_in_range_list(read_cpuid_id(), l3t_support_list))
+ return -ENODEV;
+
mutex_init(&l3t_mutex);
xa_init(&l3t_mapping);
--
2.43.0
2
1
[PATCH OLK-6.6] timers: Fix NULL function pointer race in timer_shutdown_sync()
by Jinjie Ruan 22 Dec '25
by Jinjie Ruan 22 Dec '25
22 Dec '25
From: Yipeng Zou <zouyipeng(a)huawei.com>
stable inclusion
from stable-v6.6.118
commit 6665fbd7730b26d770c232b20d1b907e6a67a914
category: bugfix
bugzilla: https://gitcode.com/src-openeuler/kernel/issues/11566
CVE: CVE-2025-68214
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 20739af07383e6eb1ec59dcd70b72ebfa9ac362c upstream.
There is a race condition between timer_shutdown_sync() and timer
expiration that can lead to hitting a WARN_ON in expire_timers().
The issue occurs when timer_shutdown_sync() clears the timer function
to NULL while the timer is still running on another CPU. The race
scenario looks like this:
CPU0 CPU1
<SOFTIRQ>
lock_timer_base()
expire_timers()
base->running_timer = timer;
unlock_timer_base()
[call_timer_fn enter]
mod_timer()
...
timer_shutdown_sync()
lock_timer_base()
// For now, will not detach the timer but only clear its function to NULL
if (base->running_timer != timer)
ret = detach_if_pending(timer, base, true);
if (shutdown)
timer->function = NULL;
unlock_timer_base()
[call_timer_fn exit]
lock_timer_base()
base->running_timer = NULL;
unlock_timer_base()
...
// Now timer is pending while its function set to NULL.
// next timer trigger
<SOFTIRQ>
expire_timers()
WARN_ON_ONCE(!fn) // hit
...
lock_timer_base()
// Now timer will detach
if (base->running_timer != timer)
ret = detach_if_pending(timer, base, true);
if (shutdown)
timer->function = NULL;
unlock_timer_base()
The problem is that timer_shutdown_sync() clears the timer function
regardless of whether the timer is currently running. This can leave a
pending timer with a NULL function pointer, which triggers the
WARN_ON_ONCE(!fn) check in expire_timers().
Fix this by only clearing the timer function when actually detaching the
timer. If the timer is running, leave the function pointer intact, which is
safe because the timer will be properly detached when it finishes running.
Fixes: 0cc04e80458a ("timers: Add shutdown mechanism to the internal functions")
Signed-off-by: Yipeng Zou <zouyipeng(a)huawei.com>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Cc: stable(a)vger.kernel.org
Link: https://patch.msgid.link/20251122093942.301559-1-zouyipeng@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Jinjie Ruan <ruanjinjie(a)huawei.com>
---
kernel/time/timer.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 63a8ce7177dd..4a2aeaa85af3 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -1413,10 +1413,11 @@ static int __try_to_del_timer_sync(struct timer_list *timer, bool shutdown)
base = lock_timer_base(timer, &flags);
- if (base->running_timer != timer)
+ if (base->running_timer != timer) {
ret = detach_if_pending(timer, base, true);
- if (shutdown)
- timer->function = NULL;
+ if (shutdown)
+ timer->function = NULL;
+ }
raw_spin_unlock_irqrestore(&base->lock, flags);
--
2.34.1
2
1
hulk inclusion
category: bugfix
bugzilla: https://gitcode.com/openeuler/kernel/issues/8282
--------------------------------
L3t is only work with specific cpus, now add checker during init
to make sure this is enabled with specific cpus.
Fixes: c40d971092ff ("hisi: l3t: Add L3 cache driver for hisi")
Signed-off-by: Wupeng Ma <mawupeng1(a)huawei.com>
---
arch/arm64/include/asm/cputype.h | 2 ++
drivers/soc/hisilicon/l3t.c | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git a/arch/arm64/include/asm/cputype.h b/arch/arm64/include/asm/cputype.h
index b3b1977e9980..ca90d0e13ad6 100644
--- a/arch/arm64/include/asm/cputype.h
+++ b/arch/arm64/include/asm/cputype.h
@@ -113,6 +113,7 @@
#define HISI_CPU_PART_TSV110 0xD01
#define HISI_CPU_PART_TSV200 0xD02
#define HISI_CPU_PART_LINXICORE9100 0xD02
+#define HISI_CPU_PART_HIP10 0xD03
#define PHYTIUM_CPU_PART_1500A 0X660
#define PHYTIUM_CPU_PART_2000AHK 0X661
@@ -165,6 +166,7 @@
#define MIDR_FUJITSU_A64FX MIDR_CPU_MODEL(ARM_CPU_IMP_FUJITSU, FUJITSU_CPU_PART_A64FX)
#define MIDR_HISI_TSV110 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV110)
#define MIDR_HISI_TSV200 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_TSV200)
+#define MIDR_HISI_HIP10 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_HIP10)
#define MIDR_HISI_LINXICORE9100 MIDR_CPU_MODEL(ARM_CPU_IMP_HISI, HISI_CPU_PART_LINXICORE9100)
#define MIDR_FT_1500A MIDR_CPU_MODEL(ARM_CPU_IMP_PHYTIUM, PHYTIUM_CPU_PART_1500A)
#define MIDR_FT_2000AHK MIDR_CPU_MODEL(ARM_CPU_IMP_PHYTIUM, PHYTIUM_CPU_PART_2000AHK)
diff --git a/drivers/soc/hisilicon/l3t.c b/drivers/soc/hisilicon/l3t.c
index 35106e091098..69e65d659a35 100644
--- a/drivers/soc/hisilicon/l3t.c
+++ b/drivers/soc/hisilicon/l3t.c
@@ -264,6 +264,14 @@ static struct platform_driver hisi_l3t_driver = {
static int __init hisi_l3t_init(void)
{
+ static const struct midr_range l3t_support_list[] = {
+ MIDR_ALL_VERSIONS(MIDR_HISI_TSV200),
+ MIDR_ALL_VERSIONS(MIDR_HISI_HIP10),
+ {}
+ };
+ if (!is_midr_in_range_list(read_cpuid_id(), l3t_support_list))
+ return -ENODEV;
+
mutex_init(&l3t_mutex);
xa_init(&l3t_mapping);
--
2.43.0
2
1
From: "Chang S. Bae" <chang.seok.bae(a)intel.com>
stable inclusion
from stable-v6.6.117
commit 1811c610653c0cd21cc9add14595b7cffaeca511
category: bugfix
bugzilla: https://gitcode.com/src-openeuler/kernel/issues/11604
CVE: CVE-2025-68171
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 388eff894d6bc5f921e9bfff0e4b0ab2684a96e9 upstream.
Sean reported [1] the following splat when running KVM tests:
WARNING: CPU: 232 PID: 15391 at xfd_validate_state+0x65/0x70
Call Trace:
<TASK>
fpu__clear_user_states+0x9c/0x100
arch_do_signal_or_restart+0x142/0x210
exit_to_user_mode_loop+0x55/0x100
do_syscall_64+0x205/0x2c0
entry_SYSCALL_64_after_hwframe+0x4b/0x53
Chao further identified [2] a reproducible scenario involving signal
delivery: a non-AMX task is preempted by an AMX-enabled task which
modifies the XFD MSR.
When the non-AMX task resumes and reloads XSTATE with init values,
a warning is triggered due to a mismatch between fpstate::xfd and the
CPU's current XFD state. fpu__clear_user_states() does not currently
re-synchronize the XFD state after such preemption.
Invoke xfd_update_state() which detects and corrects the mismatch if
there is a dynamic feature.
This also benefits the sigreturn path, as fpu__restore_sig() may call
fpu__clear_user_states() when the sigframe is inaccessible.
[ dhansen: minor changelog munging ]
Closes: https://lore.kernel.org/lkml/aDCo_SczQOUaB2rS@google.com [1]
Fixes: 672365477ae8a ("x86/fpu: Update XFD state where required")
Reported-by: Sean Christopherson <seanjc(a)google.com>
Signed-off-by: Chang S. Bae <chang.seok.bae(a)intel.com>
Signed-off-by: Dave Hansen <dave.hansen(a)linux.intel.com>
Reviewed-by: Chao Gao <chao.gao(a)intel.com>
Tested-by: Chao Gao <chao.gao(a)intel.com>
Link: https://lore.kernel.org/all/aDWbctO%2FRfTGiCg3@intel.com [2]
Cc:stable@vger.kernel.org
Link: https://patch.msgid.link/20250610001700.4097-1-chang.seok.bae%40intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zhang Kunbo <zhangkunbo(a)huawei.com>
---
arch/x86/kernel/fpu/core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
index 9a31f3db713c..1f0871be9d53 100644
--- a/arch/x86/kernel/fpu/core.c
+++ b/arch/x86/kernel/fpu/core.c
@@ -865,6 +865,9 @@ void fpu__clear_user_states(struct fpu *fpu)
!fpregs_state_valid(fpu, smp_processor_id()))
os_xrstor_supervisor(fpu->fpstate);
+ /* Ensure XFD state is in sync before reloading XSTATE */
+ xfd_update_state(fpu->fpstate);
+
/* Reset user states in registers. */
restore_fpregs_from_init_fpstate(XFEATURE_MASK_USER_RESTORE);
--
2.34.1
2
1
From: "Chang S. Bae" <chang.seok.bae(a)intel.com>
stable inclusion
from stable-v6.6.117
commit 1811c610653c0cd21cc9add14595b7cffaeca511
category: bugfix
bugzilla: https://gitcode.com/src-openeuler/kernel/issues/11604
CVE: CVE-2025-68171
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 388eff894d6bc5f921e9bfff0e4b0ab2684a96e9 upstream.
Sean reported [1] the following splat when running KVM tests:
WARNING: CPU: 232 PID: 15391 at xfd_validate_state+0x65/0x70
Call Trace:
<TASK>
fpu__clear_user_states+0x9c/0x100
arch_do_signal_or_restart+0x142/0x210
exit_to_user_mode_loop+0x55/0x100
do_syscall_64+0x205/0x2c0
entry_SYSCALL_64_after_hwframe+0x4b/0x53
Chao further identified [2] a reproducible scenario involving signal
delivery: a non-AMX task is preempted by an AMX-enabled task which
modifies the XFD MSR.
When the non-AMX task resumes and reloads XSTATE with init values,
a warning is triggered due to a mismatch between fpstate::xfd and the
CPU's current XFD state. fpu__clear_user_states() does not currently
re-synchronize the XFD state after such preemption.
Invoke xfd_update_state() which detects and corrects the mismatch if
there is a dynamic feature.
This also benefits the sigreturn path, as fpu__restore_sig() may call
fpu__clear_user_states() when the sigframe is inaccessible.
[ dhansen: minor changelog munging ]
Closes: https://lore.kernel.org/lkml/aDCo_SczQOUaB2rS@google.com [1]
Fixes: 672365477ae8a ("x86/fpu: Update XFD state where required")
Reported-by: Sean Christopherson <seanjc(a)google.com>
Signed-off-by: Chang S. Bae <chang.seok.bae(a)intel.com>
Signed-off-by: Dave Hansen <dave.hansen(a)linux.intel.com>
Reviewed-by: Chao Gao <chao.gao(a)intel.com>
Tested-by: Chao Gao <chao.gao(a)intel.com>
Link: https://lore.kernel.org/all/aDWbctO%2FRfTGiCg3@intel.com [2]
Cc:stable@vger.kernel.org
Link: https://patch.msgid.link/20250610001700.4097-1-chang.seok.bae%40intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zhang Kunbo <zhangkunbo(a)huawei.com>
---
arch/x86/kernel/fpu/core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
index e0aa2dfb89d1..1885c45fa6eb 100644
--- a/arch/x86/kernel/fpu/core.c
+++ b/arch/x86/kernel/fpu/core.c
@@ -809,6 +809,9 @@ void fpu__clear_user_states(struct fpu *fpu)
!fpregs_state_valid(fpu, smp_processor_id()))
os_xrstor_supervisor(fpu->fpstate);
+ /* Ensure XFD state is in sync before reloading XSTATE */
+ xfd_update_state(fpu->fpstate);
+
/* Reset user states in registers. */
restore_fpregs_from_init_fpstate(XFEATURE_MASK_USER_RESTORE);
--
2.34.1
2
1
[PATCH OLK-6.6] timers: Fix NULL function pointer race in timer_shutdown_sync()
by Jinjie Ruan 22 Dec '25
by Jinjie Ruan 22 Dec '25
22 Dec '25
From: Yipeng Zou <zouyipeng(a)huawei.com>
stable inclusion
from stable-v6.6.118
commit 6665fbd7730b26d770c232b20d1b907e6a67a914
category: bugfix
bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11566
CVE: CVE-2025-68214
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 20739af07383e6eb1ec59dcd70b72ebfa9ac362c upstream.
There is a race condition between timer_shutdown_sync() and timer
expiration that can lead to hitting a WARN_ON in expire_timers().
The issue occurs when timer_shutdown_sync() clears the timer function
to NULL while the timer is still running on another CPU. The race
scenario looks like this:
CPU0 CPU1
<SOFTIRQ>
lock_timer_base()
expire_timers()
base->running_timer = timer;
unlock_timer_base()
[call_timer_fn enter]
mod_timer()
...
timer_shutdown_sync()
lock_timer_base()
// For now, will not detach the timer but only clear its function to NULL
if (base->running_timer != timer)
ret = detach_if_pending(timer, base, true);
if (shutdown)
timer->function = NULL;
unlock_timer_base()
[call_timer_fn exit]
lock_timer_base()
base->running_timer = NULL;
unlock_timer_base()
...
// Now timer is pending while its function set to NULL.
// next timer trigger
<SOFTIRQ>
expire_timers()
WARN_ON_ONCE(!fn) // hit
...
lock_timer_base()
// Now timer will detach
if (base->running_timer != timer)
ret = detach_if_pending(timer, base, true);
if (shutdown)
timer->function = NULL;
unlock_timer_base()
The problem is that timer_shutdown_sync() clears the timer function
regardless of whether the timer is currently running. This can leave a
pending timer with a NULL function pointer, which triggers the
WARN_ON_ONCE(!fn) check in expire_timers().
Fix this by only clearing the timer function when actually detaching the
timer. If the timer is running, leave the function pointer intact, which is
safe because the timer will be properly detached when it finishes running.
Fixes: 0cc04e80458a ("timers: Add shutdown mechanism to the internal functions")
Signed-off-by: Yipeng Zou <zouyipeng(a)huawei.com>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Cc: stable(a)vger.kernel.org
Link: https://patch.msgid.link/20251122093942.301559-1-zouyipeng@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Jinjie Ruan <ruanjinjie(a)huawei.com>
---
kernel/time/timer.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 63a8ce7177dd..4a2aeaa85af3 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -1413,10 +1413,11 @@ static int __try_to_del_timer_sync(struct timer_list *timer, bool shutdown)
base = lock_timer_base(timer, &flags);
- if (base->running_timer != timer)
+ if (base->running_timer != timer) {
ret = detach_if_pending(timer, base, true);
- if (shutdown)
- timer->function = NULL;
+ if (shutdown)
+ timer->function = NULL;
+ }
raw_spin_unlock_irqrestore(&base->lock, flags);
--
2.34.1
2
1
From: "Chang S. Bae" <chang.seok.bae(a)intel.com>
stable inclusion
from stable-v6.6.117
commit 1811c610653c0cd21cc9add14595b7cffaeca511
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDEWO
CVE: CVE-2025-68171
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 388eff894d6bc5f921e9bfff0e4b0ab2684a96e9 upstream.
Sean reported [1] the following splat when running KVM tests:
WARNING: CPU: 232 PID: 15391 at xfd_validate_state+0x65/0x70
Call Trace:
<TASK>
fpu__clear_user_states+0x9c/0x100
arch_do_signal_or_restart+0x142/0x210
exit_to_user_mode_loop+0x55/0x100
do_syscall_64+0x205/0x2c0
entry_SYSCALL_64_after_hwframe+0x4b/0x53
Chao further identified [2] a reproducible scenario involving signal
delivery: a non-AMX task is preempted by an AMX-enabled task which
modifies the XFD MSR.
When the non-AMX task resumes and reloads XSTATE with init values,
a warning is triggered due to a mismatch between fpstate::xfd and the
CPU's current XFD state. fpu__clear_user_states() does not currently
re-synchronize the XFD state after such preemption.
Invoke xfd_update_state() which detects and corrects the mismatch if
there is a dynamic feature.
This also benefits the sigreturn path, as fpu__restore_sig() may call
fpu__clear_user_states() when the sigframe is inaccessible.
[ dhansen: minor changelog munging ]
Closes: https://lore.kernel.org/lkml/aDCo_SczQOUaB2rS@google.com [1]
Fixes: 672365477ae8a ("x86/fpu: Update XFD state where required")
Reported-by: Sean Christopherson <seanjc(a)google.com>
Signed-off-by: Chang S. Bae <chang.seok.bae(a)intel.com>
Signed-off-by: Dave Hansen <dave.hansen(a)linux.intel.com>
Reviewed-by: Chao Gao <chao.gao(a)intel.com>
Tested-by: Chao Gao <chao.gao(a)intel.com>
Link: https://lore.kernel.org/all/aDWbctO%2FRfTGiCg3@intel.com [2]
Cc:stable@vger.kernel.org
Link: https://patch.msgid.link/20250610001700.4097-1-chang.seok.bae%40intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zhang Kunbo <zhangkunbo(a)huawei.com>
---
arch/x86/kernel/fpu/core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
index 9a31f3db713c..1f0871be9d53 100644
--- a/arch/x86/kernel/fpu/core.c
+++ b/arch/x86/kernel/fpu/core.c
@@ -865,6 +865,9 @@ void fpu__clear_user_states(struct fpu *fpu)
!fpregs_state_valid(fpu, smp_processor_id()))
os_xrstor_supervisor(fpu->fpstate);
+ /* Ensure XFD state is in sync before reloading XSTATE */
+ xfd_update_state(fpu->fpstate);
+
/* Reset user states in registers. */
restore_fpregs_from_init_fpstate(XFEATURE_MASK_USER_RESTORE);
--
2.34.1
2
1
[openeuler:OLK-5.10 3415/3415] drivers/irqchip/irq-gic-v3-its.c:504:6: warning: no previous prototype for 'build_devid_pools'
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
Hi Jia,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: af552f9d957def499065ed6e194bcd5f0c75dbc5 [3415/3415] irqchip/gic-v3-its: Move build_devid_pools from its to acpi iort init
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20251222/202512220941.znSG62CM-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512220941.znSG62CM-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512220941.znSG62CM-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/irqchip/irq-gic-v3-its.c:504:6: warning: no previous prototype for 'build_devid_pools' [-Wmissing-prototypes]
504 | void build_devid_pools(void)
| ^~~~~~~~~~~~~~~~~
vim +/build_devid_pools +504 drivers/irqchip/irq-gic-v3-its.c
500
501 /*
502 * Currently we only build *one* devid pool.
503 */
> 504 void build_devid_pools(void)
505 {
506 struct its_node *its;
507
508 its = list_first_entry(&its_nodes, struct its_node, entry);
509 if (readl_relaxed(its->base + GITS_IIDR) != 0x00051736)
510 return;
511
512 if (!probe_devid_pool_one())
513 rsv_devid_pool_cap = true;
514
515 if (rsv_devid_pool_cap)
516 pr_info("ITS: reserved device id pools enabled\n");
517 }
518
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
stable inclusion
from stable-v6.6.119
commit e81e6d6d99b16dae11adbeda5c996317942a940c
category: bugfix
bugzilla: http://gitcode.com/src-openeuler/kernel/issues/11609
CVE: CVE-2025-68173
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 4099b98203d6b33d990586542fa5beee408032a3 ]
A soft lockup was observed when loading amdgpu module.
If a module has a lot of tracable functions, multiple calls
to kallsyms_lookup can spend too much time in RCU critical
section and with disabled preemption, causing kernel panic.
This is the same issue that was fixed in
commit d0b24b4e91fc ("ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY
kernels") and commit 42ea22e754ba ("ftrace: Add cond_resched() to
ftrace_graph_set_hash()").
Fix it the same way by adding cond_resched() in ftrace_module_enable.
Link: https://lore.kernel.org/aMQD9_lxYmphT-up@vova-pc
Signed-off-by: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/trace/ftrace.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 15785a729a0c..398992597685 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -6873,6 +6873,8 @@ void ftrace_module_enable(struct module *mod)
if (!within_module(rec->ip, mod))
break;
+ cond_resched();
+
/* Weak functions should still be ignored */
if (!test_for_valid_rec(rec)) {
/* Clear all other flags. Should not be enabled anyway */
--
2.34.1
2
1
[PATCH OLK-6.6] erofs: avoid infinite loops due to corrupted subpage compact indexes
by Zizhi Wo 22 Dec '25
by Zizhi Wo 22 Dec '25
22 Dec '25
From: Gao Xiang <hsiangkao(a)linux.alibaba.com>
stable inclusion
from stable-v6.17.6
commit 8675447a8794983f2b7e694b378112772c17635e
category: bugfix
bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11522
CVE: CVE-2025-68251
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit e13d315ae077bb7c3c6027cc292401bc0f4ec683 ]
Robert reported an infinite loop observed by two crafted images.
The root cause is that `clusterofs` can be larger than `lclustersize`
for !NONHEAD `lclusters` in corrupted subpage compact indexes, e.g.:
blocksize = lclustersize = 512 lcn = 6 clusterofs = 515
Move the corresponding check for full compress indexes to
`z_erofs_load_lcluster_from_disk()` to also cover subpage compact
compress indexes.
It also fixes the position of `m->type >= Z_EROFS_LCLUSTER_TYPE_MAX`
check, since it should be placed right after
`z_erofs_load_{compact,full}_lcluster()`.
Fixes: 8d2517aaeea3 ("erofs: fix up compacted indexes for block size < 4096")
Fixes: 1a5223c182fd ("erofs: do sanity check on m->type in z_erofs_load_compact_lcluster()")
Reported-by: Robert Morris <rtm(a)csail.mit.edu>
Closes: https://lore.kernel.org/r/35167.1760645886@localhost
Reviewed-by: Hongbo Li <lihongbo22(a)huawei.com>
Signed-off-by: Gao Xiang <hsiangkao(a)linux.alibaba.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Conflicts:
fs/erofs/zmap.c
[1. z_erofs_load_full_lcluster() function conflicts due to commit:
d69189428d50 ("erofs: clean up z_erofs_load_full_lcluster()");
2. z_erofs_load_lcluster_from_disk() function conflicts due to commit:
1a5223c182fd ("erofs: do sanity check on m->type in
z_erofs_load_compact_lcluster()");
3. "z_lclusterbits" -> "z_logical_clusterbits" due to commit:
efb2aef569b3 ("erofs: add encoded extent on-disk definition");
Both are not affect this patch.]
Signed-off-by: Zizhi Wo <wozizhi(a)huawei.com>
---
fs/erofs/zmap.c | 29 ++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)
diff --git a/fs/erofs/zmap.c b/fs/erofs/zmap.c
index 76566c2cbf63..0603ccd00b3c 100644
--- a/fs/erofs/zmap.c
+++ b/fs/erofs/zmap.c
@@ -67,10 +67,6 @@ static int z_erofs_load_full_lcluster(struct z_erofs_maprecorder *m,
if (advise & Z_EROFS_LI_PARTIAL_REF)
m->partialref = true;
m->clusterofs = le16_to_cpu(di->di_clusterofs);
- if (m->clusterofs >= 1 << vi->z_logical_clusterbits) {
- DBG_BUGON(1);
- return -EFSCORRUPTED;
- }
m->pblk = le32_to_cpu(di->di_u.blkaddr);
break;
default:
@@ -276,14 +272,25 @@ static int z_erofs_load_compact_lcluster(struct z_erofs_maprecorder *m,
static int z_erofs_load_lcluster_from_disk(struct z_erofs_maprecorder *m,
unsigned int lcn, bool lookahead)
{
- switch (EROFS_I(m->inode)->datalayout) {
- case EROFS_INODE_COMPRESSED_FULL:
- return z_erofs_load_full_lcluster(m, lcn);
- case EROFS_INODE_COMPRESSED_COMPACT:
- return z_erofs_load_compact_lcluster(m, lcn, lookahead);
- default:
- return -EINVAL;
+ struct erofs_inode *vi = EROFS_I(m->inode);
+ int err;
+
+ if (vi->datalayout == EROFS_INODE_COMPRESSED_COMPACT) {
+ err = z_erofs_load_compact_lcluster(m, lcn, lookahead);
+ } else {
+ DBG_BUGON(vi->datalayout != EROFS_INODE_COMPRESSED_FULL);
+ err = z_erofs_load_full_lcluster(m, lcn);
}
+ if (err)
+ return err;
+
+ if (m->type != Z_EROFS_LCLUSTER_TYPE_NONHEAD &&
+ m->clusterofs >= (1 << vi->z_logical_clusterbits)) {
+ DBG_BUGON(1);
+ return -EFSCORRUPTED;
+ }
+
+ return 0;
}
static int z_erofs_extent_lookback(struct z_erofs_maprecorder *m,
--
2.39.2
2
1
From: "Chang S. Bae" <chang.seok.bae(a)intel.com>
stable inclusion
from stable-v6.6.117
commit 1811c610653c0cd21cc9add14595b7cffaeca511
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDEWO
CVE: CVE-2025-68171
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 388eff894d6bc5f921e9bfff0e4b0ab2684a96e9 upstream.
Sean reported [1] the following splat when running KVM tests:
WARNING: CPU: 232 PID: 15391 at xfd_validate_state+0x65/0x70
Call Trace:
<TASK>
fpu__clear_user_states+0x9c/0x100
arch_do_signal_or_restart+0x142/0x210
exit_to_user_mode_loop+0x55/0x100
do_syscall_64+0x205/0x2c0
entry_SYSCALL_64_after_hwframe+0x4b/0x53
Chao further identified [2] a reproducible scenario involving signal
delivery: a non-AMX task is preempted by an AMX-enabled task which
modifies the XFD MSR.
When the non-AMX task resumes and reloads XSTATE with init values,
a warning is triggered due to a mismatch between fpstate::xfd and the
CPU's current XFD state. fpu__clear_user_states() does not currently
re-synchronize the XFD state after such preemption.
Invoke xfd_update_state() which detects and corrects the mismatch if
there is a dynamic feature.
This also benefits the sigreturn path, as fpu__restore_sig() may call
fpu__clear_user_states() when the sigframe is inaccessible.
[ dhansen: minor changelog munging ]
Closes: https://lore.kernel.org/lkml/aDCo_SczQOUaB2rS@google.com [1]
Fixes: 672365477ae8a ("x86/fpu: Update XFD state where required")
Reported-by: Sean Christopherson <seanjc(a)google.com>
Signed-off-by: Chang S. Bae <chang.seok.bae(a)intel.com>
Signed-off-by: Dave Hansen <dave.hansen(a)linux.intel.com>
Reviewed-by: Chao Gao <chao.gao(a)intel.com>
Tested-by: Chao Gao <chao.gao(a)intel.com>
Link: https://lore.kernel.org/all/aDWbctO%2FRfTGiCg3@intel.com [2]
Cc:stable@vger.kernel.org
Link: https://patch.msgid.link/20250610001700.4097-1-chang.seok.bae%40intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zhang Kunbo <zhangkunbo(a)huawei.com>
---
arch/x86/kernel/fpu/core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
index e0aa2dfb89d1..1885c45fa6eb 100644
--- a/arch/x86/kernel/fpu/core.c
+++ b/arch/x86/kernel/fpu/core.c
@@ -809,6 +809,9 @@ void fpu__clear_user_states(struct fpu *fpu)
!fpregs_state_valid(fpu, smp_processor_id()))
os_xrstor_supervisor(fpu->fpstate);
+ /* Ensure XFD state is in sync before reloading XSTATE */
+ xfd_update_state(fpu->fpstate);
+
/* Reset user states in registers. */
restore_fpregs_from_init_fpstate(XFEATURE_MASK_USER_RESTORE);
--
2.34.1
2
1
[PATCH OLK-6.6] erofs: avoid infinite loops due to corrupted subpage compact indexes
by Zizhi Wo 22 Dec '25
by Zizhi Wo 22 Dec '25
22 Dec '25
From: Gao Xiang <hsiangkao(a)linux.alibaba.com>
stable inclusion
from stable-v6.17.6
commit 8675447a8794983f2b7e694b378112772c17635e
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDF3Q
CVE: CVE-2025-68251
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit e13d315ae077bb7c3c6027cc292401bc0f4ec683 ]
Robert reported an infinite loop observed by two crafted images.
The root cause is that `clusterofs` can be larger than `lclustersize`
for !NONHEAD `lclusters` in corrupted subpage compact indexes, e.g.:
blocksize = lclustersize = 512 lcn = 6 clusterofs = 515
Move the corresponding check for full compress indexes to
`z_erofs_load_lcluster_from_disk()` to also cover subpage compact
compress indexes.
It also fixes the position of `m->type >= Z_EROFS_LCLUSTER_TYPE_MAX`
check, since it should be placed right after
`z_erofs_load_{compact,full}_lcluster()`.
Fixes: 8d2517aaeea3 ("erofs: fix up compacted indexes for block size < 4096")
Fixes: 1a5223c182fd ("erofs: do sanity check on m->type in z_erofs_load_compact_lcluster()")
Reported-by: Robert Morris <rtm(a)csail.mit.edu>
Closes: https://lore.kernel.org/r/35167.1760645886@localhost
Reviewed-by: Hongbo Li <lihongbo22(a)huawei.com>
Signed-off-by: Gao Xiang <hsiangkao(a)linux.alibaba.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Conflicts:
fs/erofs/zmap.c
[1. z_erofs_load_full_lcluster() function conflicts due to commit:
d69189428d50 ("erofs: clean up z_erofs_load_full_lcluster()");
2. z_erofs_load_lcluster_from_disk() function conflicts due to commit:
1a5223c182fd ("erofs: do sanity check on m->type in
z_erofs_load_compact_lcluster()");
3. "z_lclusterbits" -> "z_logical_clusterbits" due to commit:
efb2aef569b3 ("erofs: add encoded extent on-disk definition");
Both are not affect this patch.]
Signed-off-by: Zizhi Wo <wozizhi(a)huawei.com>
---
fs/erofs/zmap.c | 29 ++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)
diff --git a/fs/erofs/zmap.c b/fs/erofs/zmap.c
index 76566c2cbf63..0603ccd00b3c 100644
--- a/fs/erofs/zmap.c
+++ b/fs/erofs/zmap.c
@@ -67,10 +67,6 @@ static int z_erofs_load_full_lcluster(struct z_erofs_maprecorder *m,
if (advise & Z_EROFS_LI_PARTIAL_REF)
m->partialref = true;
m->clusterofs = le16_to_cpu(di->di_clusterofs);
- if (m->clusterofs >= 1 << vi->z_logical_clusterbits) {
- DBG_BUGON(1);
- return -EFSCORRUPTED;
- }
m->pblk = le32_to_cpu(di->di_u.blkaddr);
break;
default:
@@ -276,14 +272,25 @@ static int z_erofs_load_compact_lcluster(struct z_erofs_maprecorder *m,
static int z_erofs_load_lcluster_from_disk(struct z_erofs_maprecorder *m,
unsigned int lcn, bool lookahead)
{
- switch (EROFS_I(m->inode)->datalayout) {
- case EROFS_INODE_COMPRESSED_FULL:
- return z_erofs_load_full_lcluster(m, lcn);
- case EROFS_INODE_COMPRESSED_COMPACT:
- return z_erofs_load_compact_lcluster(m, lcn, lookahead);
- default:
- return -EINVAL;
+ struct erofs_inode *vi = EROFS_I(m->inode);
+ int err;
+
+ if (vi->datalayout == EROFS_INODE_COMPRESSED_COMPACT) {
+ err = z_erofs_load_compact_lcluster(m, lcn, lookahead);
+ } else {
+ DBG_BUGON(vi->datalayout != EROFS_INODE_COMPRESSED_FULL);
+ err = z_erofs_load_full_lcluster(m, lcn);
}
+ if (err)
+ return err;
+
+ if (m->type != Z_EROFS_LCLUSTER_TYPE_NONHEAD &&
+ m->clusterofs >= (1 << vi->z_logical_clusterbits)) {
+ DBG_BUGON(1);
+ return -EFSCORRUPTED;
+ }
+
+ return 0;
}
static int z_erofs_extent_lookback(struct z_erofs_maprecorder *m,
--
2.39.2
2
1
From: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
stable inclusion
from stable-v6.6.119
commit e81e6d6d99b16dae11adbeda5c996317942a940c
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDDEWE
CVE: CVE-2025-68173
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 4099b98203d6b33d990586542fa5beee408032a3 ]
A soft lockup was observed when loading amdgpu module.
If a module has a lot of tracable functions, multiple calls
to kallsyms_lookup can spend too much time in RCU critical
section and with disabled preemption, causing kernel panic.
This is the same issue that was fixed in
commit d0b24b4e91fc ("ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY
kernels") and commit 42ea22e754ba ("ftrace: Add cond_resched() to
ftrace_graph_set_hash()").
Fix it the same way by adding cond_resched() in ftrace_module_enable.
Link: https://lore.kernel.org/aMQD9_lxYmphT-up@vova-pc
Signed-off-by: Vladimir Riabchun <ferr.lambarginio(a)gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
kernel/trace/ftrace.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 15785a729a0c..398992597685 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -6873,6 +6873,8 @@ void ftrace_module_enable(struct module *mod)
if (!within_module(rec->ip, mod))
break;
+ cond_resched();
+
/* Weak functions should still be ignored */
if (!test_for_valid_rec(rec)) {
/* Clear all other flags. Should not be enabled anyway */
--
2.34.1
2
1
[openeuler:OLK-5.10 3420/3420] drivers/cpufreq/intel_pstate.c:1473:6: sparse: sparse: symbol 'notify_hwp_interrupt' was not declared. Should it be static?
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: e217d5958ee378eb304fb0b4eb6fcb551e555842 [3420/3420] cpufreq: intel_pstate: Process HWP Guaranteed change notification
config: x86_64-randconfig-123-20251218 (https://download.01.org/0day-ci/archive/20251222/202512220826.pYRgbdJv-lkp@…)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512220826.pYRgbdJv-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512220826.pYRgbdJv-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/cpufreq/intel_pstate.c:1473:6: sparse: sparse: symbol 'notify_hwp_interrupt' was not declared. Should it be static?
vim +/notify_hwp_interrupt +1473 drivers/cpufreq/intel_pstate.c
1472
> 1473 void notify_hwp_interrupt(void)
1474 {
1475 unsigned int this_cpu = smp_processor_id();
1476 struct cpudata *cpudata;
1477 unsigned long flags;
1478 u64 value;
1479
1480 if (!READ_ONCE(hwp_active) || !boot_cpu_has(X86_FEATURE_HWP_NOTIFY))
1481 return;
1482
1483 rdmsrl_safe(MSR_HWP_STATUS, &value);
1484 if (!(value & 0x01))
1485 return;
1486
1487 spin_lock_irqsave(&hwp_notify_lock, flags);
1488
1489 if (!cpumask_test_cpu(this_cpu, &hwp_intr_enable_mask))
1490 goto ack_intr;
1491
1492 /*
1493 * Currently we never free all_cpu_data. And we can't reach here
1494 * without this allocated. But for safety for future changes, added
1495 * check.
1496 */
1497 if (unlikely(!READ_ONCE(all_cpu_data)))
1498 goto ack_intr;
1499
1500 /*
1501 * The free is done during cleanup, when cpufreq registry is failed.
1502 * We wouldn't be here if it fails on init or switch status. But for
1503 * future changes, added check.
1504 */
1505 cpudata = READ_ONCE(all_cpu_data[this_cpu]);
1506 if (unlikely(!cpudata))
1507 goto ack_intr;
1508
1509 schedule_delayed_work(&cpudata->hwp_notify_work, msecs_to_jiffies(10));
1510
1511 spin_unlock_irqrestore(&hwp_notify_lock, flags);
1512
1513 return;
1514
1515 ack_intr:
1516 wrmsrl_safe(MSR_HWP_STATUS, 0);
1517 spin_unlock_irqrestore(&hwp_notify_lock, flags);
1518 }
1519
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3415/3415] arch/arm64/kernel/fpsimd.c:158:12: warning: 'get_sve_default_vl' defined but not used
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
Hi Mark,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: bf04fdf1fcc0040e6c81b413cdae84c0eb9212b9 [3415/3415] arm64/sve: Track vector lengths for tasks in an array
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20251222/202512220837.hZSDu6Y4-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512220837.hZSDu6Y4-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512220837.hZSDu6Y4-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm64/kernel/fpsimd.c:158:12: warning: 'get_sve_default_vl' defined but not used [-Wunused-function]
158 | static int get_sve_default_vl(void)
| ^~~~~~~~~~~~~~~~~~
vim +/get_sve_default_vl +158 arch/arm64/kernel/fpsimd.c
1e570f512cbdc5 Dave Martin 2020-06-10 157
1e570f512cbdc5 Dave Martin 2020-06-10 @158 static int get_sve_default_vl(void)
1e570f512cbdc5 Dave Martin 2020-06-10 159 {
68da302c8ae303 Mark Brown 2023-11-28 160 return get_default_vl(ARM64_VEC_SVE);
1e570f512cbdc5 Dave Martin 2020-06-10 161 }
79ab047c75d6a9 Dave Martin 2017-10-31 162
:::::: The code at line 158 was first introduced by commit
:::::: 1e570f512cbdc5e9e401ba640d9827985c1bea1e arm64/sve: Eliminate data races on sve_default_vl
:::::: TO: Dave Martin <Dave.Martin(a)arm.com>
:::::: CC: Will Deacon <will(a)kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3415/3415] arch/arm64/mm/init.c:730:6: warning: no previous prototype for 'ascend_enable_all_features'
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
Hi Wang,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: 66ae8ddda388386daea0623a65ea2ac85c24ca00 [3415/3415] ascend/arm64: Add ascend_enable_all kernel parameter
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20251222/202512220606.726hmC01-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512220606.726hmC01-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512220606.726hmC01-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm64/mm/init.c:730:6: warning: no previous prototype for 'ascend_enable_all_features' [-Wmissing-prototypes]
730 | void ascend_enable_all_features(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/ascend_enable_all_features +730 arch/arm64/mm/init.c
729
> 730 void ascend_enable_all_features(void)
731 {
732 if (IS_ENABLED(CONFIG_ASCEND_DVPP_MMAP))
733 enable_mmap_dvpp = 1;
734
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3415/3415] arch/arm64/kernel/ipi_nmi.c:40:9: error: implicit declaration of function 'printk_safe_exit'; did you mean 'printk_nmi_exit'?
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
Hi Li,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: f86d165bfe5f6248743774bb07af0bd7cff12443 [3415/3415] arm64: Add non nmi ipi backtrace support
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20251222/202512220254.DKUPaC7y-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512220254.DKUPaC7y-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512220254.DKUPaC7y-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/arm64/kernel/ipi_nmi.c: In function 'ipi_cpu_backtrace':
arch/arm64/kernel/ipi_nmi.c:38:9: error: implicit declaration of function 'printk_safe_enter'; did you mean 'printk_nmi_enter'? [-Werror=implicit-function-declaration]
38 | printk_safe_enter();
| ^~~~~~~~~~~~~~~~~
| printk_nmi_enter
>> arch/arm64/kernel/ipi_nmi.c:40:9: error: implicit declaration of function 'printk_safe_exit'; did you mean 'printk_nmi_exit'? [-Werror=implicit-function-declaration]
40 | printk_safe_exit();
| ^~~~~~~~~~~~~~~~
| printk_nmi_exit
cc1: some warnings being treated as errors
vim +40 arch/arm64/kernel/ipi_nmi.c
35
36 static void ipi_cpu_backtrace(void *info)
37 {
> 38 printk_safe_enter();
39 nmi_cpu_backtrace(get_irq_regs());
> 40 printk_safe_exit();
41 }
42
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3557/3557] drivers/arm/mm_monitor/spe-decoder/arm-spe-pkt-decoder.c:43:35: sparse: sparse: cast to restricted __le16
by kernel test robot 22 Dec '25
by kernel test robot 22 Dec '25
22 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: b8a759002c48f227d03084fb6b6213a3beaa44e3 [3557/3557] mm_monitor/mm_spe: Introduce standalone SPE profiling framework
config: arm64-randconfig-r132-20251218 (https://download.01.org/0day-ci/archive/20251222/202512220002.7l3mjSAD-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512220002.7l3mjSAD-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512220002.7l3mjSAD-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/arm/mm_monitor/spe-decoder/arm-spe-pkt-decoder.c:43:35: sparse: sparse: cast to restricted __le16
>> drivers/arm/mm_monitor/spe-decoder/arm-spe-pkt-decoder.c:46:35: sparse: sparse: cast to restricted __le32
>> drivers/arm/mm_monitor/spe-decoder/arm-spe-pkt-decoder.c:49:35: sparse: sparse: cast to restricted __le64
vim +43 drivers/arm/mm_monitor/spe-decoder/arm-spe-pkt-decoder.c
26
27 static int arm_spe_get_payload(const unsigned char *buf, size_t len,
28 unsigned char ext_hdr,
29 struct arm_spe_pkt *packet)
30 {
31 size_t payload_len = arm_spe_payload_len(buf[ext_hdr]);
32
33 if (len < 1 + ext_hdr + payload_len)
34 return ARM_SPE_NEED_MORE_BYTES;
35
36 buf += 1 + ext_hdr;
37
38 switch (payload_len) {
39 case 1:
40 packet->payload = *(uint8_t *)buf;
41 break;
42 case 2:
> 43 packet->payload = le16_to_cpu(*(uint16_t *)buf);
44 break;
45 case 4:
> 46 packet->payload = le32_to_cpu(*(uint32_t *)buf);
47 break;
48 case 8:
> 49 packet->payload = le64_to_cpu(*(uint64_t *)buf);
50 break;
51 default:
52 return ARM_SPE_BAD_PACKET;
53 }
54
55 return 1 + ext_hdr + payload_len;
56 }
57
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:openEuler-1.0-LTS 1942/1942] arch/arm64/kernel/vdso/gettimeofday.c:268:13: warning: no previous prototype for '__kernel_clock_gettime'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
Hi Andrew,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 4e9c55920995d70b3e88b60c69753df54b03fdf4
commit: f43f336031282e8ea7e5f7f887c5a6ff7b9c99b0 [1942/1942] arm64:vdso: Rewrite gettimeofday into C.
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20251221/202512212208.f4EG9uym-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512212208.f4EG9uym-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512212208.f4EG9uym-lkp@intel.com/
Note: functions only called from assembly code should be annotated with the asmlinkage attribute
All warnings (new ones prefixed by >>):
>> arch/arm64/kernel/vdso/gettimeofday.c:268:13: warning: no previous prototype for '__kernel_clock_gettime' [-Wmissing-prototypes]
268 | notrace int __kernel_clock_gettime(clockid_t clock, struct timespec *ts)
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kernel/vdso/gettimeofday.c:302:13: warning: no previous prototype for '__kernel_gettimeofday' [-Wmissing-prototypes]
302 | notrace int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz)
| ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kernel/vdso/gettimeofday.c:325:5: warning: no previous prototype for '__kernel_clock_getres' [-Wmissing-prototypes]
325 | int __kernel_clock_getres(clockid_t clock_id, struct timespec *res)
| ^~~~~~~~~~~~~~~~~~~~~
--
>> arch/arm64/kernel/vdso/gettimeofday.c:268:13: warning: no previous prototype for '__kernel_clock_gettime' [-Wmissing-prototypes]
268 | notrace int __kernel_clock_gettime(clockid_t clock, struct timespec *ts)
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kernel/vdso/gettimeofday.c:302:13: warning: no previous prototype for '__kernel_gettimeofday' [-Wmissing-prototypes]
302 | notrace int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz)
| ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kernel/vdso/gettimeofday.c:325:5: warning: no previous prototype for '__kernel_clock_getres' [-Wmissing-prototypes]
325 | int __kernel_clock_getres(clockid_t clock_id, struct timespec *res)
| ^~~~~~~~~~~~~~~~~~~~~
vim +/__kernel_clock_gettime +268 arch/arm64/kernel/vdso/gettimeofday.c
267
> 268 notrace int __kernel_clock_gettime(clockid_t clock, struct timespec *ts)
269 {
270 const struct vdso_data *vd = &_vdso_data;
271
272 switch (clock) {
273 case CLOCK_REALTIME:
274 if (do_realtime(vd, ts))
275 goto fallback;
276 break;
277 case CLOCK_MONOTONIC:
278 if (do_monotonic(vd, ts))
279 goto fallback;
280 break;
281 case CLOCK_MONOTONIC_RAW:
282 if (do_monotonic_raw(vd, ts))
283 goto fallback;
284 break;
285 case CLOCK_REALTIME_COARSE:
286 do_realtime_coarse(vd, ts);
287 break;
288 case CLOCK_MONOTONIC_COARSE:
289 do_monotonic_coarse(vd, ts);
290 break;
291 default:
292 goto fallback;
293 }
294
295 return 0;
296 fallback:
297 return clock_gettime_fallback(clock, ts);
298 }
299
300
301
302 notrace int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz)
303 {
304 const struct vdso_data *vd = &_vdso_data;
305
306 if (likely(tv != NULL)) {
307 struct timespec ts;
308
309 if (do_realtime(vd, &ts))
310 return gettimeofday_fallback(tv, tz);
311
312 tv->tv_sec = ts.tv_sec;
313 tv->tv_usec = ts.tv_nsec / 1000;
314 }
315
316 if (unlikely(tz != NULL)) {
317 tz->tz_minuteswest = vd->tz_minuteswest;
318 tz->tz_dsttime = vd->tz_dsttime;
319 }
320
321 return 0;
322 }
323
324
> 325 int __kernel_clock_getres(clockid_t clock_id, struct timespec *res)
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: 岳智超 <yuezhichao1(a)h-partners.com>
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IDDE3S?from=project-issue
CVE: NA
--------------------------------
Add thread irq for io queue
Signed-off-by: 岳智超 <yuezhichao1(a)h-partners.com>
---
drivers/scsi/hisi_raid/hiraid.h | 1 +
drivers/scsi/hisi_raid/hiraid_main.c | 60 ++++++++++++++++++++++++++--
2 files changed, 58 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/hisi_raid/hiraid.h b/drivers/scsi/hisi_raid/hiraid.h
index 04b2e25..b786066 100644
--- a/drivers/scsi/hisi_raid/hiraid.h
+++ b/drivers/scsi/hisi_raid/hiraid.h
@@ -686,6 +686,7 @@ struct hiraid_queue {
atomic_t inflight;
void *sense_buffer_virt;
dma_addr_t sense_buffer_phy;
+ s32 pci_irq;
struct dma_pool *prp_small_pool;
};
diff --git a/drivers/scsi/hisi_raid/hiraid_main.c b/drivers/scsi/hisi_raid/hiraid_main.c
index 2f33339..ee5cb10 100644
--- a/drivers/scsi/hisi_raid/hiraid_main.c
+++ b/drivers/scsi/hisi_raid/hiraid_main.c
@@ -107,6 +107,13 @@ static u32 log_debug_switch;
module_param(log_debug_switch, uint, 0644);
MODULE_PARM_DESC(log_debug_switch, "set log state, default zero for switch off");
+static bool threaded_irq = true;
+module_param(threaded_irq, bool, 0444);
+MODULE_PARM_DESC(threaded_irq, "use threaded irq for io queue, default on");
+
+static u32 poll_delay_min = 9;
+static u32 poll_delay_max = 19;
+
static int extra_pool_num_set(const char *val, const struct kernel_param *kp)
{
u8 n = 0;
@@ -152,7 +159,7 @@ static struct workqueue_struct *work_queue;
__func__, ##__VA_ARGS__); \
} while (0)
-#define HIRAID_DRV_VERSION "1.1.0.1"
+#define HIRAID_DRV_VERSION "1.1.0.2"
#define ADMIN_TIMEOUT (admin_tmout * HZ)
#define USRCMD_TIMEOUT (180 * HZ)
@@ -1305,6 +1312,7 @@ static int hiraid_alloc_queue(struct hiraid_dev *hdev, u16 qid, u16 depth)
hiraidq->q_depth = depth;
hiraidq->qid = qid;
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
hdev->queue_count++;
return 0;
@@ -1631,6 +1639,39 @@ static irqreturn_t hiraid_handle_irq(int irq, void *data)
return ret;
}
+static irqreturn_t hiraid_io_poll(int irq, void *data)
+{
+ struct hiraid_queue *hiraidq = data;
+ irqreturn_t ret = IRQ_NONE;
+ u16 start, end;
+
+ do {
+ spin_lock(&hiraidq->cq_lock);
+ hiraid_process_cq(hiraidq, &start, &end, -1);
+ hiraidq->last_cq_head = hiraidq->cq_head;
+ spin_unlock(&hiraidq->cq_lock);
+
+ if (start != end) {
+ hiraid_complete_cqes(hiraidq, start, end);
+ ret = IRQ_HANDLED;
+ }
+ usleep_range(poll_delay_min, poll_delay_max);
+ } while (start != end);
+ enable_irq(hiraidq->pci_irq);
+ return ret;
+}
+
+static irqreturn_t hiraid_io_irq(int irq, void *data)
+{
+ struct hiraid_queue *q = data;
+
+ if (hiraid_cqe_pending(q)) {
+ disable_irq_nosync(q->pci_irq);
+ return IRQ_WAKE_THREAD;
+ }
+ return IRQ_NONE;
+}
+
static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
{
struct hiraid_queue *adminq = &hdev->queues[0];
@@ -1666,9 +1707,11 @@ static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
adminq->cq_vector = -1;
+ adminq->pci_irq = -1;
return ret;
}
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hiraid_init_queue(adminq, 0);
dev_info(hdev->dev, "setup admin queue success, queuecount[%d] online[%d] pagesize[%d]\n",
@@ -1937,14 +1980,23 @@ static int hiraid_create_queue(struct hiraid_queue *hiraidq, u16 qid)
goto delete_cq;
hiraidq->cq_vector = cq_vector;
- ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq, NULL,
- hiraidq, "hiraid%d_q%d", hdev->instance, qid);
+
+ if (threaded_irq)
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_io_irq,
+ hiraid_io_poll, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
+ else
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq,
+ NULL, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
if (ret) {
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
dev_err(hdev->dev, "request queue[%d] irq failed\n", qid);
goto delete_sq;
}
+ hiraidq->pci_irq = pci_irq_vector(hdev->pdev, hiraidq->cq_vector);
hiraid_init_queue(hiraidq, qid);
return 0;
@@ -2094,10 +2146,12 @@ static int hiraid_setup_io_queues(struct hiraid_dev *hdev)
adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
dev_err(hdev->dev, "request admin irq failed\n");
+ adminq->pci_irq = -1;
adminq->cq_vector = -1;
return ret;
}
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hdev->online_queues++;
for (i = hdev->queue_count; i <= hdev->max_qid; i++) {
--
2.45.1.windows.1
2
1
From: 岳智超 <yuezhichao1(a)h-partners.com>
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IDDE4S?from=project-issue
CVE: NA
--------------------------------
Add thread irq for io queue
Signed-off-by: 岳智超 <yuezhichao1(a)h-partners.com>
---
drivers/scsi/hisi_raid/hiraid.h | 1 +
drivers/scsi/hisi_raid/hiraid_main.c | 60 ++++++++++++++++++++++++++--
2 files changed, 58 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/hisi_raid/hiraid.h b/drivers/scsi/hisi_raid/hiraid.h
index 04b2e25..b786066 100644
--- a/drivers/scsi/hisi_raid/hiraid.h
+++ b/drivers/scsi/hisi_raid/hiraid.h
@@ -686,6 +686,7 @@ struct hiraid_queue {
atomic_t inflight;
void *sense_buffer_virt;
dma_addr_t sense_buffer_phy;
+ s32 pci_irq;
struct dma_pool *prp_small_pool;
};
diff --git a/drivers/scsi/hisi_raid/hiraid_main.c b/drivers/scsi/hisi_raid/hiraid_main.c
index 2f33339..ee5cb10 100644
--- a/drivers/scsi/hisi_raid/hiraid_main.c
+++ b/drivers/scsi/hisi_raid/hiraid_main.c
@@ -107,6 +107,13 @@ static u32 log_debug_switch;
module_param(log_debug_switch, uint, 0644);
MODULE_PARM_DESC(log_debug_switch, "set log state, default zero for switch off");
+static bool threaded_irq = true;
+module_param(threaded_irq, bool, 0444);
+MODULE_PARM_DESC(threaded_irq, "use threaded irq for io queue, default on");
+
+static u32 poll_delay_min = 9;
+static u32 poll_delay_max = 19;
+
static int extra_pool_num_set(const char *val, const struct kernel_param *kp)
{
u8 n = 0;
@@ -152,7 +159,7 @@ static struct workqueue_struct *work_queue;
__func__, ##__VA_ARGS__); \
} while (0)
-#define HIRAID_DRV_VERSION "1.1.0.1"
+#define HIRAID_DRV_VERSION "1.1.0.2"
#define ADMIN_TIMEOUT (admin_tmout * HZ)
#define USRCMD_TIMEOUT (180 * HZ)
@@ -1305,6 +1312,7 @@ static int hiraid_alloc_queue(struct hiraid_dev *hdev, u16 qid, u16 depth)
hiraidq->q_depth = depth;
hiraidq->qid = qid;
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
hdev->queue_count++;
return 0;
@@ -1631,6 +1639,39 @@ static irqreturn_t hiraid_handle_irq(int irq, void *data)
return ret;
}
+static irqreturn_t hiraid_io_poll(int irq, void *data)
+{
+ struct hiraid_queue *hiraidq = data;
+ irqreturn_t ret = IRQ_NONE;
+ u16 start, end;
+
+ do {
+ spin_lock(&hiraidq->cq_lock);
+ hiraid_process_cq(hiraidq, &start, &end, -1);
+ hiraidq->last_cq_head = hiraidq->cq_head;
+ spin_unlock(&hiraidq->cq_lock);
+
+ if (start != end) {
+ hiraid_complete_cqes(hiraidq, start, end);
+ ret = IRQ_HANDLED;
+ }
+ usleep_range(poll_delay_min, poll_delay_max);
+ } while (start != end);
+ enable_irq(hiraidq->pci_irq);
+ return ret;
+}
+
+static irqreturn_t hiraid_io_irq(int irq, void *data)
+{
+ struct hiraid_queue *q = data;
+
+ if (hiraid_cqe_pending(q)) {
+ disable_irq_nosync(q->pci_irq);
+ return IRQ_WAKE_THREAD;
+ }
+ return IRQ_NONE;
+}
+
static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
{
struct hiraid_queue *adminq = &hdev->queues[0];
@@ -1666,9 +1707,11 @@ static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
adminq->cq_vector = -1;
+ adminq->pci_irq = -1;
return ret;
}
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hiraid_init_queue(adminq, 0);
dev_info(hdev->dev, "setup admin queue success, queuecount[%d] online[%d] pagesize[%d]\n",
@@ -1937,14 +1980,23 @@ static int hiraid_create_queue(struct hiraid_queue *hiraidq, u16 qid)
goto delete_cq;
hiraidq->cq_vector = cq_vector;
- ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq, NULL,
- hiraidq, "hiraid%d_q%d", hdev->instance, qid);
+
+ if (threaded_irq)
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_io_irq,
+ hiraid_io_poll, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
+ else
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq,
+ NULL, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
if (ret) {
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
dev_err(hdev->dev, "request queue[%d] irq failed\n", qid);
goto delete_sq;
}
+ hiraidq->pci_irq = pci_irq_vector(hdev->pdev, hiraidq->cq_vector);
hiraid_init_queue(hiraidq, qid);
return 0;
@@ -2094,10 +2146,12 @@ static int hiraid_setup_io_queues(struct hiraid_dev *hdev)
adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
dev_err(hdev->dev, "request admin irq failed\n");
+ adminq->pci_irq = -1;
adminq->cq_vector = -1;
return ret;
}
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hdev->online_queues++;
for (i = hdev->queue_count; i <= hdev->max_qid; i++) {
--
2.45.1.windows.1
2
1
From: 岳智超 <yuezhichao1(a)h-partners.com>
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IDDE4S?from=project-issue
CVE: NA
--------------------------------
Add thread irq for io queue
Signed-off-by: 岳智超 <yuezhichao1(a)h-partners.com>
---
drivers/scsi/hisi_raid/hiraid.h | 1 +
drivers/scsi/hisi_raid/hiraid_main.c | 61 ++++++++++++++++++++++++++--
2 files changed, 58 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/hisi_raid/hiraid.h b/drivers/scsi/hisi_raid/hiraid.h
index 1ebc3dd..bc4e05a 100644
--- a/drivers/scsi/hisi_raid/hiraid.h
+++ b/drivers/scsi/hisi_raid/hiraid.h
@@ -683,6 +683,7 @@ struct hiraid_queue {
atomic_t inflight;
void *sense_buffer_virt;
dma_addr_t sense_buffer_phy;
+ s32 pci_irq;
struct dma_pool *prp_small_pool;
};
diff --git a/drivers/scsi/hisi_raid/hiraid_main.c b/drivers/scsi/hisi_raid/hiraid_main.c
index f84182f..ee25893 100644
--- a/drivers/scsi/hisi_raid/hiraid_main.c
+++ b/drivers/scsi/hisi_raid/hiraid_main.c
@@ -107,6 +107,13 @@ static u32 log_debug_switch;
module_param(log_debug_switch, uint, 0644);
MODULE_PARM_DESC(log_debug_switch, "set log state, default zero for switch off");
+static bool threaded_irq = true;
+module_param(threaded_irq, bool, 0444);
+MODULE_PARM_DESC(threaded_irq, "use threaded irq for io queue, default on");
+
+static u32 poll_delay_min = 9;
+static u32 poll_delay_max = 19;
+
static int extra_pool_num_set(const char *val, const struct kernel_param *kp)
{
u8 n = 0;
@@ -153,7 +160,7 @@ static struct workqueue_struct *work_queue;
__func__, ##__VA_ARGS__); \
} while (0)
-#define HIRAID_DRV_VERSION "1.1.0.0"
+#define HIRAID_DRV_VERSION "1.1.0.1"
#define ADMIN_TIMEOUT (admin_tmout * HZ)
#define USRCMD_TIMEOUT (180 * HZ)
@@ -1305,6 +1312,7 @@ static int hiraid_alloc_queue(struct hiraid_dev *hdev, u16 qid, u16 depth)
hiraidq->q_depth = depth;
hiraidq->qid = qid;
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
hdev->queue_count++;
return 0;
@@ -1646,6 +1654,39 @@ static irqreturn_t hiraid_handle_irq(int irq, void *data)
return ret;
}
+static irqreturn_t hiraid_io_poll(int irq, void *data)
+{
+ struct hiraid_queue *hiraidq = data;
+ irqreturn_t ret = IRQ_NONE;
+ u16 start, end;
+
+ do {
+ spin_lock(&hiraidq->cq_lock);
+ hiraid_process_cq(hiraidq, &start, &end, -1);
+ hiraidq->last_cq_head = hiraidq->cq_head;
+ spin_unlock(&hiraidq->cq_lock);
+
+ if (start != end) {
+ hiraid_complete_cqes(hiraidq, start, end);
+ ret = IRQ_HANDLED;
+ }
+ usleep_range(poll_delay_min, poll_delay_max);
+ } while (start != end);
+ enable_irq(hiraidq->pci_irq);
+ return ret;
+}
+
+static irqreturn_t hiraid_io_irq(int irq, void *data)
+{
+ struct hiraid_queue *q = data;
+
+ if (hiraid_cqe_pending(q)) {
+ disable_irq_nosync(q->pci_irq);
+ return IRQ_WAKE_THREAD;
+ }
+ return IRQ_NONE;
+}
+
static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
{
struct hiraid_queue *adminq = &hdev->queues[0];
@@ -1681,9 +1722,11 @@ static int hiraid_setup_admin_queue(struct hiraid_dev *hdev)
NULL, adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
adminq->cq_vector = -1;
+ adminq->pci_irq = -1;
return ret;
}
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hiraid_init_queue(adminq, 0);
dev_info(hdev->dev, "setup admin queue success, queuecount[%d] online[%d] pagesize[%d]\n",
@@ -1958,14 +2001,23 @@ static int hiraid_create_queue(struct hiraid_queue *hiraidq, u16 qid)
goto delete_cq;
hiraidq->cq_vector = cq_vector;
- ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq, NULL,
- hiraidq, "hiraid%d_q%d", hdev->instance, qid);
+ if (threaded_irq)
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_io_irq,
+ hiraid_io_poll, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
+ else
+ ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq,
+ NULL, hiraidq, "hiraid%d_q%d",
+ hdev->instance, qid);
+
if (ret) {
hiraidq->cq_vector = -1;
+ hiraidq->pci_irq = -1;
dev_err(hdev->dev, "request queue[%d] irq failed\n", qid);
goto delete_sq;
}
+ hiraidq->pci_irq = pci_irq_vector(hdev->pdev, hiraidq->cq_vector);
hiraid_init_queue(hiraidq, qid);
return 0;
@@ -2122,10 +2174,11 @@ static int hiraid_setup_io_queues(struct hiraid_dev *hdev)
adminq, "hiraid%d_q%d", hdev->instance, adminq->qid);
if (ret) {
dev_err(hdev->dev, "request admin irq failed\n");
+ adminq->pci_irq = -1;
adminq->cq_vector = -1;
return ret;
}
-
+ adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector);
hdev->online_queues++;
for (i = hdev->queue_count; i <= hdev->max_qid; i++) {
--
2.45.1.windows.1
2
2
[openeuler:OLK-6.6] BUILD REGRESSION 04473ee9ed912a16fff0d8846ad565bbf3d63c77
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 04473ee9ed912a16fff0d8846ad565bbf3d63c77 add migrate not
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202511241700.GqFsj3QM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202511250630.aTlUN4lt-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202511252147.paqMgpCw-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202511260440.XtGIX1Qz-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202511280702.XVMyBDu0-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202511281657.lWcX7PhK-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202511281845.H2cg7rYT-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202511282009.VCbXC9Zw-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202511282111.LvHs2qlX-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202511282349.cceTk3rf-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512091138.u8NXXfZk-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512091141.r06Y9a5w-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512091204.Q8mSD8MC-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512110235.L883ZLLi-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512110548.FQDvrNPq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512110609.FoW9BdOr-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512110700.3emRQ7Un-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512110706.bkOqQiMM-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512110945.4orBvyVq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512111142.MddOammZ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512111243.5gbg71Im-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512111912.9dS3N6D9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512112035.fGJa8Hzw-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512120305.ngE1OnFo-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512120744.b8phlWWR-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512121402.K1KWDJc7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512121829.l6WBMb9f-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512122024.MnPMvwJ8-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512122109.Sy1IvzI5-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512130131.7HrtXRUl-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512130255.5pbCemhg-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512130435.BO31TiNF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512131040.ErvjOWkV-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512132253.yDHpZZhf-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512140527.ZQJQrPyG-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512151347.pYQgm67P-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512151406.uDEczUki-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512151453.z27gHP7d-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512151653.mAEBFOna-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202109.DOPKqwQT-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202121.96JSWGZX-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202127.FExeoFRI-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202204.7yVczgx9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202204.UJ7VQphR-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202208.UvUcLQzT-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202220.cTtDMo8F-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202249.7ZNqNGWi-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202305.zGRxHl6E-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202331.85546LYE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512202332.cPVupLsK-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210010.kLb4fmr8-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210018.ZcEdgI6o-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210031.v4yKIJFE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210038.6F02IwRo-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210041.NZ084FEx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210106.IqHUCCpt-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210108.l9B1EKna-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210133.hQCBSnrQ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210228.QnsbClZ7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210308.eEv9d6co-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210339.nHxRhG7l-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210351.fZ2BxCPV-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210402.xNA4HhAd-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210422.Gfg4tcZV-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210450.P2GW20wS-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210513.adq7k77G-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210747.245hMJvq-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210813.VozNt0tS-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512210938.tNGRHg5O-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512211025.4cSwOTdS-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512211148.JPQqoPy8-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202512211327.X52XldqR-lkp@intel.com
arch/arm64/kernel/cpufeature.c:2129:13: warning: 'enable_pseudo_nmi' defined but not used [-Wunused-variable]
arch/arm64/kernel/cpufeature.c:2129:13: warning: unused variable 'enable_pseudo_nmi' [-Wunused-variable]
arch/arm64/kvm/arm.c:569:5: warning: no previous prototype for 'kvm_arch_rec_init' [-Wmissing-prototypes]
arch/arm64/kvm/cca_base.c:52:6: warning: no previous prototype for 'set_cca_cvm_type' [-Wmissing-prototypes]
arch/x86/kernel/cpu/proc.c:63:5: warning: no previous prototype for 'show_cpuinfo' [-Wmissing-prototypes]
arch/x86/kernel/cpu/proc.c:63:5: warning: no previous prototype for function 'show_cpuinfo' [-Wmissing-prototypes]
arch/x86/kernel/early-quirks.c:722:6: warning: no previous prototype for 'is_zhaoxin_kh40000' [-Wmissing-prototypes]
arch/x86/kernel/early-quirks.c:722:6: warning: no previous prototype for function 'is_zhaoxin_kh40000' [-Wmissing-prototypes]
arch/x86/kernel/early-quirks.c:727:34: warning: no previous prototype for 'kh40000_get_direct_dma_ops' [-Wmissing-prototypes]
arch/x86/kernel/early-quirks.c:727:34: warning: no previous prototype for function 'kh40000_get_direct_dma_ops' [-Wmissing-prototypes]
arch/x86/kvm/svm/csv.c:1196: warning: Function parameter or member 'argp' not described in 'csv3_launch_encrypt_data_alt_1'
arch/x86/kvm/svm/csv.c:1196: warning: Function parameter or member 'kvm' not described in 'csv3_launch_encrypt_data_alt_1'
arch/x86/kvm/svm/csv.c:1319: warning: Function parameter or member 'argp' not described in '__csv3_launch_encrypt_data'
arch/x86/kvm/svm/csv.c:1319: warning: Function parameter or member 'end_pgoff' not described in '__csv3_launch_encrypt_data'
arch/x86/kvm/svm/csv.c:1319: warning: Function parameter or member 'kvm' not described in '__csv3_launch_encrypt_data'
arch/x86/kvm/svm/csv.c:1319: warning: Function parameter or member 'params' not described in '__csv3_launch_encrypt_data'
arch/x86/kvm/svm/csv.c:1319: warning: Function parameter or member 'src_buf' not described in '__csv3_launch_encrypt_data'
arch/x86/kvm/svm/csv.c:1319: warning: Function parameter or member 'start_pgoff' not described in '__csv3_launch_encrypt_data'
arch/x86/kvm/svm/csv.c:1436: warning: Function parameter or member 'argp' not described in 'csv3_launch_encrypt_data_alt_2'
arch/x86/kvm/svm/csv.c:1436: warning: Function parameter or member 'kvm' not described in 'csv3_launch_encrypt_data_alt_2'
block/blk-cgroup.c:2320:18: warning: no previous prototype for function 'bpf_blkcg_get_dev_iostat' [-Wmissing-prototypes]
block/genhd.c:100:6: warning: no previous prototype for 'part_stat_read_all' [-Wmissing-prototypes]
block/genhd.c:100:6: warning: no previous prototype for function 'part_stat_read_all' [-Wmissing-prototypes]
clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag' [-Wmissing-include-dirs]
crypto/asymmetric_keys/pgp_library.c:189: warning: Excess function parameter '_data' description in 'pgp_parse_packets'
crypto/asymmetric_keys/pgp_library.c:189: warning: Excess function parameter '_datalen' description in 'pgp_parse_packets'
crypto/asymmetric_keys/pgp_library.c:189: warning: Function parameter or member 'data' not described in 'pgp_parse_packets'
crypto/asymmetric_keys/pgp_library.c:189: warning: Function parameter or member 'datalen' not described in 'pgp_parse_packets'
drivers/ata/ahci_zhaoxin_sgpio.c:31:5: warning: no previous prototype for function 'ahci_wait_em_reset' [-Wmissing-prototypes]
drivers/ata/ahci_zhaoxin_sgpio.c:55:6: warning: no previous prototype for function 'ahci_zhaoxin_set_em_sgpio' [-Wmissing-prototypes]
drivers/ata/ahci_zhaoxin_sgpio.c:601:6: warning: no previous prototype for function 'set_em_messages' [-Wmissing-prototypes]
drivers/ata/ahci_zhaoxin_sgpio.c:621:5: warning: no previous prototype for function 'add_sgpio_zhaoxin' [-Wmissing-prototypes]
drivers/ata/ahci_zhaoxin_sgpio.c:99:6: warning: no previous prototype for function 'ahci_zhaoxin_set_em_sgpio_gpmode' [-Wmissing-prototypes]
drivers/ata/libahci.c:210:5: warning: no previous prototype for function 'get_ahci_em_messages' [-Wmissing-prototypes]
drivers/block/drbd/drbd_bitmap.c:1232: warning: Function parameter or member 'peer_device' not described in 'drbd_bm_write'
drivers/clk/renesas/r9a06g032-clocks.c:147: warning: Function parameter or member 'dual' not described in 'r9a06g032_clkdesc'
drivers/clocksource/arm_arch_timer.c:371:33: warning: unused variable 'hisi_165010801_oem_info' [-Wunused-variable]
drivers/cpufreq/acpi-cpufreq.c:638:13: warning: 'sched_set_itmt' defined but not used [-Wunused-function]
drivers/cpufreq/cppc_cpufreq.c:852:19: error: invalid use of undefined type 'struct fb_ctr_pair'
drivers/cpufreq/cppc_cpufreq.c:866:21: warning: unused variable 'fb_ctrs' [-Wunused-variable]
drivers/cpufreq/cppc_cpufreq.c:866:34: error: 'struct fb_ctr_pair' has no member named 'cpu'
drivers/cpufreq/cppc_cpufreq.c:866:40: warning: excess elements in struct initializer
drivers/cpufreq/cppc_cpufreq.c:866:9: error: variable 'fb_ctrs' has initializer but incomplete type
drivers/crypto/ccp/ccp-crypto-sm2-hygon.c:127:25: sparse: sparse: cast to restricted __be64
drivers/crypto/ccp/ccp-crypto-sm2-hygon.c:150:22: sparse: sparse: incorrect type in assignment (different base types)
drivers/crypto/ccp/ccp-crypto-sm2-hygon.c:202:25: sparse: sparse: cast to restricted __be32
drivers/crypto/ccp/ccp-crypto-sm2-hygon.c:212:32: sparse: sparse: incorrect type in assignment (different base types)
drivers/crypto/ccp/hygon/ccp-dev-v5.c:294:23: sparse: sparse: incorrect type in assignment (different base types)
drivers/crypto/ccp/hygon/ccp-dev-v5.c:294:25: sparse: sparse: cast from restricted __le32
drivers/crypto/ccp/hygon/ccp-dev-v5.c:490:40: sparse: sparse: incorrect type in assignment (different base types)
drivers/crypto/ccp/hygon/ccp-dev-v5.c:491:40: sparse: sparse: incorrect type in assignment (different base types)
drivers/crypto/ccp/hygon/ccp-mdev.c:1144:15: warning: no previous prototype for function 'ccp_pin_memory' [-Wmissing-prototypes]
drivers/crypto/ccp/hygon/csv-dev.c:814: warning: Function parameter or member 'api_minor' not described in 'user_data_status'
drivers/crypto/ccp/hygon/hct.c:1333:15: warning: no previous prototype for function 'hct_pin_memory' [-Wmissing-prototypes]
drivers/crypto/ccp/hygon/hct.c:1427:15: warning: no previous prototype for function 'hct_pin_memory' [-Wmissing-prototypes]
drivers/crypto/ccp/hygon/psp-dev.c:30:5: warning: no previous prototype for function 'psp_mutex_init' [-Wmissing-prototypes]
drivers/crypto/ccp/hygon/tdm-kernel-guard.c:151:5: warning: no previous prototype for function 'tdm_service_run' [-Wmissing-prototypes]
drivers/crypto/ccp/hygon/tdm-kernel-guard.c:212:5: warning: no previous prototype for function 'tdm_service_exit' [-Wmissing-prototypes]
drivers/crypto/ccp/hygon/vpsp.c:1024:5: warning: no previous prototype for function 'vpsp_do_cmd' [-Wmissing-prototypes]
drivers/crypto/ccp/hygon/vpsp.c:1055:5: warning: no previous prototype for function 'vpsp_do_cmd' [-Wmissing-prototypes]
drivers/crypto/ccp/hygon/vpsp.c:65: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/crypto/ccp/hygon/vpsp.c:773:6: warning: no previous prototype for function 'vpsp_set_default_vid_permission' [-Wmissing-prototypes]
drivers/crypto/ccp/hygon/vpsp.c:92: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/dax/super.c:45: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'dax_device'
drivers/gpu/drm/phytium/pe220x_dc.c:110:6: warning: no previous prototype for function 'pe220x_dc_hw_reset' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/pe220x_dc.c:270:6: warning: no previous prototype for function 'pe220x_dc_hw_update_primary_hi_addr' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/pe220x_dc.c:287:6: warning: no previous prototype for function 'pe220x_dc_hw_update_cursor_hi_addr' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/pe220x_dc.c:93:6: warning: no previous prototype for function 'pe220x_dc_hw_config_pix_clock' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/pe220x_dp.c:470:5: warning: no previous prototype for function 'pe220x_dp_hw_reset' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_crtc.c:174:1: warning: no previous prototype for function 'phytium_crtc_atomic_duplicate_state' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_crtc.c:189:1: warning: no previous prototype for function 'phytium_crtc_atomic_destroy_state' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_debugfs.c:376:5: warning: no previous prototype for function 'phytium_debugfs_connector_add' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:1033:6: warning: no previous prototype for function 'phytium_dp_hw_hpd_irq_setup' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:1451:5: warning: no previous prototype for function 'phytium_dp_get_link_train_fallback_values' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:1500:5: warning: no previous prototype for function 'phytium_dp_start_link_train' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:1815:6: warning: no previous prototype for function 'phytium_dp_hpd_poll_handler' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:1962:6: warning: no previous prototype for function 'phytium_dp_fast_link_train' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:2153:6: warning: no previous prototype for function 'phytium_dp_adjust_link_train_parameter' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:2213:1: warning: no previous prototype for function 'phytium_encoder_mode_valid' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:2482:5: warning: no previous prototype for function 'phytium_get_encoder_crtc_mask' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:656:6: warning: no previous prototype for function 'phytium_dp_hw_enable_audio' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:825:6: warning: no previous prototype for function 'phytium_dp_hw_disable_video' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:963:6: warning: no previous prototype for function 'phytium_dp_hw_enable_output' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:975:6: warning: no previous prototype for function 'phytium_dp_hw_enable_input_source' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:986:6: warning: no previous prototype for function 'phytium_dp_hw_disable_input_source' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_dp.c:996:6: warning: no previous prototype for function 'phytium_dp_hw_output_is_enable' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_fbdev.c:108:5: warning: no previous prototype for function 'phytium_drm_fbdev_init' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_gem.c:186:5: warning: no previous prototype for function 'phytium_dma_transfer' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_panel.c:234:6: warning: no previous prototype for function 'phytium_dp_panel_release_backlight_funcs' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_pci.c:115:5: warning: no previous prototype for function 'phytium_pci_dma_init' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_pci.c:24:6: warning: no previous prototype for function 'phytium_pci_vram_hw_init' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_plane.c:30:6: warning: no previous prototype for function 'phytium_plane_destroy' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/phytium_plane.c:82:1: warning: no previous prototype for function 'phytium_plane_atomic_duplicate_state' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/px210_dc.c:244:6: warning: no previous prototype for function 'px210_dc_hw_plane_get_primary_format' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/px210_dc.c:253:6: warning: no previous prototype for function 'px210_dc_hw_plane_get_cursor_format' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/px210_dc.c:262:6: warning: no previous prototype for function 'px210_dc_hw_update_dcreq' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/px210_dc.c:319:6: warning: no previous prototype for function 'px210_dc_hw_update_primary_hi_addr' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/px210_dc.c:71:6: warning: no previous prototype for function 'px210_dc_hw_vram_init' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/px210_dp.c:852:6: warning: no previous prototype for function 'px210_dp_hw_spread_is_enable' [-Wmissing-prototypes]
drivers/gpu/drm/phytium/px210_dp.c:864:5: warning: no previous prototype for function 'px210_dp_hw_reset' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:176:5: warning: no previous prototype for function 'zxi2c_fifo_irq_xfer' [-Wmissing-prototypes]
drivers/i2c/busses/i2c-zhaoxin.c:314:5: warning: no previous prototype for function 'zxi2c_xfer' [-Wmissing-prototypes]
drivers/infiniband/hw/bnxt_re/ib_verbs.c:2928:24: warning: variable 'nq' set but not used [-Wunused-but-set-variable]
drivers/irqchip/irq-gic-v3-its.c:392:15: warning: no previous prototype for 'gic_data_rdist_get_vlpi_base' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:1526:6: warning: no previous prototype for 'gic_dist_enable_ipiv' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3.c:561:6: warning: no previous prototype for function 'gic_irq_set_prio' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic/hinic_api_cmd.c:1001:46: sparse: sparse: incorrect type in argument 4 (different base types)
drivers/net/ethernet/huawei/hinic/hinic_api_cmd.c:161:31: sparse: sparse: cast to restricted __be64
drivers/net/ethernet/huawei/hinic/hinic_api_cmd.c:244:20: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_api_cmd.c:305:20: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_api_cmd.c:355:20: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/huawei/hinic/hinic_api_cmd.c:783:41: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_api_cmd.c:816:37: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_api_cmd.c:894:43: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:1823:5: sparse: sparse: symbol 'cfg_set_func_sf_en' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:1866:5: sparse: sparse: symbol 'cfg_get_func_sf_en' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:38:6: sparse: sparse: symbol 'g_rdma_mtts_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:39:6: sparse: sparse: symbol 'g_rdma_qps_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:40:6: sparse: sparse: symbol 'g_rdma_mpts_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:41:6: sparse: sparse: symbol 'g_vfs_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:55:6: sparse: sparse: symbol 'g_test_qpc_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:56:6: sparse: sparse: symbol 'g_test_qpc_resvd_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:57:6: sparse: sparse: symbol 'g_test_pagesize_reorder' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:58:6: sparse: sparse: symbol 'g_test_xid_alloc_mode' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:59:6: sparse: sparse: symbol 'g_test_gpa_check_enable' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:60:6: sparse: sparse: symbol 'g_test_qpc_alloc_mode' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:61:6: sparse: sparse: symbol 'g_test_scqc_alloc_mode' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:62:6: sparse: sparse: symbol 'g_test_max_conn' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:63:6: sparse: sparse: symbol 'g_test_max_cache_conn' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:64:6: sparse: sparse: symbol 'g_test_scqc_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:65:6: sparse: sparse: symbol 'g_test_mpt_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:66:6: sparse: sparse: symbol 'g_test_mpt_resvd' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:67:6: sparse: sparse: symbol 'g_test_scq_resvd' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:68:6: sparse: sparse: symbol 'g_test_hash_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cfg.c:69:6: sparse: sparse: symbol 'g_test_reorder_num' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cmdq.c:1297:31: sparse: sparse: cast to restricted __be64
drivers/net/ethernet/huawei/hinic/hinic_cmdq.c:1367:23: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_cmdq.c:1384:5: sparse: sparse: symbol 'hinic_set_cmdq_ctxts' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_cmdq.c:369:20: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_cmdq.c:372:28: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/hinic/hinic_cmdq.c:372:28: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_cmdq.c:513:31: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/huawei/hinic/hinic_cmdq.c:519:40: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_dbgtool_knl.c:205:51: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_dbgtool_knl.c:219:44: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_dbgtool_knl.c:375:37: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_dbgtool_knl.c:394:37: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_dbgtool_knl.c:459:54: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_dbgtool_knl.c:480:44: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_dbgtool_knl.c:487:44: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_dbgtool_knl.c:548:37: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_dcb.c:103:19: error: invalid application of 'sizeof' to an incomplete type 'struct ieee_ets'
drivers/net/ethernet/huawei/hinic/hinic_dcb.c:1201:4: sparse: sparse: symbol 'hinic_dcbnl_set_all' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_dcb.c:1601:5: sparse: sparse: symbol '__set_cos_up_map' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_dcb.c:258:6: sparse: sparse: symbol 'hinic_set_prio_tc_map' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_dcb.c:62:6: sparse: sparse: symbol 'hinic_dcb_config_init' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_dcb.c:95:6: sparse: sparse: symbol 'hinic_init_ieee_settings' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_eqs.c:391: warning: expecting prototype for hinic_aeq_unregister_sw_cb(). Prototype was for hinic_aeq_unregister_swe_cb() instead
drivers/net/ethernet/huawei/hinic/hinic_eqs.c:417: warning: expecting prototype for hinic_ceq_register_sw_cb(). Prototype was for hinic_ceq_register_cb() instead
drivers/net/ethernet/huawei/hinic/hinic_eqs.c:524:29: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/huawei/hinic/hinic_eqs.c:544:37: sparse: sparse: cast to restricted __be64
drivers/net/ethernet/huawei/hinic/hinic_eqs.c:902:25: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_eqs.c:920:28: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_ethtool.c:1858:6: sparse: sparse: symbol 'hinic_lp_test' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_ethtool.c:2271:54: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:1061:5: sparse: sparse: symbol 'hinic_msg_to_mgmt_no_ack' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:1153:22: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:1175:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:1978:5: sparse: sparse: symbol 'comm_pf_mbox_handler' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:227:5: sparse: sparse: symbol 'hinic_hw_rx_buf_size' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:2749:5: sparse: sparse: symbol 'hinic_ppf_ht_gpa_init' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:2795:6: sparse: sparse: symbol 'hinic_ppf_ht_gpa_deinit' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:4581:5: sparse: sparse: symbol '_set_led_status' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:4667:5: sparse: sparse: symbol 'hinic_get_phy_init_status' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:4934:21: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:4994:18: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_hwdev.c:583:28: sparse: sparse: symbol 'hw_cmd_support_vf' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_hwif.c:40:16: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/huawei/hinic/hinic_hwif.c:46:16: sparse: sparse: incorrect type in argument 1 (different base types)
drivers/net/ethernet/huawei/hinic/hinic_hwif.c:592:29: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_hwif.c:593:30: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_hwif.c:596:23: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_hwif.c:664:64: sparse: sparse: incorrect type in argument 4 (different base types)
drivers/net/ethernet/huawei/hinic/hinic_hwif.c:717: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/huawei/hinic/hinic_lld.c:1139:6: sparse: sparse: symbol 'hinic_get_ppf_hwdev_by_pdev' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_lld.c:133:1: sparse: sparse: symbol 'g_hinic_chip_list' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_lld.c:1448:19: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/huawei/hinic/hinic_lld.c:1785:57: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/hinic/hinic_lld.c:1896:6: sparse: sparse: symbol 'hinic_event_process' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_lld.c:1950:53: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_lld.c:2381:32: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_lld.c:2382:33: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_lld.c:2383:27: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_lld.c:447:6: sparse: sparse: symbol 'hinic_init_syncfw_timer' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_lld.c:462:6: sparse: sparse: symbol 'hinic_destroy_syncfw_timer' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_lld.c:505:31: sparse: sparse: symbol 'ver_incompat_table' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_lld.c:550:5: sparse: sparse: symbol 'hinic_version_cmp' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_lld.c:744:29: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_lld.c:745:24: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_lld.c:746:26: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_main.c:182:5: sparse: sparse: symbol 'hinic_netdev_event' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_main.c:182:5: warning: no previous prototype for 'hinic_netdev_event' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic/hinic_main.c:230:1: sparse: sparse: symbol 'g_hinic_netdev_notifiers_mutex' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_mbox.c:1009:6: sparse: sparse: symbol 'dump_mox_reg' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_mbox.c:1024:22: sparse: sparse: cast to restricted __be64
drivers/net/ethernet/huawei/hinic/hinic_mbox.c:1567:25: sparse: sparse: incorrect type in assignment (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_mbox.c:373: warning: expecting prototype for hinic_unregister_ppf_mbox_cb(). Prototype was for hinic_unregister_pf_mbox_cb() instead
drivers/net/ethernet/huawei/hinic/hinic_mbox.c:796:5: sparse: sparse: symbol 'set_vf_mbox_random_id' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_mbox.c:846:6: sparse: sparse: symbol 'check_vf_mbox_random_id' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_mbox.c:872:21: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/huawei/hinic/hinic_mbox.c:951:54: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_multi_host_mgmt.c:629:6: sparse: sparse: symbol 'comm_ppf_to_pf_handler' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_multi_host_mgmt.c:647:5: sparse: sparse: symbol 'hinic_nic_ppf_mbox_handler' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_multi_host_mgmt.c:656:6: sparse: sparse: symbol 'hinic_nic_ppf_to_pf_handler' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_multi_host_mgmt.c:665:5: sparse: sparse: symbol 'hinic_register_slave_ppf' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:1740:30: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:1743:23: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:1745:22: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:1949:31: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:1968:27: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:2622:5: sparse: sparse: symbol 'nic_pf_mbox_handler' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:3623:5: sparse: sparse: symbol 'hw_speed_convert' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:531:5: sparse: sparse: symbol 'hinic_hiovs_set_cpath_vlan' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:557:5: sparse: sparse: symbol 'hinic_hiovs_del_cpath_vlan' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c:98:28: sparse: sparse: symbol 'nic_cmd_support_vf' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nic_dbg.c:102:24: sparse: sparse: incorrect type in return expression (different base types)
drivers/net/ethernet/huawei/hinic/hinic_nic_dbg.c:161:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/hinic/hinic_nic_dev.h:212:19: error: field has incomplete type 'struct ieee_pfc'
drivers/net/ethernet/huawei/hinic/hinic_nic_io.c:1028:27: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_nic_io.c:362:6: sparse: sparse: symbol 'hinic_qp_prepare_cmdq_header' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nic_io.c:381:6: sparse: sparse: symbol 'hinic_sq_prepare_ctxt' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nic_io.c:395:24: sparse: sparse: cast to restricted __be64
drivers/net/ethernet/huawei/hinic/hinic_nic_io.c:443:6: sparse: sparse: symbol 'hinic_rq_prepare_ctxt' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nic_io.c:897:16: sparse: sparse: cast to restricted __be16
drivers/net/ethernet/huawei/hinic/hinic_nic_io.c:967:23: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_nic_io.c:971:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/hinic/hinic_nic_io.c:971:31: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:115:43: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:1714:35: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:182:32: sparse: sparse: incorrect type in argument 1 (different address spaces)
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:698:5: sparse: sparse: symbol 'get_pfc_info' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:720:5: sparse: sparse: symbol 'set_pfc_control' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:752:5: sparse: sparse: symbol 'set_ets' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:827:5: sparse: sparse: symbol 'get_support_up' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:855:5: sparse: sparse: symbol 'get_support_tc' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:875:5: sparse: sparse: symbol 'get_ets_info' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_nictool.c:893:5: sparse: sparse: symbol 'set_pfc_priority' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_qp.c:49:26: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/huawei/hinic/hinic_qp.c:85:21: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_rx.c:149:44: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_rx.c:151:43: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_rx.c:171:6: sparse: sparse: symbol 'hinic_rx_free_buffers' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_rx.c:560:6: sparse: sparse: symbol 'rx_pass_super_cqe' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_sml_counter.c:28:23: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_sml_counter.c:41:25: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_sml_counter.c:44:21: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_sml_lt.c:158:28: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_sml_lt.c:274:35: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_sml_lt.c:275:35: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_sml_lt.c:56:21: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_sml_lt.c:68:20: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_sml_lt.c:87:26: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_tx.c:1100:5: sparse: sparse: symbol 'hinic_stop_sq' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_tx.c:112:28: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_tx.c:113:28: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_tx.c:114:25: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_tx.c:551:35: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/huawei/hinic/hinic_tx.c:913:5: sparse: sparse: symbol 'hinic_setup_tx_wqe' was not declared. Should it be static?
drivers/net/ethernet/huawei/hinic/hinic_wq.c:206:54: sparse: sparse: incorrect type in argument 4 (different base types)
drivers/net/ethernet/huawei/hinic/hinic_wq.c:212:24: sparse: sparse: incorrect type in assignment (different base types)
drivers/net/ethernet/huawei/hinic/hinic_wq.c:583:16: sparse: sparse: cast to restricted __be64
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bat_cla.c:893:28: warning: '%s' directive output may be truncated writing up to 63 bytes into a region of size 15 [-Wformat-truncation=]
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1055: warning: expecting prototype for Prototype(). Prototype was for cqm_bitmap_alloc() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1108: warning: expecting prototype for Prototype(). Prototype was for cqm_bitmap_alloc_low2bit_align() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1154: warning: expecting prototype for Prototype(). Prototype was for cqm_bitmap_alloc_reserved() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1189: warning: expecting prototype for Prototype(). Prototype was for cqm_bitmap_free() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:119: warning: expecting prototype for Prototype(). Prototype was for cqm_check_align() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1212: warning: expecting prototype for Prototype(). Prototype was for cqm_single_object_table_init() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1232: warning: expecting prototype for Prototype(). Prototype was for cqm_object_table_init() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1299: warning: expecting prototype for Prototype(). Prototype was for cqm_object_table_uninit() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1334: warning: expecting prototype for Prototype(). Prototype was for cqm_object_table_insert() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1376: warning: expecting prototype for Prototype(). Prototype was for cqm_object_table_remove() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:1413: warning: expecting prototype for Prototype(). Prototype was for cqm_object_table_get() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:155: warning: expecting prototype for Prototype(). Prototype was for cqm_kmalloc_align() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:187: warning: expecting prototype for Prototype(). Prototype was for cqm_kfree_align() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:474: warning: expecting prototype for Prototype(). Prototype was for cqm_buf_alloc() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:51: warning: expecting prototype for Prototype(). Prototype was for cqm_swab64() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:545: warning: expecting prototype for Prototype(). Prototype was for cqm_buf_free() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:74: warning: expecting prototype for Prototype(). Prototype was for cqm_swab32() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:771: warning: expecting prototype for Prototype(). Prototype was for cqm_single_bitmap_init() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:841: warning: expecting prototype for Prototype(). Prototype was for cqm_bitmap_init() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:937: warning: expecting prototype for Prototype(). Prototype was for cqm_bitmap_uninit() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:96: warning: expecting prototype for Prototype(). Prototype was for cqm_shift() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:975: warning: expecting prototype for Prototype(). Prototype was for cqm_bitmap_check_range() instead
drivers/net/ethernet/huawei/hinic3/cqm/cqm_main.c:1159:6: warning: '%s' directive output may be truncated writing up to 63 bytes into a region of size 15 [-Wformat-truncation=]
drivers/net/ethernet/huawei/hinic3/hinic3_ethtool.c:823:5: warning: no previous prototype for 'hinic3_set_rxq_recovery_flag' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:548:38: warning: ', rx power: ' directive output may be truncated writing 12 bytes into a region of size between 1 and 512 [-Wformat-truncation=]
drivers/net/ethernet/huawei/hinic3/hinic3_tx.c:395:5: warning: no previous prototype for 'hinic3_tx_offload' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1860:22: warning: assignment to 'int (*)(struct pci_dev *)' from 'int' makes pointer from integer without a cast [-Wint-conversion]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1860:24: error: implicit declaration of function '__symbol_get'; did you mean 'symbol_get'? [-Werror=implicit-function-declaration]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1869:3: error: implicit declaration of function '__symbol_put'; did you mean 'symbol_put'? [-Werror=implicit-function-declaration]
drivers/net/ethernet/linkdata/sxe/base/log/sxe_log.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/base/trace/sxe_trace.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_csum.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_dcb.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:432:6: error: no previous prototype for 'sxe_debugfs_entries_init' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:459:6: error: no previous prototype for 'sxe_debugfs_entries_exit' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:465:6: error: no previous prototype for 'sxe_debugfs_init' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:470:6: error: no previous prototype for 'sxe_debugfs_exit' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2022:5: error: no previous prototype for 'sxe_reg_test' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2644:5: error: no previous prototype for 'sxe_phys_id_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2736:47: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_filter.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1033:6: error: no previous prototype for 'sxe_hw_is_link_state_up' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1064:5: error: no previous prototype for 'sxe_hw_fc_enable' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1135:6: error: no previous prototype for 'sxe_fc_autoneg_localcap_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1256:6: error: no previous prototype for 'sxe_hw_crc_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1330:6: error: no previous prototype for 'sxe_hw_fc_tc_high_water_mark_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1335:6: error: no previous prototype for 'sxe_hw_fc_tc_low_water_mark_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1340:6: error: no previous prototype for 'sxe_hw_is_fc_autoneg_disabled' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1345:6: error: no previous prototype for 'sxe_hw_fc_autoneg_disable_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1360:6: error: no previous prototype for 'sxe_hw_fc_requested_mode_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:1437:6: error: no previous prototype for 'sxe_hw_fc_mac_addr_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2147:6: error: no previous prototype for 'sxe_hw_fnav_enable' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2204:5: error: no previous prototype for 'sxe_hw_fnav_port_mask_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2310:5: error: no previous prototype for 'sxe_hw_fnav_specific_rule_mask_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2445:5: error: no previous prototype for 'sxe_hw_fnav_specific_rule_add' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2469:5: error: no previous prototype for 'sxe_hw_fnav_specific_rule_del' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2500:6: error: no previous prototype for 'sxe_hw_fnav_sample_rule_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:2587:5: error: no previous prototype for 'sxe_hw_fnav_sample_rules_table_reinit' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3147:6: error: no previous prototype for 'sxe_hw_all_ring_disable' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3295:6: error: no previous prototype for 'sxe_hw_dcb_rx_bw_alloc_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3330:6: error: no previous prototype for 'sxe_hw_dcb_tx_desc_bw_alloc_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3360:6: error: no previous prototype for 'sxe_hw_dcb_tx_data_bw_alloc_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3397:6: error: no previous prototype for 'sxe_hw_dcb_pfc_configure' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3565:6: error: no previous prototype for 'sxe_hw_dcb_max_mem_window_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3570:6: error: no previous prototype for 'sxe_hw_dcb_tx_ring_rate_factor_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:3674:6: error: no previous prototype for 'sxe_hw_dcb_rate_limiter_clear' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4497:5: error: no previous prototype for 'sxe_hw_hdc_lock_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4536:6: error: no previous prototype for 'sxe_hw_hdc_lock_release' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4552:6: error: no previous prototype for 'sxe_hw_hdc_fw_ov_clear' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4557:6: error: no previous prototype for 'sxe_hw_hdc_is_fw_over_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4567:6: error: no previous prototype for 'sxe_hw_hdc_packet_send_done' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4573:6: error: no previous prototype for 'sxe_hw_hdc_packet_header_send' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4578:6: error: no previous prototype for 'sxe_hw_hdc_packet_data_dword_send' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4584:5: error: no previous prototype for 'sxe_hw_hdc_fw_ack_header_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4589:5: error: no previous prototype for 'sxe_hw_hdc_packet_data_dword_rcv' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4594:5: error: no previous prototype for 'sxe_hw_hdc_fw_status_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4604:6: error: no previous prototype for 'sxe_hw_hdc_drv_status_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:4609:5: error: no previous prototype for 'sxe_hw_hdc_channel_state_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:745:5: error: no previous prototype for 'sxe_hw_irq_cause_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:775:6: error: no previous prototype for 'sxe_hw_irq_general_reg_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:780:5: error: no previous prototype for 'sxe_hw_irq_general_reg_get' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:790:6: error: no previous prototype for 'sxe_hw_event_irq_map' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:838:6: error: no previous prototype for 'sxe_hw_event_irq_auto_clear_set' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:876:6: error: no previous prototype for 'sxe_hw_all_irq_disable' [-Werror=missing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:994:5: error: no previous prototype for function 'sxe_hw_link_speed_get' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ipsec.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ptp.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_tx_proc.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/base/log/sxe_log.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_csum.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:640:6: error: no previous prototype for function 'sxevf_rx_rcv_ctl_configure' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_main.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_monitor.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_netdev.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_ring.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c:171: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c:378:6: warning: variable 'node_size' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c:674:6: warning: variable 'node_num' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c:798:6: warning: variable 'node_size' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c:458:13: warning: assignment to 'struct eventfd_ctx *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c:756:16: warning: variable 'vfn' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:2593:38: warning: variable 'param' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:3554:38: warning: variable 'param' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:4331:26: warning: variable 'chan_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:7888:26: warning: variable 'chan_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:2528:38: sparse: sparse: incorrect type in argument 2 (different address spaces)
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:3025:28: warning: variable 'ring_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:34: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c:1823:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c:550:55: warning: '%08x' directive output may be truncated writing 8 bytes into a region of size between 2 and 11 [-Wformat-truncation=]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_flow_leonis.c:893:22: warning: variable 'phy_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.c:12:17: warning: variable 'dev' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.c:1196: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:76:24: warning: variable 'queue_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:83:22: warning: variable 'vsi_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:84:22: warning: variable 'phy_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:96:22: warning: variable 'vsi_mgt' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c:97:22: warning: variable 'phy_ops' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/nebula-matrix/nbl/nbl_main.c:330: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/nebula-matrix/nbl/nbl_main.c:434: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/wangxun/ngbe/ngbe_debugfs.c:34: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
drivers/net/ethernet/wangxun/ngbe/ngbe_hw.c:1376: warning: Excess function parameter 'vmdq' description in 'ngbe_set_vmdq'
drivers/net/ethernet/wangxun/ngbe/ngbe_hw.c:1376: warning: Function parameter or member 'pool' not described in 'ngbe_set_vmdq'
drivers/net/ethernet/wangxun/ngbe/ngbe_hw.c:3328: warning: expecting prototype for ngbe_read_ee_hostif(). Prototype was for ngbe_read_ee_hostif_data() instead
drivers/net/ethernet/wangxun/ngbe/ngbe_hw.c:3667: warning: expecting prototype for ngbe_read_ee_hostif(). Prototype was for ngbe_read_ee_hostif32() instead
drivers/net/ethernet/wangxun/ngbe/ngbe_hw.c:3739: warning: expecting prototype for ngbe_write_ee_hostif(). Prototype was for ngbe_write_ee_hostif_data32() instead
drivers/net/ethernet/wangxun/ngbe/ngbe_hw.c:4272:6: warning: variable 'status' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:3772:6: warning: variable 'vlvfb' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:5771: warning: expecting prototype for ngbe_watchdog_update_link(). Prototype was for ngbe_watchdog_update_link_status() instead
drivers/net/ethernet/wangxun/ngbe/ngbe_phy.c:1737: warning: expecting prototype for ngbe_tn_check_overtemp(). Prototype was for ngbe_phy_check_overtemp() instead
drivers/net/ethernet/wangxun/ngbe/ngbe_phy.c:877: warning: expecting prototype for ngbe_identify_module(). Prototype was for ngbe_phy_identify() instead
drivers/net/ethernet/wangxun/ngbe/ngbe_sriov.c:161: warning: expecting prototype for ngbe_pet_vfs(). Prototype was for ngbe_put_vfs() instead
drivers/pinctrl/zhaoxin/pinctrl-zhaoxin.c:123:6: warning: variable 'value_back' set but not used [-Wunused-but-set-variable]
drivers/pinctrl/zhaoxin/pinctrl-zhaoxin.c:487:6: warning: variable 'test_mask' set but not used [-Wunused-but-set-variable]
drivers/platform/surface/surface3_power.c:248:3: warning: 'snprintf' will always be truncated; specified size is 10, but format string expands to at least 12 [-Wformat-truncation-non-kprintf]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:545:5: error: no previous prototype for function 'ps3_pci_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:899:5: error: no previous prototype for function 'ps3_pci_init_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:945:6: error: no previous prototype for function 'ps3_pci_init_complete_exit' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1059:5: error: no previous prototype for function 'ps3_dump_context_show' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:41:19: error: unused function 'time_for_log' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:65:19: error: unused function 'time_for_file_name' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:159:5: error: no previous prototype for function 'ps3_dump_file_write' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:200:5: error: no previous prototype for function 'ps3_dump_file_close' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:28:5: error: no previous prototype for function 'ps3_dump_local_time' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:50:5: error: no previous prototype for function 'ps3_dump_filename_build' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:76:5: error: no previous prototype for function 'ps3_dump_file_open' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:131:6: error: no previous prototype for function 'ps3_trigger_irq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:243:5: error: no previous prototype for function 'ps3_resp_status_convert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:403:6: error: no previous prototype for function 'ps3_io_recv_ok_stat_inc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:85:6: error: no previous prototype for function 'ps3_cmd_stat_content_clear' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_debug.c:883:5: error: no previous prototype for function 'ps3_dump_dir_length' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1581:5: error: no previous prototype for function 'ps3_scsi_private_init_pd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1663:5: error: no previous prototype for function 'ps3_scsi_private_init_vd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1632:5: error: no previous prototype for function 'ps3_sas_expander_phys_refresh' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:147:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_hba' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:36:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_switch' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:88:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_raid' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:307:5: error: no previous prototype for function 'ps3_hard_reset_to_ready' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:785:6: error: no previous prototype for function 'ps3_clean_mgr_cmd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:21:27: error: unused variable 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: unused variable 'PS3_INTERRUPT_CMD_ENABLE_MSIX' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: unused variable 'PS3_INTERRUPT_MASK_DISABLE' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: unused variable 'PS3_INTERRUPT_STATUS_EXIST_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: unused variable 'PS3_INTERRUPT_CLEAR_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:27:27: error: unused variable 'PS3_SSD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: unused variable 'PS3_HDD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_module_para.c:609:14: error: no previous prototype for function 'ps3_cli_ver_query' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:211:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3023:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3279:15: error: no previous prototype for function 'ps3_raid_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3334:6: error: no previous prototype for function 'ps3_qos_mgrq_resend' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3478:6: error: no previous prototype for function 'ps3_raid_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3821:15: error: no previous prototype for function 'ps3_raid_qos_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1173:5: error: no previous prototype for function 'ps3_range_check_and_insert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1231:5: error: no previous prototype for function 'ps3_r1x_hash_range_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1312:6: error: no previous prototype for function 'ps3_r1x_hash_range_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:578:5: error: no previous prototype for function 'ps3_r1x_hash_bit_check' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:678:6: error: no previous prototype for function 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:730:5: error: no previous prototype for function 'ps3_r1x_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:988:6: error: no previous prototype for function 'ps3_r1x_hash_bit_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:154:6: error: no previous prototype for function 'rbtDelNodeDo' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:204:6: error: no previous prototype for function 'ps3_recovery_irq_queue_destroy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2700:6: error: no previous prototype for function 'ps3_hard_recovery_state_finish' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:363:5: error: no previous prototype for function 'ps3_recovery_state_transfer' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:72:30: error: no previous prototype for function 'ps3_recovery_context_alloc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:82:6: error: no previous prototype for function 'ps3_recovery_context_free' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:88:6: error: no previous prototype for function 'ps3_recovery_context_delete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:407:5: error: no previous prototype for function 'ps3_sas_update_phy_info' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1110:5: error: no previous prototype for function 'ps3_wait_for_outstanding_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:876:6: error: no previous prototype for function 'ps3_set_task_manager_busy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsih.c:1958:1: error: unused function 'ps3_scsih_dev_id_get' [-Werror,-Wunused-function]
drivers/spi/spi-axi-spi-engine.c:101: warning: Function parameter or member 'p' not described in 'spi_engine_message_state'
drivers/ub/obmm/obmm_addr_check.c:53:14: warning: variable 'user' set but not used [-Wunused-but-set-variable]
drivers/xcu/xcu_group.c:41:5: warning: no previous prototype for function '__xcu_group_attach' [-Wmissing-prototypes]
fs/nfs/dir.c:1500:6: warning: no previous prototype for function 'nfs_check_have_lookup_cache_flag' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:123: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
fs/nfs/enfs/dns_process.c:125:6: warning: no previous prototype for function 'enfs_swap_name_cache' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:144:6: warning: no previous prototype for function 'enfs_domain_inc' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:213:6: warning: no previous prototype for function 'ip_list_append' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:357:5: warning: no previous prototype for function 'enfs_quick_sort' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:390:5: warning: no previous prototype for function 'enfs_dns_process_ip' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:430:5: warning: no previous prototype for function 'enfs_server_query_dns' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:490:6: warning: no previous prototype for function 'query_dns_each_name' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:578:5: warning: no previous prototype for function 'enfs_iter_nfs_clnt' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:665:6: warning: no previous prototype for function 'enfs_domain_for_each' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:88:6: warning: no previous prototype for function 'enfs_update_domain_name' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_config.c:551:6: warning: no previous prototype for function 'enfs_glob_match' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:111:6: warning: no previous prototype for function 'enfs_update_lookup_cache_flag_to_server' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:145:5: warning: no previous prototype for function 'enfs_query_lookup_cache' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:246:6: warning: no previous prototype for function 'enfs_query_lookup_cache_pre_check' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:264:6: warning: no previous prototype for function 'lookupcache_execute_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:287:5: warning: no previous prototype for function 'lookupcache_add_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:356:6: warning: no previous prototype for function 'lookupcache_loop_rpclnt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:405:6: warning: no previous prototype for function 'enfs_lookupcache_update_switch' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:422:5: warning: no previous prototype for function 'lookupcache_routine' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:442:5: warning: no previous prototype for function 'lookupcache_start' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:453:5: warning: no previous prototype for function 'enfs_lookupcache_workqueue_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:464:6: warning: no previous prototype for function 'lookupcache_workqueue_fini' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:472:5: warning: no previous prototype for function 'enfs_lookupcache_timer_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:97:6: warning: no previous prototype for function 'enfs_clean_server_lookup_cache_flag' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:178: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
fs/nfs/enfs/enfs_multipath.c:315:5: warning: no previous prototype for function 'enfs_configure_xprt_to_clnt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:349:6: warning: no previous prototype for function 'enfs_cmp_addrs' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:366:6: warning: no previous prototype for function 'enfs_xprt_addrs_is_same' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:385:6: warning: no previous prototype for function 'enfs_already_have_xprt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:582:6: warning: variable 'link_count' set but not used [-Wunused-but-set-variable]
fs/nfs/enfs/enfs_multipath.c:823:5: warning: no previous prototype for function 'enfs_multipath_create_thread' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:919:6: warning: no previous prototype for function 'enfs_create_multi_xprt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:971:6: warning: no previous prototype for function 'enfs_release_rpc_clnt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:154:5: warning: no previous prototype for function 'enfs_parse_ip_single' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:201:7: warning: no previous prototype for function 'nfs_multipath_parse_ip_list_get_cursor' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:20:6: warning: no previous prototype for function 'nfs_multipath_parse_ip_ipv6_add' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:228:6: warning: no previous prototype for function 'enfs_valid_ip' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:240:5: warning: no previous prototype for function 'nfs_multipath_parse_ip_list' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:353:6: warning: no previous prototype for function 'isInvalidDns' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:379:5: warning: no previous prototype for function 'nfs_multipath_parse_dns_list' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:423:5: warning: no previous prototype for function 'parse_remote_type' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:463:5: warning: no previous prototype for function 'nfs_multipath_parse_options_check_ipv4_valid' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:470:5: warning: no previous prototype for function 'nfs_multipath_parse_options_check_ipv6_valid' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:486:5: warning: no previous prototype for function 'nfs_multipath_parse_options_check_ip_valid' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:502:5: warning: no previous prototype for function 'nfs_multipath_parse_options_check_valid' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:528:5: warning: no previous prototype for function 'nfs_multipath_parse_options_check_duplicate' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:553:5: warning: no previous prototype for function 'nfs_multipath_parse_options_check' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_proc.c:547:30: warning: unused variable 'shardview_proc_fops' [-Wunused-const-variable]
fs/nfs/enfs/enfs_remount.c:101:6: warning: no previous prototype for function 'enfs_clnt_delete_obsolete_xprts' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_roundrobin.c:108:1: warning: no previous prototype for function 'enfs_lb_switch_find_first_active_xprt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_roundrobin.c:119:18: warning: no previous prototype for function 'enfs_lb_switch_get_main_xprt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_roundrobin.c:169:18: warning: no previous prototype for function 'enfs_lb_get_singular_xprt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_roundrobin.c:330:5: warning: no previous prototype for function 'enfs_lb_revert_policy' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_rpc_init.c:7:5: warning: no previous prototype for function 'enfs_rpc_init' [-Wmissing-prototypes]
fs/nfs/enfs/exten_call.c:180:5: warning: no previous prototype for function 'NfsExtendDecodeFsShard' [-Wmissing-prototypes]
fs/nfs/enfs/exten_call.c:265:5: warning: no previous prototype for function 'NfsExtendDecodeLifInfo' [-Wmissing-prototypes]
fs/nfs/enfs/exten_call.c:533:5: warning: no previous prototype for function 'EnfsExtendDecodePreCheck' [-Wmissing-prototypes]
fs/nfs/enfs/exten_call.c:601:5: warning: no previous prototype for function 'dorado_extend_route' [-Wmissing-prototypes]
fs/nfs/enfs/exten_call.c:662:6: warning: no previous prototype for function 'nego_enfs_version' [-Wmissing-prototypes]
fs/nfs/enfs/exten_call.c:947:6: warning: no previous prototype for function 'NfsExtendDnsQuerySetArgs' [-Wmissing-prototypes]
fs/nfs/enfs/exten_call.c:958:6: warning: no previous prototype for function 'NfsExtendDnsQuerySetRes' [-Wmissing-prototypes]
fs/nfs/enfs/failover_path.c:239: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
fs/nfs/enfs/pm_state.c:83:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
fs/nfs/enfs/shard_route.c:257: warning: Function parameter or member '__list_name' not described in 'DEFINE_CLEAR_LIST_FUNC'
fs/nfs/enfs/shard_route.c:257: warning: Function parameter or member '__struct_name' not described in 'DEFINE_CLEAR_LIST_FUNC'
fs/nfs/enfs/shard_route.c:333: warning: Cannot understand * @return:0 for success,otherwise for failed
fs/nfs/enfs_adapter.c:47:26: warning: no previous prototype for function 'nfs_multipath_router_get' [-Wmissing-prototypes]
fs/nfs/enfs_adapter.c:63:6: warning: no previous prototype for function 'nfs_multipath_router_put' [-Wmissing-prototypes]
fs/nfs/enfs_adapter.c:69:6: warning: no previous prototype for function 'is_valid_option' [-Wmissing-prototypes]
fs/nfs/fs_context.c:374:26: warning: no previous prototype for function 'getNfsMultiPathOpt' [-Wmissing-prototypes]
fs/proc/stat.c:227:17: warning: no previous prototype for function 'bpf_get_idle_time' [-Wmissing-prototypes]
fs/proc/stat.c:232:17: warning: no previous prototype for function 'bpf_get_iowait_time' [-Wmissing-prototypes]
fs/proc/stat.c:237:18: warning: no previous prototype for function 'bpf_show_all_irqs' [-Wmissing-prototypes]
fs/reiserfs/reiserfs.o: warning: objtool: balance_leaf+0x81f9: stack state mismatch: cfa1=4+368 cfa2=4+360
fs/resctrl/monitor.c:51: warning: Cannot understand * @closid_num_dirty_rmid The number of dirty RMID each CLOSID has.
fs/xfs/libxfs/xfs_alloc.c:103:1: warning: no previous prototype for function 'xfs_ag_fixup_aside' [-Wmissing-prototypes]
include/linux/fortify-string.h:597:4: warning: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
include/net/sock.h:392:45: error: 'struct sock_common' has no member named 'skc_v6_daddr'; did you mean 'skc_daddr'?
kernel/cpu.c:2684: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
kernel/crash_core.c:749:1: sparse: sparse: symbol '__crash_hotplug_lock' was not declared. Should it be static?
kernel/fork.c:2233: warning: Excess function parameter 'pidfd' description in '__pidfd_prepare'
kernel/fork.c:2233: warning: Function parameter or member 'ret' not described in '__pidfd_prepare'
kernel/fork.c:2282: warning: Excess function parameter 'pidfd' description in 'pidfd_prepare'
kernel/fork.c:2282: warning: Function parameter or member 'ret' not described in 'pidfd_prepare'
kernel/irq/proc.c:338:13: warning: no previous prototype for function 'register_irqchip_proc' [-Wmissing-prototypes]
kernel/irq/proc.c:339:13: warning: no previous prototype for function 'unregister_irqchip_proc' [-Wmissing-prototypes]
kernel/locking/mutex.c:623:6: warning: variable 'ifs_clock' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
kernel/power/swap.c:1572: warning: Excess function parameter 'exclusive' description in 'swsusp_close'
kernel/sched/core.c:11465:5: warning: no previous prototype for function 'tg_set_dynamic_affinity_mode' [-Wmissing-prototypes]
kernel/sched/core.c:11506:5: warning: no previous prototype for function 'tg_set_affinity_period' [-Wmissing-prototypes]
kernel/sched/core.c:11520:5: warning: no previous prototype for function 'tg_get_affinity_period' [-Wmissing-prototypes]
kernel/xsched/cfs.c:108: warning: Excess function parameter 'gxcu' description in 'xg_update'
kernel/xsched/cfs.c:108: warning: Function parameter or member 'task_delta' not described in 'xg_update'
kernel/xsched/cfs.c:108: warning: Function parameter or member 'xg' not described in 'xg_update'
kernel/xsched/cfs.c:22:6: warning: no previous prototype for function 'xs_rq_add' [-Wmissing-prototypes]
kernel/xsched/cfs.c:233:6: warning: no previous prototype for function 'rq_init_fair' [-Wmissing-prototypes]
kernel/xsched/cfs.c:238:6: warning: no previous prototype for function 'xse_init_fair' [-Wmissing-prototypes]
kernel/xsched/cfs.c:243:6: warning: no previous prototype for function 'xse_deinit_fair' [-Wmissing-prototypes]
kernel/xsched/cfs.c:45:6: warning: no previous prototype for function 'xs_rq_remove' [-Wmissing-prototypes]
kernel/xsched/cfs.c:56: warning: Function parameter or member 'new_xrt' not described in 'xs_cfs_rq_update'
kernel/xsched/cfs.c:56: warning: Function parameter or member 'xse_cfs' not described in 'xs_cfs_rq_update'
kernel/xsched/cgroup.c:402:6: warning: no previous prototype for function 'xcu_move_task' [-Wmissing-prototypes]
kernel/xsched/cgroup.c:65: warning: Cannot understand * @brief Initialize the core components of an xsched_group.
kernel/xsched/core.c:188:5: warning: no previous prototype for function 'xsched_xse_set_class' [-Wmissing-prototypes]
kernel/xsched/core.c:514:12: warning: no previous prototype for function 'xsched_sched_init' [-Wmissing-prototypes]
kernel/xsched/rt.c:122:6: warning: no previous prototype for function 'rq_init_rt' [-Wmissing-prototypes]
kernel/xsched/rt.c:133:6: warning: no previous prototype for function 'xse_init_rt' [-Wmissing-prototypes]
kernel/xsched/rt.c:144:6: warning: no previous prototype for function 'xse_deinit_rt' [-Wmissing-prototypes]
kernel/xsched/vstream.c:99:19: warning: no previous prototype for function 'xcu_find' [-Wmissing-prototypes]
lib/kunit/test.c:764:38: warning: cast from 'void (*)(const void *)' to 'kunit_action_t *' (aka 'void (*)(void *)') converts to incompatible function type [-Wcast-function-type-strict]
lib/kunit/test.c:862:38: warning: cast from 'void (*)(const void *)' to 'kunit_action_t *' (aka 'void (*)(void *)') converts to incompatible function type [-Wcast-function-type-strict]
lib/test_kmod.c:100: warning: Function parameter or member 'task_sync' not described in 'kmod_test_device_info'
lib/test_kmod.c:134: warning: Function parameter or member 'thread_mutex' not described in 'kmod_test_device'
mm/madvise.c:285:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes]
mm/madvise.c:285:6: warning: no previous prototype for function 'force_swapin_vma' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1444:20: warning: no previous prototype for function 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1611: warning: expecting prototype for memblock_alloc_internal(). Prototype was for __memblock_alloc_internal() instead
mm/mempolicy.c:1145:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
net/ipv4/tcp_comp.c:740:6: warning: no previous prototype for function 'comp_stream_read' [-Wmissing-prototypes]
net/ipv4/tcp_comp.c:779:6: warning: no previous prototype for function 'comp_setup_strp' [-Wmissing-prototypes]
security/integrity/ima/ima_tpm.c:19:6: warning: no previous prototype for 'ima_pcrread' [-Wmissing-prototypes]
security/integrity/ima/ima_tpm.c:41:5: warning: no previous prototype for 'ima_tpm_init' [-Wmissing-prototypes]
security/integrity/ima/ima_tpm.c:53:5: warning: no previous prototype for 'ima_tpm_extend' [-Wmissing-prototypes]
security/integrity/ima/ima_tpm.c:60:5: warning: no previous prototype for 'ima_tpm_calc_boot_aggregate' [-Wmissing-prototypes]
Unverified Error/Warning (likely false positive, kindly check if interested):
lib/crypto/mpi/mpi-inv.c:34:15: warning: variable 'k' set but not used [-Wunused-but-set-variable]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| `-- drivers-ub-obmm-obmm_addr_check.c:warning:variable-user-set-but-not-used
|-- arm64-allnoconfig
| |-- block-genhd.c:warning:no-previous-prototype-for-part_stat_read_all
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_irq_set_prio
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| `-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
|-- arm64-defconfig
| |-- arch-arm64-kernel-cpufeature.c:warning:enable_pseudo_nmi-defined-but-not-used
| |-- arch-arm64-kvm-arm.c:warning:no-previous-prototype-for-kvm_arch_rec_init
| |-- arch-arm64-kvm-cca_base.c:warning:no-previous-prototype-for-set_cca_cvm_type
| |-- drivers-irqchip-irq-gic-v3-its.c:warning:no-previous-prototype-for-gic_data_rdist_get_vlpi_base
| |-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-gic_dist_enable_ipiv
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_phys_id_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_reg_test
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_fc_autoneg_localcap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_ring_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_crc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_max_mem_window_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_pfc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rate_limiter_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rx_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_data_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_desc_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_ring_rate_factor_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_auto_clear_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_autoneg_disable_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_mac_addr_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_requested_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_high_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_low_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_port_mask_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rule_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rules_table_reinit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_mask_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_channel_state_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_drv_status_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ack_header_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ov_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_status_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_is_fw_over_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_release
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_rcv
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_header_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_send_done
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_cause_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_fc_autoneg_disabled
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_link_state_up
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_pad_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_txrx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_mem_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_nic_reset
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_no_snoop_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pcie_vt_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_read_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_write_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pf_rst_done_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pfc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_mac_anti_spoof_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_ring_drop_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_is_rx_timestamp_valid
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_tx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rcv_msg_from_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_auto_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_key_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_reg_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_off
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_on
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_ctrl_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_lro_ctrl_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_drop_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ack_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_multi_ring_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_nfs_filter_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pkt_buf_size_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_queue_desc_reg_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_udp_frag_checksum_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_send_msg_to_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_spoof_count_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_regs_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_seq_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_size_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_thresh_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_head_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_info_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_tail_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_insert_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_tag_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_ack_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_req_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_rst_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_pool_filter_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_tag_strip_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlvf_slot_find
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_ctrl_cfg
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_pool_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_dcb
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_rss
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_lsc_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_mailbox_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_msi_irq_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-sxe_allow_inval_mac
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-sxe_multispeed_sfp_link_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_headers_cleanup
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_rx_buffer_page_offset_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-sxe_set_vf_link_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-sxe_txrx_ring_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_32bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_36bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_reset
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_stop
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_disable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_link_state_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_packet_stats_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_ack_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_req_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_stats_init_value_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-sxevf_rx_ring_buffers_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_free
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-else-statement
| `-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-if-statement
|-- arm64-randconfig-001-20251216
| `-- drivers-irqchip-irq-gic-v3.c:warning:no-previous-prototype-for-function-gic_irq_set_prio
|-- arm64-randconfig-002-20251215
| |-- arch-arm64-kernel-cpufeature.c:warning:unused-variable-enable_pseudo_nmi
| |-- 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_nic_dev.h:error:field-has-incomplete-type-struct-ieee_pfc
|-- arm64-randconfig-002-20251218
| `-- drivers-clocksource-arm_arch_timer.c:warning:unused-variable-hisi_165010801_oem_info
|-- arm64-randconfig-003-20251216
| |-- drivers-cpufreq-cppc_cpufreq.c:error:invalid-use-of-undefined-type-struct-fb_ctr_pair
| |-- drivers-cpufreq-cppc_cpufreq.c:error:struct-fb_ctr_pair-has-no-member-named-cpu
| |-- drivers-cpufreq-cppc_cpufreq.c:error:variable-fb_ctrs-has-initializer-but-incomplete-type
| |-- drivers-cpufreq-cppc_cpufreq.c:warning:excess-elements-in-struct-initializer
| |-- drivers-cpufreq-cppc_cpufreq.c:warning:unused-variable-fb_ctrs
| |-- drivers-net-ethernet-huawei-hinic-hinic_main.c:warning:no-previous-prototype-for-hinic_netdev_event
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bat_cla.c:warning:s-directive-output-may-be-truncated-writing-up-to-bytes-into-a-region-of-size
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_bitmap_alloc()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_bitmap_alloc_low2bit_align()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_bitmap_alloc_reserved()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_bitmap_check_range()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_bitmap_free()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_bitmap_init()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_bitmap_uninit()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_buf_alloc()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_buf_free()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_check_align()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_kfree_align()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_kmalloc_align()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_object_table_get()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_object_table_init()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_object_table_insert()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_object_table_remove()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_object_table_uninit()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_shift()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_single_bitmap_init()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_single_object_table_init()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_swab32()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:warning:expecting-prototype-for-Prototype().-Prototype-was-for-cqm_swab64()-instead
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_main.c:warning:s-directive-output-may-be-truncated-writing-up-to-bytes-into-a-region-of-size
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_ethtool.c:warning:no-previous-prototype-for-hinic3_set_rxq_recovery_flag
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:rx-power:directive-output-may-be-truncated-writing-bytes-into-a-region-of-size-between-and
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_tx.c:warning:no-previous-prototype-for-hinic3_tx_offload
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:error:implicit-declaration-of-function-__symbol_get
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:error:implicit-declaration-of-function-__symbol_put
| `-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:assignment-to-int-(-)(struct-pci_dev-)-from-int-makes-pointer-from-integer-without-a-cast
|-- arm64-randconfig-r132-20251218
| |-- drivers-irqchip-irq-gic-phytium-.c:sparse:sparse:dereference-of-noderef-expression
| |-- drivers-irqchip-irq-gic-phytium-.c:sparse:sparse:dubious:x-y
| |-- drivers-irqchip-irq-gic-phytium-its.c:sparse:sparse:dereference-of-noderef-expression
| |-- drivers-irqchip-irq-gic-phytium-its.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-struct-cpumask-usertype-mask-got-struct-cpumask-usertype-noderef-__percpu
| |-- drivers-irqchip-irq-gic-phytium-its.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-struct-raw_spinlock-usertype-lock-got-struct-raw_spinlock-noderef-__percpu
| |-- drivers-platform-mpam-mpam_resctrl.c:sparse:sparse:symbol-__mon_is_rmid_idx-was-not-declared.-Should-it-be-static
| |-- drivers-platform-mpam-mpam_resctrl.c:sparse:sparse:symbol-resctrl_mon_ctx_waiters-was-not-declared.-Should-it-be-static
| |-- security-integrity-ima-ima_digest_list.c:sparse:sparse:cast-to-restricted-__le16
| |-- security-integrity-ima-ima_digest_list.c:sparse:sparse:cast-to-restricted-__le32
| `-- security-integrity-ima-ima_digest_list.c:sparse:sparse:symbol-parser_task-was-not-declared.-Should-it-be-static
|-- loongarch-allnoconfig
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| `-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
|-- x86_64-allmodconfig
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-argp-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-argp-not-described-in-csv3_launch_encrypt_data_alt_1
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-argp-not-described-in-csv3_launch_encrypt_data_alt_2
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-end_pgoff-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-kvm-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-kvm-not-described-in-csv3_launch_encrypt_data_alt_1
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-kvm-not-described-in-csv3_launch_encrypt_data_alt_2
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-params-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-src_buf-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-start_pgoff-not-described-in-__csv3_launch_encrypt_data
| |-- block-blk-cgroup.c:warning:no-previous-prototype-for-function-bpf_blkcg_get_dev_iostat
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- clang:warning:no-such-include-directory:drivers-infiniband-hw-hiroce3-include-mag
| |-- crypto-asymmetric_keys-pgp_library.c:warning:Excess-function-parameter-_data-description-in-pgp_parse_packets
| |-- crypto-asymmetric_keys-pgp_library.c:warning:Excess-function-parameter-_datalen-description-in-pgp_parse_packets
| |-- crypto-asymmetric_keys-pgp_library.c:warning:Function-parameter-or-member-data-not-described-in-pgp_parse_packets
| |-- crypto-asymmetric_keys-pgp_library.c:warning:Function-parameter-or-member-datalen-not-described-in-pgp_parse_packets
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-add_sgpio_zhaoxin
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-ahci_wait_em_reset
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-ahci_zhaoxin_set_em_sgpio
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-ahci_zhaoxin_set_em_sgpio_gpmode
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-set_em_messages
| |-- drivers-ata-libahci.c:warning:no-previous-prototype-for-function-get_ahci_em_messages
| |-- drivers-block-drbd-drbd_bitmap.c:warning:Function-parameter-or-member-peer_device-not-described-in-drbd_bm_write
| |-- drivers-clk-renesas-r9a06g032-clocks.c:warning:Function-parameter-or-member-dual-not-described-in-r9a06g032_clkdesc
| |-- drivers-crypto-ccp-hygon-ccp-mdev.c:warning:no-previous-prototype-for-function-ccp_pin_memory
| |-- drivers-crypto-ccp-hygon-csv-dev.c:warning:Function-parameter-or-member-api_minor-not-described-in-user_data_status
| |-- drivers-crypto-ccp-hygon-hct.c:warning:no-previous-prototype-for-function-hct_pin_memory
| |-- drivers-crypto-ccp-hygon-psp-dev.c:warning:no-previous-prototype-for-function-atomic64_exchange
| |-- drivers-crypto-ccp-hygon-psp-dev.c:warning:no-previous-prototype-for-function-psp_mutex_init
| |-- drivers-crypto-ccp-hygon-tdm-kernel-guard.c:warning:no-previous-prototype-for-function-tdm_service_exit
| |-- drivers-crypto-ccp-hygon-tdm-kernel-guard.c:warning:no-previous-prototype-for-function-tdm_service_run
| |-- drivers-crypto-ccp-hygon-vpsp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-crypto-ccp-hygon-vpsp.c:warning:no-previous-prototype-for-function-vpsp_do_cmd
| |-- drivers-crypto-ccp-hygon-vpsp.c:warning:no-previous-prototype-for-function-vpsp_set_default_vid_permission
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-gpu-drm-phytium-pe22_dc.c:warning:no-previous-prototype-for-function-pe22_dc_hw_config_pix_clock
| |-- drivers-gpu-drm-phytium-pe22_dc.c:warning:no-previous-prototype-for-function-pe22_dc_hw_reset
| |-- drivers-gpu-drm-phytium-pe22_dc.c:warning:no-previous-prototype-for-function-pe22_dc_hw_update_cursor_hi_addr
| |-- drivers-gpu-drm-phytium-pe22_dc.c:warning:no-previous-prototype-for-function-pe22_dc_hw_update_primary_hi_addr
| |-- drivers-gpu-drm-phytium-pe22_dp.c:warning:no-previous-prototype-for-function-pe22_dp_hw_reset
| |-- drivers-gpu-drm-phytium-phytium_crtc.c:warning:no-previous-prototype-for-function-phytium_crtc_atomic_destroy_state
| |-- drivers-gpu-drm-phytium-phytium_crtc.c:warning:no-previous-prototype-for-function-phytium_crtc_atomic_duplicate_state
| |-- drivers-gpu-drm-phytium-phytium_debugfs.c:warning:no-previous-prototype-for-function-phytium_debugfs_connector_add
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_adjust_link_train_parameter
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_fast_link_train
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_get_link_train_fallback_values
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hpd_poll_handler
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_disable_input_source
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_disable_video
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_enable_audio
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_enable_input_source
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_enable_output
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_hpd_irq_setup
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_output_is_enable
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_start_link_train
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_encoder_mode_valid
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_get_encoder_crtc_mask
| |-- drivers-gpu-drm-phytium-phytium_fbdev.c:warning:no-previous-prototype-for-function-phytium_drm_fbdev_init
| |-- drivers-gpu-drm-phytium-phytium_gem.c:warning:no-previous-prototype-for-function-phytium_dma_transfer
| |-- drivers-gpu-drm-phytium-phytium_panel.c:warning:no-previous-prototype-for-function-phytium_dp_panel_release_backlight_funcs
| |-- drivers-gpu-drm-phytium-phytium_pci.c:warning:no-previous-prototype-for-function-phytium_pci_dma_init
| |-- drivers-gpu-drm-phytium-phytium_pci.c:warning:no-previous-prototype-for-function-phytium_pci_vram_hw_init
| |-- drivers-gpu-drm-phytium-phytium_plane.c:warning:no-previous-prototype-for-function-phytium_plane_atomic_duplicate_state
| |-- drivers-gpu-drm-phytium-phytium_plane.c:warning:no-previous-prototype-for-function-phytium_plane_destroy
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_plane_get_cursor_format
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_plane_get_primary_format
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_update_dcreq
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_update_primary_hi_addr
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_vram_init
| |-- drivers-gpu-drm-phytium-px210_dp.c:warning:no-previous-prototype-for-function-px210_dp_hw_reset
| |-- drivers-gpu-drm-phytium-px210_dp.c:warning:no-previous-prototype-for-function-px210_dp_hw_spread_is_enable
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- drivers-infiniband-hw-bnxt_re-ib_verbs.c:warning:variable-nq-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_dcb.c:error:no-previous-prototype-for-function-sss_tool_dcb_mt_dcb_state-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_dcb.c:error:no-previous-prototype-for-function-sss_tool_dcb_mt_hw_qos_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_dcb.c:error:no-previous-prototype-for-function-sss_tool_dcb_mt_qos_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_func.c:error:no-previous-prototype-for-function-sss_tool_ioctl-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_get_loopback_mode-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_get_netdev_name-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_get_netdev_tx_timeout-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_get_pf_bw_limit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_get_xsfp_info-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_get_xsfp_present-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_set_link_mode-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_set_loopback_mode-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_set_netdev_tx_timeout-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:no-previous-prototype-for-function-sss_tool_set_pf_bw_limit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_phy_attr.c:error:variable-old_bw_limit-set-but-not-used-Werror-Wunused-but-set-variable
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_qp_info.c:error:no-previous-prototype-for-function-sss_tool_get_inter_num-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_qp_info.c:error:no-previous-prototype-for-function-sss_tool_get_q_num-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_qp_info.c:error:no-previous-prototype-for-function-sss_tool_get_rx_cqe_info-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_qp_info.c:error:no-previous-prototype-for-function-sss_tool_get_rx_info-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_qp_info.c:error:no-previous-prototype-for-function-sss_tool_get_rx_wqe_info-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_qp_info.c:error:no-previous-prototype-for-function-sss_tool_get_tx_info-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_qp_info.c:error:no-previous-prototype-for-function-sss_tool_get_tx_wqe_info-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_stats.c:error:no-previous-prototype-for-function-sss_tool_clear_func_stats-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_stats.c:error:no-previous-prototype-for-function-sss_tool_get_sset_count-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_stats.c:error:no-previous-prototype-for-function-sss_tool_get_sset_stats-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool.c:error:no-previous-prototype-for-function-sss_nic_set_ethtool_ops-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_api.c:error:no-previous-prototype-for-function-sss_nic_finish_loop_test-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.c:error:no-previous-prototype-for-function-sss_nic_get_ethtool_stats-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.c:error:no-previous-prototype-for-function-sss_nic_get_link_ksettings-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.c:error:no-previous-prototype-for-function-sss_nic_get_sset_count-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.c:error:no-previous-prototype-for-function-sss_nic_get_strings-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.c:error:no-previous-prototype-for-function-sss_nic_set_link_ksettings-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats_api.c:error:no-previous-prototype-for-function-sss_nic_get_io_stats_size-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_filter.c:error:no-previous-prototype-for-function-sss_nic_clean_mac_list_filter-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_filter.c:error:no-previous-prototype-for-function-sss_nic_set_rx_mode_work-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-function-sss_nic_release_qp_irq-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-function-sss_nic_request_qp_irq-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-function-get_nic_uld_info-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-function-sss_nic_port_module_cable_plug-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-function-sss_nic_port_module_cable_unplug-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-function-sss_nic_port_module_link_err-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:error:no-previous-prototype-for-function-sss_nic_is_netdev_ops_match-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:error:no-previous-prototype-for-function-sss_nic_ndo_set_vf_link_state-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:error:no-previous-prototype-for-function-sss_nic_ndo_vlan_rx_add_vid-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:error:no-previous-prototype-for-function-sss_nic_ndo_vlan_rx_kill_vid-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:error:no-previous-prototype-for-function-sss_nic_set_netdev_ops-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-function-sss_nic_ethtool_delete_flow-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-function-sss_nic_ethtool_get_all_flows-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-function-sss_nic_ethtool_get_flow-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-function-sss_nic_ethtool_update_flow-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-function-sss_nic_flush_rx_flow_rule-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-function-sss_nic_flush_tcam-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-function-sss_nic_flush_tcam_list-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-function-sss_nic_flush_tcam_node_list-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-function-sss_nic_validate_channel_setting_in_ntuple-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-function-sss_nic_alloc_rq_desc_group-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-function-sss_nic_alloc_rq_res_group-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-function-sss_nic_free_rq_desc_group-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-function-sss_nic_free_rq_res_group-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-function-sss_nic_init_rq_desc_group-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-function-sss_nic_reset_rx_rss-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-function-sss_nic_update_rx_rss-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_reset.c:error:no-previous-prototype-for-function-sss_nic_rq_watchdog_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-function-sss_nic_alloc_sq_desc_group-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-function-sss_nic_alloc_sq_resource-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-function-sss_nic_flush_all_sq-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-function-sss_nic_free_sq_desc_group-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-function-sss_nic_free_sq_resource-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-function-sss_nic_init_all_sq-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_aeq_unregister_sw_cb().-Prototype-was-for-hinic_aeq_unregister_swe_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_ceq_register_sw_cb().-Prototype-was-for-hinic_ceq_register_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:warning:expecting-prototype-for-hinic_unregister_ppf_mbox_cb().-Prototype-was-for-hinic_unregister_pf_mbox_cb()-instead
| |-- drivers-net-ethernet-linkdata-sxe-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-base-trace-sxe_trace.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_filter.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ipsec.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ptp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_tx_proc.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_ring.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_num-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_size-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:variable-vfn-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-chan_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-param-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:variable-ring_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_interrupt.c:warning:variable-dev-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-queue_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-vsi_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_debugfs.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:Excess-function-parameter-vmdq-description-in-ngbe_set_vmdq
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:Function-parameter-or-member-pool-not-described-in-ngbe_set_vmdq
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:expecting-prototype-for-ngbe_read_ee_hostif().-Prototype-was-for-ngbe_read_ee_hostif32()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:expecting-prototype-for-ngbe_read_ee_hostif().-Prototype-was-for-ngbe_read_ee_hostif_data()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:expecting-prototype-for-ngbe_write_ee_hostif().-Prototype-was-for-ngbe_write_ee_hostif_data32()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:variable-status-set-but-not-used
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_main.c:warning:expecting-prototype-for-ngbe_watchdog_update_link().-Prototype-was-for-ngbe_watchdog_update_link_status()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_main.c:warning:variable-vlvfb-set-but-not-used
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_phy.c:warning:expecting-prototype-for-ngbe_identify_module().-Prototype-was-for-ngbe_phy_identify()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_phy.c:warning:expecting-prototype-for-ngbe_tn_check_overtemp().-Prototype-was-for-ngbe_phy_check_overtemp()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_sriov.c:warning:expecting-prototype-for-ngbe_pet_vfs().-Prototype-was-for-ngbe_put_vfs()-instead
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-test_mask-set-but-not-used
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-value_back-set-but-not-used
| |-- drivers-platform-surface-surface3_power.c:warning:snprintf-will-always-be-truncated-specified-size-is-but-format-string-expands-to-at-least
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete_exit-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-function-ps3_dump_context_show-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_close-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_open-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_write-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_filename_build-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_local_time-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_resp_status_convert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_trigger_irq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_cmd_stat_content_clear-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_io_recv_ok_stat_inc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-function-ps3_dump_dir_length-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_pd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_vd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-function-ps3_sas_expander_phys_refresh-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_hba-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_raid-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_switch-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-function-ps3_hard_reset_to_ready-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-function-ps3_clean_mgr_cmd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-function-ps3_cli_ver_query-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_cmd_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_reset-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clean-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_all_pd_rc_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_cmd_waitq_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_exclusive_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_pd_waitq_ratio_update-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_tg_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_vd_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_conflict_queue_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_check-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_range_check_and_insert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-function-rbtDelNodeDo-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_hard_recovery_state_finish-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_alloc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_delete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_irq_queue_destroy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_state_transfer-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-function-ps3_sas_update_phy_info-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_set_task_manager_busy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_wait_for_outstanding_complete-Werror-Wmissing-prototypes
| |-- drivers-spi-spi-axi-spi-engine.c:warning:Function-parameter-or-member-p-not-described-in-spi_engine_message_state
| |-- drivers-spmi-spmi-pmic-arb.c:warning:Function-parameter-or-member-core-not-described-in-spmi_pmic_arb
| |-- drivers-xcu-xcu_group.c:warning:no-previous-prototype-for-function-__xcu_group_attach
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-function-nfs_check_have_lookup_cache_flag
| |-- fs-nfs-enfs-dns_process.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_dns_process_ip
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_domain_for_each
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_domain_inc
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_iter_nfs_clnt
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_quick_sort
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_server_query_dns
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_swap_name_cache
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_update_domain_name
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-ip_list_append
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-query_dns_each_name
| |-- fs-nfs-enfs-enfs_config.c:warning:no-previous-prototype-for-function-enfs_glob_match
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_clean_server_lookup_cache_flag
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_lookupcache_timer_init
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_lookupcache_update_switch
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_lookupcache_workqueue_init
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_query_lookup_cache
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_query_lookup_cache_pre_check
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_update_lookup_cache_flag_to_server
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_add_work
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_execute_work
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_loop_rpclnt
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_routine
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_start
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_workqueue_fini
| |-- fs-nfs-enfs-enfs_multipath.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_already_have_xprt
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_cmp_addrs
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_configure_xprt_to_clnt
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_create_multi_xprt
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_multipath_create_thread
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_release_rpc_clnt
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_xprt_addrs_is_same
| |-- fs-nfs-enfs-enfs_multipath.c:warning:variable-link_count-set-but-not-used
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-enfs_parse_ip_single
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-enfs_valid_ip
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-isInvalidDns
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_dns_list
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_ip_ipv6_add
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_ip_list
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_ip_list_get_cursor
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_duplicate
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_ip_valid
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_ipv4_valid
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_ipv6_valid
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_valid
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-parse_remote_type
| |-- fs-nfs-enfs-enfs_proc.c:warning:unused-variable-shardview_proc_fops
| |-- fs-nfs-enfs-enfs_remount.c:warning:no-previous-prototype-for-function-enfs_clnt_delete_obsolete_xprts
| |-- fs-nfs-enfs-enfs_roundrobin.c:warning:no-previous-prototype-for-function-enfs_lb_get_singular_xprt
| |-- fs-nfs-enfs-enfs_roundrobin.c:warning:no-previous-prototype-for-function-enfs_lb_revert_policy
| |-- fs-nfs-enfs-enfs_roundrobin.c:warning:no-previous-prototype-for-function-enfs_lb_switch_find_first_active_xprt
| |-- fs-nfs-enfs-enfs_roundrobin.c:warning:no-previous-prototype-for-function-enfs_lb_switch_get_main_xprt
| |-- fs-nfs-enfs-enfs_rpc_init.c:warning:no-previous-prototype-for-function-enfs_rpc_init
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-EnfsExtendDecodePreCheck
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendDecodeFsShard
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendDecodeLifInfo
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendDnsQuerySetArgs
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendDnsQuerySetRes
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-dorado_extend_route
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-nego_enfs_version
| |-- fs-nfs-enfs-failover_path.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- fs-nfs-enfs-pm_state.c:warning:variable-ret-set-but-not-used
| |-- fs-nfs-enfs-shard_route.c:warning:Cannot-understand-return-for-success-otherwise-for-failed
| |-- fs-nfs-enfs-shard_route.c:warning:Function-parameter-or-member-__list_name-not-described-in-DEFINE_CLEAR_LIST_FUNC
| |-- fs-nfs-enfs-shard_route.c:warning:Function-parameter-or-member-__struct_name-not-described-in-DEFINE_CLEAR_LIST_FUNC
| |-- fs-nfs-enfs_adapter.c:warning:no-previous-prototype-for-function-is_valid_option
| |-- fs-nfs-enfs_adapter.c:warning:no-previous-prototype-for-function-nfs_multipath_router_get
| |-- fs-nfs-enfs_adapter.c:warning:no-previous-prototype-for-function-nfs_multipath_router_put
| |-- fs-nfs-fs_context.c:warning:no-previous-prototype-for-function-getNfsMultiPathOpt
| |-- fs-proc-stat.c:warning:no-previous-prototype-for-function-bpf_get_idle_time
| |-- fs-proc-stat.c:warning:no-previous-prototype-for-function-bpf_get_iowait_time
| |-- fs-proc-stat.c:warning:no-previous-prototype-for-function-bpf_show_all_irqs
| |-- fs-reiserfs-reiserfs.o:warning:objtool:balance_leaf:stack-state-mismatch:cfa1-cfa2
| |-- fs-resctrl-monitor.c:warning:Cannot-understand-closid_num_dirty_rmid-The-number-of-dirty-RMID-each-CLOSID-has.
| |-- fs-xfs-libxfs-xfs_alloc.c:warning:no-previous-prototype-for-function-xfs_ag_fixup_aside
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-livepatch-core.c:warning:bad-line:
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- kernel-power-swap.c:warning:Excess-function-parameter-exclusive-description-in-swsusp_close
| |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-tg_get_affinity_period
| |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-tg_set_affinity_period
| |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-tg_set_dynamic_affinity_mode
| |-- kernel-xsched-cfs.c:warning:Excess-function-parameter-gxcu-description-in-xg_update
| |-- kernel-xsched-cfs.c:warning:Function-parameter-or-member-new_xrt-not-described-in-xs_cfs_rq_update
| |-- kernel-xsched-cfs.c:warning:Function-parameter-or-member-task_delta-not-described-in-xg_update
| |-- kernel-xsched-cfs.c:warning:Function-parameter-or-member-xg-not-described-in-xg_update
| |-- kernel-xsched-cfs.c:warning:Function-parameter-or-member-xse_cfs-not-described-in-xs_cfs_rq_update
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-rq_init_fair
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-xs_rq_add
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-xs_rq_remove
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-xse_deinit_fair
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-xse_init_fair
| |-- kernel-xsched-cgroup.c:warning:Cannot-understand-brief-Initialize-the-core-components-of-an-xsched_group.
| |-- kernel-xsched-cgroup.c:warning:no-previous-prototype-for-function-xcu_move_task
| |-- kernel-xsched-core.c:warning:no-previous-prototype-for-function-xsched_sched_init
| |-- kernel-xsched-core.c:warning:no-previous-prototype-for-function-xsched_xse_set_class
| |-- kernel-xsched-rt.c:warning:no-previous-prototype-for-function-rq_init_rt
| |-- kernel-xsched-rt.c:warning:no-previous-prototype-for-function-xse_deinit_rt
| |-- kernel-xsched-rt.c:warning:no-previous-prototype-for-function-xse_init_rt
| |-- kernel-xsched-vstream.c:warning:no-previous-prototype-for-function-xcu_find
| |-- lib-crypto-mpi-mpi-inv.c:warning:variable-k-set-but-not-used
| |-- lib-kunit-test.c:warning:cast-from-void-(-)(const-void-)-to-kunit_action_t-(aka-void-(-)(void-)-)-converts-to-incompatible-function-type
| |-- lib-test_kmod.c:warning:Function-parameter-or-member-task_sync-not-described-in-kmod_test_device_info
| |-- lib-test_kmod.c:warning:Function-parameter-or-member-thread_mutex-not-described-in-kmod_test_device
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| `-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
|-- x86_64-allnoconfig
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| `-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
|-- x86_64-allyesconfig
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-argp-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-argp-not-described-in-csv3_launch_encrypt_data_alt_1
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-argp-not-described-in-csv3_launch_encrypt_data_alt_2
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-end_pgoff-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-kvm-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-kvm-not-described-in-csv3_launch_encrypt_data_alt_1
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-kvm-not-described-in-csv3_launch_encrypt_data_alt_2
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-params-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-src_buf-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-start_pgoff-not-described-in-__csv3_launch_encrypt_data
| |-- block-blk-cgroup.c:warning:no-previous-prototype-for-function-bpf_blkcg_get_dev_iostat
| |-- block-genhd.c:warning:no-previous-prototype-for-function-part_stat_read_all
| |-- clang:warning:no-such-include-directory:drivers-infiniband-hw-hiroce3-include-mag
| |-- crypto-asymmetric_keys-pgp_library.c:warning:Excess-function-parameter-_data-description-in-pgp_parse_packets
| |-- crypto-asymmetric_keys-pgp_library.c:warning:Excess-function-parameter-_datalen-description-in-pgp_parse_packets
| |-- crypto-asymmetric_keys-pgp_library.c:warning:Function-parameter-or-member-data-not-described-in-pgp_parse_packets
| |-- crypto-asymmetric_keys-pgp_library.c:warning:Function-parameter-or-member-datalen-not-described-in-pgp_parse_packets
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-add_sgpio_zhaoxin
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-ahci_wait_em_reset
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-ahci_zhaoxin_set_em_sgpio
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-ahci_zhaoxin_set_em_sgpio_gpmode
| |-- drivers-ata-ahci_zhaoxin_sgpio.c:warning:no-previous-prototype-for-function-set_em_messages
| |-- drivers-ata-libahci.c:warning:no-previous-prototype-for-function-get_ahci_em_messages
| |-- drivers-block-drbd-drbd_bitmap.c:warning:Function-parameter-or-member-peer_device-not-described-in-drbd_bm_write
| |-- drivers-clk-renesas-r9a06g032-clocks.c:warning:Function-parameter-or-member-dual-not-described-in-r9a06g032_clkdesc
| |-- drivers-crypto-ccp-hygon-ccp-mdev.c:warning:no-previous-prototype-for-function-ccp_pin_memory
| |-- drivers-crypto-ccp-hygon-csv-dev.c:warning:Function-parameter-or-member-api_minor-not-described-in-user_data_status
| |-- drivers-crypto-ccp-hygon-hct.c:warning:no-previous-prototype-for-function-hct_pin_memory
| |-- drivers-crypto-ccp-hygon-psp-dev.c:warning:no-previous-prototype-for-function-atomic64_exchange
| |-- drivers-crypto-ccp-hygon-psp-dev.c:warning:no-previous-prototype-for-function-psp_mutex_init
| |-- drivers-crypto-ccp-hygon-tdm-kernel-guard.c:warning:no-previous-prototype-for-function-tdm_service_exit
| |-- drivers-crypto-ccp-hygon-tdm-kernel-guard.c:warning:no-previous-prototype-for-function-tdm_service_run
| |-- drivers-crypto-ccp-hygon-vpsp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-crypto-ccp-hygon-vpsp.c:warning:no-previous-prototype-for-function-vpsp_do_cmd
| |-- drivers-crypto-ccp-hygon-vpsp.c:warning:no-previous-prototype-for-function-vpsp_set_default_vid_permission
| |-- drivers-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-gpu-drm-phytium-pe22_dc.c:warning:no-previous-prototype-for-function-pe22_dc_hw_config_pix_clock
| |-- drivers-gpu-drm-phytium-pe22_dc.c:warning:no-previous-prototype-for-function-pe22_dc_hw_reset
| |-- drivers-gpu-drm-phytium-pe22_dc.c:warning:no-previous-prototype-for-function-pe22_dc_hw_update_cursor_hi_addr
| |-- drivers-gpu-drm-phytium-pe22_dc.c:warning:no-previous-prototype-for-function-pe22_dc_hw_update_primary_hi_addr
| |-- drivers-gpu-drm-phytium-pe22_dp.c:warning:no-previous-prototype-for-function-pe22_dp_hw_reset
| |-- drivers-gpu-drm-phytium-phytium_crtc.c:warning:no-previous-prototype-for-function-phytium_crtc_atomic_destroy_state
| |-- drivers-gpu-drm-phytium-phytium_crtc.c:warning:no-previous-prototype-for-function-phytium_crtc_atomic_duplicate_state
| |-- drivers-gpu-drm-phytium-phytium_debugfs.c:warning:no-previous-prototype-for-function-phytium_debugfs_connector_add
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_adjust_link_train_parameter
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_fast_link_train
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_get_link_train_fallback_values
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hpd_poll_handler
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_disable_input_source
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_disable_video
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_enable_audio
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_enable_input_source
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_enable_output
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_hpd_irq_setup
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_hw_output_is_enable
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_dp_start_link_train
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_encoder_mode_valid
| |-- drivers-gpu-drm-phytium-phytium_dp.c:warning:no-previous-prototype-for-function-phytium_get_encoder_crtc_mask
| |-- drivers-gpu-drm-phytium-phytium_fbdev.c:warning:no-previous-prototype-for-function-phytium_drm_fbdev_init
| |-- drivers-gpu-drm-phytium-phytium_gem.c:warning:no-previous-prototype-for-function-phytium_dma_transfer
| |-- drivers-gpu-drm-phytium-phytium_panel.c:warning:no-previous-prototype-for-function-phytium_dp_panel_release_backlight_funcs
| |-- drivers-gpu-drm-phytium-phytium_pci.c:warning:no-previous-prototype-for-function-phytium_pci_dma_init
| |-- drivers-gpu-drm-phytium-phytium_pci.c:warning:no-previous-prototype-for-function-phytium_pci_vram_hw_init
| |-- drivers-gpu-drm-phytium-phytium_plane.c:warning:no-previous-prototype-for-function-phytium_plane_atomic_duplicate_state
| |-- drivers-gpu-drm-phytium-phytium_plane.c:warning:no-previous-prototype-for-function-phytium_plane_destroy
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_plane_get_cursor_format
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_plane_get_primary_format
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_update_dcreq
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_update_primary_hi_addr
| |-- drivers-gpu-drm-phytium-px210_dc.c:warning:no-previous-prototype-for-function-px210_dc_hw_vram_init
| |-- drivers-gpu-drm-phytium-px210_dp.c:warning:no-previous-prototype-for-function-px210_dp_hw_reset
| |-- drivers-gpu-drm-phytium-px210_dp.c:warning:no-previous-prototype-for-function-px210_dp_hw_spread_is_enable
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
| |-- drivers-infiniband-hw-bnxt_re-ib_verbs.c:warning:variable-nq-set-but-not-used
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_aeq_unregister_sw_cb().-Prototype-was-for-hinic_aeq_unregister_swe_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_ceq_register_sw_cb().-Prototype-was-for-hinic_ceq_register_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:warning:expecting-prototype-for-hinic_unregister_ppf_mbox_cb().-Prototype-was-for-hinic_unregister_pf_mbox_cb()-instead
| |-- drivers-net-ethernet-linkdata-sxe-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-base-trace-sxe_trace.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_filter.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ipsec.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ptp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_tx_proc.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-base-log-sxe_log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_ring.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_num-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_size-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:variable-vfn-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-chan_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-param-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:warning:variable-ring_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_hw_leonis-nbl_flow_leonis.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_interrupt.c:warning:variable-dev-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_txrx.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-queue_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-vsi_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_debugfs.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:Excess-function-parameter-vmdq-description-in-ngbe_set_vmdq
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:Function-parameter-or-member-pool-not-described-in-ngbe_set_vmdq
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:expecting-prototype-for-ngbe_read_ee_hostif().-Prototype-was-for-ngbe_read_ee_hostif32()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:expecting-prototype-for-ngbe_read_ee_hostif().-Prototype-was-for-ngbe_read_ee_hostif_data()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:expecting-prototype-for-ngbe_write_ee_hostif().-Prototype-was-for-ngbe_write_ee_hostif_data32()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_hw.c:warning:variable-status-set-but-not-used
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_main.c:warning:expecting-prototype-for-ngbe_watchdog_update_link().-Prototype-was-for-ngbe_watchdog_update_link_status()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_main.c:warning:variable-vlvfb-set-but-not-used
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_phy.c:warning:expecting-prototype-for-ngbe_identify_module().-Prototype-was-for-ngbe_phy_identify()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_phy.c:warning:expecting-prototype-for-ngbe_tn_check_overtemp().-Prototype-was-for-ngbe_phy_check_overtemp()-instead
| |-- drivers-net-ethernet-wangxun-ngbe-ngbe_sriov.c:warning:expecting-prototype-for-ngbe_pet_vfs().-Prototype-was-for-ngbe_put_vfs()-instead
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-test_mask-set-but-not-used
| |-- drivers-pinctrl-zhaoxin-pinctrl-zhaoxin.c:warning:variable-value_back-set-but-not-used
| |-- drivers-platform-surface-surface3_power.c:warning:snprintf-will-always-be-truncated-specified-size-is-but-format-string-expands-to-at-least
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete_exit-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-function-ps3_dump_context_show-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_file_name-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_log-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_close-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_open-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_write-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_filename_build-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_local_time-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_resp_status_convert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_trigger_irq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_cmd_stat_content_clear-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_io_recv_ok_stat_inc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-function-ps3_dump_dir_length-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_pd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_vd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-function-ps3_sas_expander_phys_refresh-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_hba-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_raid-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_switch-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-function-ps3_hard_reset_to_ready-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-function-ps3_clean_mgr_cmd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_HDD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CLEAR_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_ENABLE_MSIX-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_MASK_DISABLE-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_STATUS_EXIST_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_SSD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-function-ps3_cli_ver_query-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_cmd_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_reset-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clean-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_all_pd_rc_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_cmd_waitq_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_exclusive_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_mgrq_resend-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_pd_waitq_ratio_update-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_tg_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_vd_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_conflict_queue_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_check-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_range_check_and_insert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-function-rbtDelNodeDo-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_hard_recovery_state_finish-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_alloc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_delete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_irq_queue_destroy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_state_transfer-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-function-ps3_sas_update_phy_info-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_set_task_manager_busy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_wait_for_outstanding_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsih.c:error:unused-function-ps3_scsih_dev_id_get-Werror-Wunused-function
| |-- drivers-spi-spi-axi-spi-engine.c:warning:Function-parameter-or-member-p-not-described-in-spi_engine_message_state
| |-- drivers-spmi-spmi-pmic-arb.c:warning:Function-parameter-or-member-core-not-described-in-spmi_pmic_arb
| |-- drivers-xcu-xcu_group.c:warning:no-previous-prototype-for-function-__xcu_group_attach
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-function-nfs_check_have_lookup_cache_flag
| |-- fs-nfs-enfs-dns_process.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_dns_process_ip
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_domain_for_each
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_domain_inc
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_iter_nfs_clnt
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_quick_sort
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_server_query_dns
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_swap_name_cache
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-enfs_update_domain_name
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-ip_list_append
| |-- fs-nfs-enfs-dns_process.c:warning:no-previous-prototype-for-function-query_dns_each_name
| |-- fs-nfs-enfs-enfs_config.c:warning:no-previous-prototype-for-function-enfs_glob_match
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_clean_server_lookup_cache_flag
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_lookupcache_timer_init
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_lookupcache_update_switch
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_lookupcache_workqueue_init
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_query_lookup_cache
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_query_lookup_cache_pre_check
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-enfs_update_lookup_cache_flag_to_server
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_add_work
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_execute_work
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_loop_rpclnt
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_routine
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_start
| |-- fs-nfs-enfs-enfs_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_workqueue_fini
| |-- fs-nfs-enfs-enfs_multipath.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_already_have_xprt
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_cmp_addrs
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_configure_xprt_to_clnt
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_create_multi_xprt
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_multipath_create_thread
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_release_rpc_clnt
| |-- fs-nfs-enfs-enfs_multipath.c:warning:no-previous-prototype-for-function-enfs_xprt_addrs_is_same
| |-- fs-nfs-enfs-enfs_multipath.c:warning:variable-link_count-set-but-not-used
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-enfs_parse_ip_single
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-enfs_valid_ip
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-isInvalidDns
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_dns_list
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_ip_ipv6_add
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_ip_list
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_ip_list_get_cursor
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_duplicate
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_ip_valid
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_ipv4_valid
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_ipv6_valid
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-nfs_multipath_parse_options_check_valid
| |-- fs-nfs-enfs-enfs_multipath_parse.c:warning:no-previous-prototype-for-function-parse_remote_type
| |-- fs-nfs-enfs-enfs_proc.c:warning:unused-variable-shardview_proc_fops
| |-- fs-nfs-enfs-enfs_remount.c:warning:no-previous-prototype-for-function-enfs_clnt_delete_obsolete_xprts
| |-- fs-nfs-enfs-enfs_roundrobin.c:warning:no-previous-prototype-for-function-enfs_lb_get_singular_xprt
| |-- fs-nfs-enfs-enfs_roundrobin.c:warning:no-previous-prototype-for-function-enfs_lb_revert_policy
| |-- fs-nfs-enfs-enfs_roundrobin.c:warning:no-previous-prototype-for-function-enfs_lb_switch_find_first_active_xprt
| |-- fs-nfs-enfs-enfs_roundrobin.c:warning:no-previous-prototype-for-function-enfs_lb_switch_get_main_xprt
| |-- fs-nfs-enfs-enfs_rpc_init.c:warning:no-previous-prototype-for-function-enfs_rpc_init
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-EnfsExtendDecodePreCheck
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendDecodeFsShard
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendDecodeLifInfo
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendDnsQuerySetArgs
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendDnsQuerySetRes
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-dorado_extend_route
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-nego_enfs_version
| |-- fs-nfs-enfs-failover_path.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- fs-nfs-enfs-pm_state.c:warning:variable-ret-set-but-not-used
| |-- fs-nfs-enfs-shard_route.c:warning:Cannot-understand-return-for-success-otherwise-for-failed
| |-- fs-nfs-enfs-shard_route.c:warning:Function-parameter-or-member-__list_name-not-described-in-DEFINE_CLEAR_LIST_FUNC
| |-- fs-nfs-enfs-shard_route.c:warning:Function-parameter-or-member-__struct_name-not-described-in-DEFINE_CLEAR_LIST_FUNC
| |-- fs-nfs-enfs_adapter.c:warning:no-previous-prototype-for-function-is_valid_option
| |-- fs-nfs-enfs_adapter.c:warning:no-previous-prototype-for-function-nfs_multipath_router_get
| |-- fs-nfs-enfs_adapter.c:warning:no-previous-prototype-for-function-nfs_multipath_router_put
| |-- fs-nfs-fs_context.c:warning:no-previous-prototype-for-function-getNfsMultiPathOpt
| |-- fs-proc-stat.c:warning:no-previous-prototype-for-function-bpf_get_idle_time
| |-- fs-proc-stat.c:warning:no-previous-prototype-for-function-bpf_get_iowait_time
| |-- fs-proc-stat.c:warning:no-previous-prototype-for-function-bpf_show_all_irqs
| |-- fs-resctrl-monitor.c:warning:Cannot-understand-closid_num_dirty_rmid-The-number-of-dirty-RMID-each-CLOSID-has.
| |-- fs-xfs-libxfs-xfs_alloc.c:warning:no-previous-prototype-for-function-xfs_ag_fixup_aside
| |-- include-linux-fortify-string.h:warning:call-to-__write_overflow_field-declared-with-warning-attribute:detected-write-beyond-size-of-field-(1st-parameter)-maybe-use-struct_group()
| |-- kernel-cpu.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Excess-function-parameter-pidfd-description-in-pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-__pidfd_prepare
| |-- kernel-fork.c:warning:Function-parameter-or-member-ret-not-described-in-pidfd_prepare
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-register_irqchip_proc
| |-- kernel-irq-proc.c:warning:no-previous-prototype-for-function-unregister_irqchip_proc
| |-- kernel-livepatch-core.c:warning:bad-line:
| |-- kernel-locking-mutex.c:warning:variable-ifs_clock-is-used-uninitialized-whenever-if-condition-is-true
| |-- kernel-power-swap.c:warning:Excess-function-parameter-exclusive-description-in-swsusp_close
| |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-tg_get_affinity_period
| |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-tg_set_affinity_period
| |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-tg_set_dynamic_affinity_mode
| |-- kernel-xsched-cfs.c:warning:Excess-function-parameter-gxcu-description-in-xg_update
| |-- kernel-xsched-cfs.c:warning:Function-parameter-or-member-new_xrt-not-described-in-xs_cfs_rq_update
| |-- kernel-xsched-cfs.c:warning:Function-parameter-or-member-task_delta-not-described-in-xg_update
| |-- kernel-xsched-cfs.c:warning:Function-parameter-or-member-xg-not-described-in-xg_update
| |-- kernel-xsched-cfs.c:warning:Function-parameter-or-member-xse_cfs-not-described-in-xs_cfs_rq_update
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-rq_init_fair
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-xs_rq_add
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-xs_rq_remove
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-xse_deinit_fair
| |-- kernel-xsched-cfs.c:warning:no-previous-prototype-for-function-xse_init_fair
| |-- kernel-xsched-cgroup.c:warning:Cannot-understand-brief-Initialize-the-core-components-of-an-xsched_group.
| |-- kernel-xsched-cgroup.c:warning:no-previous-prototype-for-function-xcu_move_task
| |-- kernel-xsched-core.c:warning:no-previous-prototype-for-function-xsched_sched_init
| |-- kernel-xsched-core.c:warning:no-previous-prototype-for-function-xsched_xse_set_class
| |-- kernel-xsched-rt.c:warning:no-previous-prototype-for-function-rq_init_rt
| |-- kernel-xsched-rt.c:warning:no-previous-prototype-for-function-xse_deinit_rt
| |-- kernel-xsched-rt.c:warning:no-previous-prototype-for-function-xse_init_rt
| |-- kernel-xsched-vstream.c:warning:no-previous-prototype-for-function-xcu_find
| |-- lib-crypto-mpi-mpi-inv.c:warning:variable-k-set-but-not-used
| |-- lib-kunit-test.c:warning:cast-from-void-(-)(const-void-)-to-kunit_action_t-(aka-void-(-)(void-)-)-converts-to-incompatible-function-type
| |-- lib-test_kmod.c:warning:Function-parameter-or-member-task_sync-not-described-in-kmod_test_device_info
| |-- lib-test_kmod.c:warning:Function-parameter-or-member-thread_mutex-not-described-in-kmod_test_device
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- net-ipv4-tcp_comp.c:warning:no-previous-prototype-for-function-comp_setup_strp
| `-- net-ipv4-tcp_comp.c:warning:no-previous-prototype-for-function-comp_stream_read
|-- x86_64-randconfig-006-20251216
| |-- drivers-cpufreq-acpi-cpufreq.c:warning:sched_set_itmt-defined-but-not-used
| |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_pcrread
| |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_calc_boot_aggregate
| |-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_extend
| `-- security-integrity-ima-ima_tpm.c:warning:no-previous-prototype-for-ima_tpm_init
|-- x86_64-randconfig-011-20251215
| |-- lib-kunit-test.c:warning:cast-from-void-(-)(const-void-)-to-kunit_action_t-(aka-void-(-)(void-)-)-converts-to-incompatible-function-type
| |-- lib-test_kmod.c:warning:Function-parameter-or-member-task_sync-not-described-in-kmod_test_device_info
| `-- lib-test_kmod.c:warning:Function-parameter-or-member-thread_mutex-not-described-in-kmod_test_device
|-- x86_64-randconfig-012-20251215
| |-- drivers-crypto-ccp-hygon-hct.c:warning:no-previous-prototype-for-function-hct_pin_memory
| |-- drivers-crypto-ccp-hygon-psp-dev.c:warning:no-previous-prototype-for-function-psp_mutex_init
| |-- drivers-crypto-ccp-hygon-tdm-kernel-guard.c:warning:no-previous-prototype-for-function-tdm_service_exit
| |-- drivers-crypto-ccp-hygon-tdm-kernel-guard.c:warning:no-previous-prototype-for-function-tdm_service_run
| |-- drivers-crypto-ccp-hygon-vpsp.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-crypto-ccp-hygon-vpsp.c:warning:no-previous-prototype-for-function-vpsp_do_cmd
| |-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_fifo_irq_xfer
| `-- drivers-i2c-busses-i2c-zhaoxin.c:warning:no-previous-prototype-for-function-zxi2c_xfer
|-- x86_64-randconfig-014-20251215
| |-- 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-dax-super.c:warning:Function-parameter-or-member-KABI_RESERVE(-not-described-in-dax_device
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_dcb.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_csum.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_common-nbl_common.c:warning:variable-node_size-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-chan_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dispatch.c:warning:variable-param-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-phy_ops-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_vsi.c:warning:variable-vsi_mgt-set-but-not-used
| |-- drivers-net-ethernet-nebula-matrix-nbl-nbl_main.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| `-- lib-crypto-mpi-mpi-inv.c:warning:variable-k-set-but-not-used
|-- x86_64-randconfig-016-20251215
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-argp-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-argp-not-described-in-csv3_launch_encrypt_data_alt_1
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-argp-not-described-in-csv3_launch_encrypt_data_alt_2
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-end_pgoff-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-kvm-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-kvm-not-described-in-csv3_launch_encrypt_data_alt_1
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-kvm-not-described-in-csv3_launch_encrypt_data_alt_2
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-params-not-described-in-__csv3_launch_encrypt_data
| |-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-src_buf-not-described-in-__csv3_launch_encrypt_data
| `-- arch-x86-kvm-svm-csv.c:warning:Function-parameter-or-member-start_pgoff-not-described-in-__csv3_launch_encrypt_data
|-- x86_64-randconfig-074-20251216
| `-- include-net-sock.h:error:struct-sock_common-has-no-member-named-skc_v6_daddr
|-- x86_64-randconfig-075-20251218
| `-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_dev_user.c:warning:assignment-to-struct-eventfd_ctx-from-int-makes-pointer-from-integer-without-a-cast
|-- x86_64-randconfig-122-20251217
| |-- drivers-crypto-ccp-ccp-crypto-sm2-hygon.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-crypto-ccp-ccp-crypto-sm2-hygon.c:sparse:sparse:cast-to-restricted-__be64
| |-- drivers-crypto-ccp-ccp-crypto-sm2-hygon.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__be32-usertype
| |-- drivers-crypto-ccp-ccp-crypto-sm2-hygon.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-got-restricted-__be64-usertype
| |-- drivers-crypto-ccp-hygon-ccp-dev-v5.c:sparse:sparse:cast-from-restricted-__le32
| |-- drivers-crypto-ccp-hygon-ccp-dev-v5.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-restricted-__le32-usertype-sm3_len_hi-got-unsigned-int-usertype
| |-- drivers-crypto-ccp-hygon-ccp-dev-v5.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-restricted-__le32-usertype-sm3_len_lo-got-unsigned-int-usertype
| |-- drivers-crypto-ccp-hygon-ccp-dev-v5.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__le32-usertype
| `-- kernel-crash_core.c:sparse:sparse:symbol-__crash_hotplug_lock-was-not-declared.-Should-it-be-static
|-- x86_64-randconfig-123-20251217
| |-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:sparse:sparse:cast-to-restricted-__be64
| |-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-flag-got-restricted-gfp_t
| |-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-desc-got-restricted-__be64-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-got-restricted-__be64-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-hw_cmd_paddr-got-restricted-__be64-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-hw_wb_resp_paddr-got-restricted-__be64-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-next_cell_paddr-got-restricted-__be64-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-cfg_get_func_sf_en-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-cfg_set_func_sf_en-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_rdma_mpts_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_rdma_mtts_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_rdma_qps_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_gpa_check_enable-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_hash_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_max_cache_conn-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_max_conn-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_mpt_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_mpt_resvd-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_pagesize_reorder-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_qpc_alloc_mode-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_qpc_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_qpc_resvd_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_reorder_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_scq_resvd-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_scqc_alloc_mode-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_scqc_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_test_xid_alloc_mode-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:sparse:sparse:symbol-g_vfs_num-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_cmdq.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-net-ethernet-huawei-hinic-hinic_cmdq.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-net-ethernet-huawei-hinic-hinic_cmdq.c:sparse:sparse:cast-to-restricted-__be64
| |-- drivers-net-ethernet-huawei-hinic-hinic_cmdq.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-unsigned-char-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_cmdq.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-noderef-usertype-__iomem-db_base-got-unsigned-char-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_cmdq.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-addressable-usertype-db_info-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_cmdq.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-got-restricted-__be64-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_cmdq.c:sparse:sparse:symbol-hinic_set_cmdq_ctxts-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_dbgtool_knl.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__user-from-got-unsigned-char-usertype-cmd
| |-- drivers-net-ethernet-huawei-hinic-hinic_dbgtool_knl.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__user-from-got-void
| |-- drivers-net-ethernet-huawei-hinic-hinic_dbgtool_knl.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__user-from-got-void-buf_in
| |-- drivers-net-ethernet-huawei-hinic-hinic_dbgtool_knl.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-struct-ffm_record_info-ffm_rd
| |-- drivers-net-ethernet-huawei-hinic-hinic_dbgtool_knl.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-struct-pf_dev_info-dev_info
| |-- drivers-net-ethernet-huawei-hinic-hinic_dbgtool_knl.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-unsigned-short-usertype-out_size
| |-- drivers-net-ethernet-huawei-hinic-hinic_dbgtool_knl.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-void-ack
| |-- drivers-net-ethernet-huawei-hinic-hinic_dbgtool_knl.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-void-buf_out
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:sparse:sparse:symbol-__set_cos_up_map-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:sparse:sparse:symbol-hinic_dcb_config_init-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:sparse:sparse:symbol-hinic_dcbnl_set_all-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:sparse:sparse:symbol-hinic_init_ieee_settings-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_dcb.c:sparse:sparse:symbol-hinic_set_prio_tc_map-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:sparse:sparse:cast-to-restricted-__be64
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-desc-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_ethtool.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_ethtool.c:sparse:sparse:symbol-hinic_lp_test-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-addressable-assigned-usertype-val-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-udp_port-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:symbol-_set_led_status-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:symbol-comm_pf_mbox_handler-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:symbol-hinic_get_phy_init_status-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:symbol-hinic_hw_rx_buf_size-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:symbol-hinic_msg_to_mgmt_no_ack-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:symbol-hinic_ppf_ht_gpa_deinit-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:symbol-hinic_ppf_ht_gpa_init-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:sparse:sparse:symbol-hw_cmd_support_vf-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-restricted-gfp_t-usertype-gfp-got-unsigned-int-flag
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-val-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-noderef-usertype-__iomem-cfg_regs_base-got-void-cfg_reg_base
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-noderef-usertype-__iomem-db_base-got-void-db_base
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-noderef-usertype-__iomem-intr_regs_base-got-void-intr_reg_ba
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:Using-plain-integer-as-NULL-pointer
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-cfg_reg_base-got-void-noderef-__iomem-cfg_reg_base
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-assigned-cfg_reg_base-got-void-noderef-__iomem-cfg_reg_base
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-assigned-db_base-got-void-noderef-__iomem-db_base
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-assigned-intr_reg_base-got-void-noderef-__iomem-intr_reg_base
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-manufacture_id-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-short-usertype-reason_code-got-restricted-__be16-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-short-usertype-resp_code-got-restricted-__be16-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:symbol-g_hinic_chip_list-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:symbol-hinic_destroy_syncfw_timer-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:symbol-hinic_event_process-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:symbol-hinic_get_ppf_hwdev_by_pdev-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:symbol-hinic_init_syncfw_timer-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:symbol-hinic_version_cmp-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_lld.c:sparse:sparse:symbol-ver_incompat_table-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_main.c:sparse:sparse:symbol-g_hinic_netdev_notifiers_mutex-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_main.c:sparse:sparse:symbol-hinic_netdev_event-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:sparse:sparse:cast-to-restricted-__be64
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-unsigned-char-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-usertype-data-got-unsigned-char-noderef-usertype-__iomem
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:sparse:sparse:symbol-check_vf_mbox_random_id-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:sparse:sparse:symbol-dump_mox_reg-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:sparse:sparse:symbol-set_vf_mbox_random_id-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_multi_host_mgmt.c:sparse:sparse:symbol-comm_ppf_to_pf_handler-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_multi_host_mgmt.c:sparse:sparse:symbol-hinic_nic_ppf_mbox_handler-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_multi_host_mgmt.c:sparse:sparse:symbol-hinic_nic_ppf_to_pf_handler-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_multi_host_mgmt.c:sparse:sparse:symbol-hinic_register_slave_ppf-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-ctx-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-group_index-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-offset-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-size-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:symbol-hinic_hiovs_del_cpath_vlan-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:symbol-hinic_hiovs_set_cpath_vlan-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:symbol-hw_speed_convert-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:symbol-nic_cmd_support_vf-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_cfg.c:sparse:sparse:symbol-nic_pf_mbox_handler-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_dbg.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_dbg.c:sparse:sparse:incorrect-type-in-return-expression-(different-base-types)-expected-unsigned-short-got-restricted-__be16-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_io.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_io.c:sparse:sparse:cast-to-restricted-__be16
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_io.c:sparse:sparse:cast-to-restricted-__be64
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_io.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-unsigned-long-long-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_io.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-addressable-usertype-db_info-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_io.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-short-usertype-got-restricted-__be16-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_io.c:sparse:sparse:symbol-hinic_qp_prepare_cmdq_header-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_io.c:sparse:sparse:symbol-hinic_rq_prepare_ctxt-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_io.c:sparse:sparse:symbol-hinic_sq_prepare_ctxt-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__user-from-got-void
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__user-from-got-void-in_buff
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-void-out_buf
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:symbol-get_ets_info-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:symbol-get_pfc_info-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:symbol-get_support_tc-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:symbol-get_support_up-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:symbol-set_ets-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:symbol-set_pfc_control-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_nictool.c:sparse:sparse:symbol-set_pfc_priority-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_qp.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-net-ethernet-huawei-hinic-hinic_qp.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-status-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_rx.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-addr_high-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_rx.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-addr_low-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_rx.c:sparse:sparse:symbol-hinic_rx_free_buffers-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_rx.c:sparse:sparse:symbol-rx_pass_super_cqe-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_sml_counter.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-ctr_id-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_sml_counter.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_sml_counter.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-value-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_sml_lt.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-assigned-usertype-csr_write_data_h-got-restricted-__be32-userty
| |-- drivers-net-ethernet-huawei-hinic-hinic_sml_lt.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-assigned-usertype-csr_write_data_l-got-restricted-__be32-userty
| |-- drivers-net-ethernet-huawei-hinic-hinic_sml_lt.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-assigned-usertype-val32-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_sml_lt.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_sml_lt.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-index-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_sml_lt.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-value-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_tx.c:sparse:sparse:cast-to-restricted-__be32
| |-- drivers-net-ethernet-huawei-hinic-hinic_tx.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-hi_addr-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_tx.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-len-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_tx.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-lo_addr-got-restricted-__be32-usertype
| |-- drivers-net-ethernet-huawei-hinic-hinic_tx.c:sparse:sparse:symbol-hinic_setup_tx_wqe-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_tx.c:sparse:sparse:symbol-hinic_stop_sq-was-not-declared.-Should-it-be-static
| |-- drivers-net-ethernet-huawei-hinic-hinic_wq.c:sparse:sparse:cast-to-restricted-__be64
| |-- drivers-net-ethernet-huawei-hinic-hinic_wq.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-flag-got-restricted-gfp_t
| `-- drivers-net-ethernet-huawei-hinic-hinic_wq.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-got-restricted-__be64-usertype
|-- x86_64-randconfig-123-20251218
| `-- drivers-net-ethernet-nebula-matrix-nbl-nbl_core-nbl_service.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__user-from-got-void
`-- x86_64-randconfig-161-20251215
|-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
|-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-is_zhaoxin_kh40000
|-- arch-x86-kernel-early-quirks.c:warning:no-previous-prototype-for-kh40000_get_direct_dma_ops
`-- drivers-net-ethernet-nebula-matrix-nbl-nbl_hw-nbl_adminq.c:warning:08x-directive-output-may-be-truncated-writing-bytes-into-a-region-of-size-between-and
elapsed time: 1466m
configs tested: 6
configs skipped: 6
tested configs:
arm64 allnoconfig gcc-15.1.0
loongarch allnoconfig clang-22
x86_64 allmodconfig clang-20
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 rhel-9.4-rust clang-20
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3557/3557] security/integrity/ima/ima_digest_list.c:164:37: sparse: sparse: cast to restricted __le16
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 5fbe16a682d5af0c2f7145096851e31e3c921d64 [3557/3557] ima: Execute parser to upload digest lists not recognizable by the kernel
config: arm64-randconfig-r132-20251218 (https://download.01.org/0day-ci/archive/20251221/202512211327.X52XldqR-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512211327.X52XldqR-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512211327.X52XldqR-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> security/integrity/ima/ima_digest_list.c:164:37: sparse: sparse: cast to restricted __le16
security/integrity/ima/ima_digest_list.c:165:42: sparse: sparse: cast to restricted __le16
security/integrity/ima/ima_digest_list.c:166:37: sparse: sparse: cast to restricted __le16
>> security/integrity/ima/ima_digest_list.c:167:38: sparse: sparse: cast to restricted __le32
security/integrity/ima/ima_digest_list.c:168:40: sparse: sparse: cast to restricted __le32
>> security/integrity/ima/ima_digest_list.c:416:20: sparse: sparse: symbol 'parser_task' was not declared. Should it be static?
vim +164 security/integrity/ima/ima_digest_list.c
b3fef06570ef2b Roberto Sassu 2023-09-12 138
b3fef06570ef2b Roberto Sassu 2023-09-12 139 int ima_parse_compact_list(loff_t size, void *buf, int op)
b3fef06570ef2b Roberto Sassu 2023-09-12 140 {
b3fef06570ef2b Roberto Sassu 2023-09-12 141 u8 *digest;
b3fef06570ef2b Roberto Sassu 2023-09-12 142 void *bufp = buf, *bufendp = buf + size;
b3fef06570ef2b Roberto Sassu 2023-09-12 143 struct compact_list_hdr *hdr;
b3fef06570ef2b Roberto Sassu 2023-09-12 144 size_t digest_len;
b3fef06570ef2b Roberto Sassu 2023-09-12 145 int ret = 0, i;
b3fef06570ef2b Roberto Sassu 2023-09-12 146
80701e75d21f48 Roberto Sassu 2023-09-12 147 if (!(ima_digest_list_actions & ima_policy_flag))
80701e75d21f48 Roberto Sassu 2023-09-12 148 return -EACCES;
80701e75d21f48 Roberto Sassu 2023-09-12 149
b3fef06570ef2b Roberto Sassu 2023-09-12 150 while (bufp < bufendp) {
b3fef06570ef2b Roberto Sassu 2023-09-12 151 if (bufp + sizeof(*hdr) > bufendp) {
b3fef06570ef2b Roberto Sassu 2023-09-12 152 pr_err("compact list, invalid data\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 153 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 154 }
b3fef06570ef2b Roberto Sassu 2023-09-12 155
b3fef06570ef2b Roberto Sassu 2023-09-12 156 hdr = bufp;
b3fef06570ef2b Roberto Sassu 2023-09-12 157
b3fef06570ef2b Roberto Sassu 2023-09-12 158 if (hdr->version != 1) {
b3fef06570ef2b Roberto Sassu 2023-09-12 159 pr_err("compact list, unsupported version\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 160 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 161 }
b3fef06570ef2b Roberto Sassu 2023-09-12 162
b3fef06570ef2b Roberto Sassu 2023-09-12 163 if (ima_canonical_fmt) {
b3fef06570ef2b Roberto Sassu 2023-09-12 @164 hdr->type = le16_to_cpu(hdr->type);
b3fef06570ef2b Roberto Sassu 2023-09-12 165 hdr->modifiers = le16_to_cpu(hdr->modifiers);
b3fef06570ef2b Roberto Sassu 2023-09-12 166 hdr->algo = le16_to_cpu(hdr->algo);
b3fef06570ef2b Roberto Sassu 2023-09-12 @167 hdr->count = le32_to_cpu(hdr->count);
b3fef06570ef2b Roberto Sassu 2023-09-12 168 hdr->datalen = le32_to_cpu(hdr->datalen);
b3fef06570ef2b Roberto Sassu 2023-09-12 169 }
b3fef06570ef2b Roberto Sassu 2023-09-12 170
b3fef06570ef2b Roberto Sassu 2023-09-12 171 if (hdr->algo >= HASH_ALGO__LAST)
b3fef06570ef2b Roberto Sassu 2023-09-12 172 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 173
b3fef06570ef2b Roberto Sassu 2023-09-12 174 digest_len = hash_digest_size[hdr->algo];
b3fef06570ef2b Roberto Sassu 2023-09-12 175
b3fef06570ef2b Roberto Sassu 2023-09-12 176 if (hdr->type >= COMPACT__LAST) {
b3fef06570ef2b Roberto Sassu 2023-09-12 177 pr_err("compact list, invalid type %d\n", hdr->type);
b3fef06570ef2b Roberto Sassu 2023-09-12 178 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 179 }
b3fef06570ef2b Roberto Sassu 2023-09-12 180
b3fef06570ef2b Roberto Sassu 2023-09-12 181 bufp += sizeof(*hdr);
b3fef06570ef2b Roberto Sassu 2023-09-12 182
b3fef06570ef2b Roberto Sassu 2023-09-12 183 for (i = 0; i < hdr->count; i++) {
b3fef06570ef2b Roberto Sassu 2023-09-12 184 if (bufp + digest_len > bufendp) {
b3fef06570ef2b Roberto Sassu 2023-09-12 185 pr_err("compact list, invalid data\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 186 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 187 }
b3fef06570ef2b Roberto Sassu 2023-09-12 188
b3fef06570ef2b Roberto Sassu 2023-09-12 189 digest = bufp;
b3fef06570ef2b Roberto Sassu 2023-09-12 190 bufp += digest_len;
b3fef06570ef2b Roberto Sassu 2023-09-12 191
b3fef06570ef2b Roberto Sassu 2023-09-12 192 if (op == DIGEST_LIST_OP_ADD)
b3fef06570ef2b Roberto Sassu 2023-09-12 193 ret = ima_add_digest_data_entry(digest,
b3fef06570ef2b Roberto Sassu 2023-09-12 194 hdr->algo, hdr->type, hdr->modifiers);
b3fef06570ef2b Roberto Sassu 2023-09-12 195 else if (op == DIGEST_LIST_OP_DEL)
b3fef06570ef2b Roberto Sassu 2023-09-12 196 ima_del_digest_data_entry(digest, hdr->algo,
b3fef06570ef2b Roberto Sassu 2023-09-12 197 hdr->type);
b3fef06570ef2b Roberto Sassu 2023-09-12 198 if (ret < 0 && ret != -EEXIST)
b3fef06570ef2b Roberto Sassu 2023-09-12 199 return ret;
b3fef06570ef2b Roberto Sassu 2023-09-12 200 }
b3fef06570ef2b Roberto Sassu 2023-09-12 201
b3fef06570ef2b Roberto Sassu 2023-09-12 202 if (i != hdr->count ||
b3fef06570ef2b Roberto Sassu 2023-09-12 203 bufp != (void *)hdr + sizeof(*hdr) + hdr->datalen) {
b3fef06570ef2b Roberto Sassu 2023-09-12 204 pr_err("compact list, invalid data\n");
b3fef06570ef2b Roberto Sassu 2023-09-12 205 return -EINVAL;
b3fef06570ef2b Roberto Sassu 2023-09-12 206 }
b3fef06570ef2b Roberto Sassu 2023-09-12 207 }
b3fef06570ef2b Roberto Sassu 2023-09-12 208
b3fef06570ef2b Roberto Sassu 2023-09-12 209 return bufp - buf;
b3fef06570ef2b Roberto Sassu 2023-09-12 210 }
80701e75d21f48 Roberto Sassu 2023-09-12 211
:::::: The code at line 164 was first introduced by commit
:::::: b3fef06570ef2b61dd7181e5c1d128bfcbf6b2ef ima: Add parser of compact digest list
:::::: TO: Roberto Sassu <roberto.sassu(a)huawei.com>
:::::: CC: zgzxx <zhangguangzhi3(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 1/1] drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:883:6: error: no previous prototype for function 'sss_nic_port_module_cable_plug'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 6864d14bb90f03a1e5b7fbcc04fc2ba4d692bd3e [1/1] support 3SNIC 910/920/930 NIC
config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20251221/202512211239.WIsno7Ky-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512211239.WIsno7Ky-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512211239.WIsno7Ky-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:6:
In file included from include/linux/pci.h:1663:
In file included from include/linux/dmapool.h:14:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2204:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:883:6: error: no previous prototype for function 'sss_nic_port_module_cable_plug' [-Werror,-Wmissing-prototypes]
883 | void sss_nic_port_module_cable_plug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:883:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
883 | void sss_nic_port_module_cable_plug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:889:6: error: no previous prototype for function 'sss_nic_port_module_cable_unplug' [-Werror,-Wmissing-prototypes]
889 | void sss_nic_port_module_cable_unplug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:889:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
889 | void sss_nic_port_module_cable_unplug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:895:6: error: no previous prototype for function 'sss_nic_port_module_link_err' [-Werror,-Wmissing-prototypes]
895 | void sss_nic_port_module_link_err(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:895:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
895 | void sss_nic_port_module_link_err(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1034:22: error: no previous prototype for function 'get_nic_uld_info' [-Werror,-Wmissing-prototypes]
1034 | struct sss_uld_info *get_nic_uld_info(void)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1034:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1034 | struct sss_uld_info *get_nic_uld_info(void)
| ^
| static
9 errors generated.
--
In file included from drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:6:
In file included from include/net/xfrm.h:9:
In file included from include/linux/skbuff.h:17:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/x86/include/asm/cacheflush.h:5:
In file included from include/linux/mm.h:2204:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:42:5: error: no previous prototype for function 'sss_nic_alloc_sq_resource' [-Werror,-Wmissing-prototypes]
42 | int sss_nic_alloc_sq_resource(struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:42:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
42 | int sss_nic_alloc_sq_resource(struct sss_nic_dev *nic_dev,
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:87:6: error: no previous prototype for function 'sss_nic_free_sq_resource' [-Werror,-Wmissing-prototypes]
87 | void sss_nic_free_sq_resource(struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:87:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
87 | void sss_nic_free_sq_resource(struct sss_nic_dev *nic_dev,
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:104:6: error: no previous prototype for function 'sss_nic_init_all_sq' [-Werror,-Wmissing-prototypes]
104 | void sss_nic_init_all_sq(struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:104:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
104 | void sss_nic_init_all_sq(struct sss_nic_dev *nic_dev,
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:128:5: error: no previous prototype for function 'sss_nic_alloc_sq_desc_group' [-Werror,-Wmissing-prototypes]
128 | int sss_nic_alloc_sq_desc_group(struct sss_nic_dev *nic_dev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:128:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
128 | int sss_nic_alloc_sq_desc_group(struct sss_nic_dev *nic_dev)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:153:6: error: no previous prototype for function 'sss_nic_free_sq_desc_group' [-Werror,-Wmissing-prototypes]
153 | void sss_nic_free_sq_desc_group(struct sss_nic_dev *nic_dev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:153:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
153 | void sss_nic_free_sq_desc_group(struct sss_nic_dev *nic_dev)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:200:6: error: no previous prototype for function 'sss_nic_flush_all_sq' [-Werror,-Wmissing-prototypes]
200 | void sss_nic_flush_all_sq(struct sss_nic_dev *nic_dev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx_init.c:200:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
200 | void sss_nic_flush_all_sq(struct sss_nic_dev *nic_dev)
| ^
| static
11 errors generated.
--
In file included from drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:8:
In file included from include/linux/skbuff.h:17:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/x86/include/asm/cacheflush.h:5:
In file included from include/linux/mm.h:2204:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:80:5: error: no previous prototype for function 'sss_nic_alloc_rq_res_group' [-Werror,-Wmissing-prototypes]
80 | int sss_nic_alloc_rq_res_group(struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:80:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
80 | int sss_nic_alloc_rq_res_group(struct sss_nic_dev *nic_dev,
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:136:6: error: no previous prototype for function 'sss_nic_free_rq_res_group' [-Werror,-Wmissing-prototypes]
136 | void sss_nic_free_rq_res_group(struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:136:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
136 | void sss_nic_free_rq_res_group(struct sss_nic_dev *nic_dev,
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:208:5: error: no previous prototype for function 'sss_nic_init_rq_desc_group' [-Werror,-Wmissing-prototypes]
208 | int sss_nic_init_rq_desc_group(struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:208:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
208 | int sss_nic_init_rq_desc_group(struct sss_nic_dev *nic_dev,
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:235:6: error: no previous prototype for function 'sss_nic_free_rq_desc_group' [-Werror,-Wmissing-prototypes]
235 | void sss_nic_free_rq_desc_group(struct sss_nic_dev *nic_dev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:235:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
235 | void sss_nic_free_rq_desc_group(struct sss_nic_dev *nic_dev)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:241:5: error: no previous prototype for function 'sss_nic_alloc_rq_desc_group' [-Werror,-Wmissing-prototypes]
241 | int sss_nic_alloc_rq_desc_group(struct sss_nic_dev *nic_dev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:241:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
241 | int sss_nic_alloc_rq_desc_group(struct sss_nic_dev *nic_dev)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:267:5: error: no previous prototype for function 'sss_nic_update_rx_rss' [-Werror,-Wmissing-prototypes]
267 | int sss_nic_update_rx_rss(struct sss_nic_dev *nic_dev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:267:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
267 | int sss_nic_update_rx_rss(struct sss_nic_dev *nic_dev)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:282:6: error: no previous prototype for function 'sss_nic_reset_rx_rss' [-Werror,-Wmissing-prototypes]
282 | void sss_nic_reset_rx_rss(struct net_device *netdev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_init.c:282:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
282 | void sss_nic_reset_rx_rss(struct net_device *netdev)
| ^
| static
12 errors generated.
--
In file included from drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_reset.c:8:
In file included from include/linux/skbuff.h:17:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/x86/include/asm/cacheflush.h:5:
In file included from include/linux/mm.h:2204:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_reset.c:179:6: error: no previous prototype for function 'sss_nic_rq_watchdog_handler' [-Werror,-Wmissing-prototypes]
179 | void sss_nic_rq_watchdog_handler(struct work_struct *work)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_reset.c:179:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
179 | void sss_nic_rq_watchdog_handler(struct work_struct *work)
| ^
| static
6 errors generated.
--
In file included from drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:7:
In file included from include/linux/etherdevice.h:20:
In file included from include/linux/if_ether.h:19:
In file included from include/linux/skbuff.h:17:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/x86/include/asm/cacheflush.h:5:
In file included from include/linux/mm.h:2204:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:350:6: error: no previous prototype for function 'sss_nic_flush_tcam_list' [-Werror,-Wmissing-prototypes]
350 | void sss_nic_flush_tcam_list(struct sss_nic_tcam_info *tcam_info)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:350:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
350 | void sss_nic_flush_tcam_list(struct sss_nic_tcam_info *tcam_info)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:366:6: error: no previous prototype for function 'sss_nic_flush_tcam_node_list' [-Werror,-Wmissing-prototypes]
366 | void sss_nic_flush_tcam_node_list(struct sss_nic_tcam_info *tcam_info)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:366:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
366 | void sss_nic_flush_tcam_node_list(struct sss_nic_tcam_info *tcam_info)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:382:6: error: no previous prototype for function 'sss_nic_flush_rx_flow_rule' [-Werror,-Wmissing-prototypes]
382 | void sss_nic_flush_rx_flow_rule(struct sss_nic_rx_rule *rx_flow_rule)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:382:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
382 | void sss_nic_flush_rx_flow_rule(struct sss_nic_rx_rule *rx_flow_rule)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:397:6: error: no previous prototype for function 'sss_nic_flush_tcam' [-Werror,-Wmissing-prototypes]
397 | void sss_nic_flush_tcam(struct sss_nic_dev *nic_dev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:397:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
397 | void sss_nic_flush_tcam(struct sss_nic_dev *nic_dev)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:797:5: error: no previous prototype for function 'sss_nic_ethtool_update_flow' [-Werror,-Wmissing-prototypes]
797 | int sss_nic_ethtool_update_flow(struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:797:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
797 | int sss_nic_ethtool_update_flow(struct sss_nic_dev *nic_dev,
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:842:5: error: no previous prototype for function 'sss_nic_ethtool_delete_flow' [-Werror,-Wmissing-prototypes]
842 | int sss_nic_ethtool_delete_flow(struct sss_nic_dev *nic_dev, u32 location)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:842:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
842 | int sss_nic_ethtool_delete_flow(struct sss_nic_dev *nic_dev, u32 location)
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:864:5: error: no previous prototype for function 'sss_nic_ethtool_get_flow' [-Werror,-Wmissing-prototypes]
864 | int sss_nic_ethtool_get_flow(const struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:864:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
864 | int sss_nic_ethtool_get_flow(const struct sss_nic_dev *nic_dev,
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:887:5: error: no previous prototype for function 'sss_nic_ethtool_get_all_flows' [-Werror,-Wmissing-prototypes]
887 | int sss_nic_ethtool_get_all_flows(const struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:887:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
887 | int sss_nic_ethtool_get_all_flows(const struct sss_nic_dev *nic_dev,
| ^
| static
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:905:6: error: no previous prototype for function 'sss_nic_validate_channel_setting_in_ntuple' [-Werror,-Wmissing-prototypes]
905 | bool sss_nic_validate_channel_setting_in_ntuple(const struct sss_nic_dev *nic_dev, u32 q_num)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:905:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
905 | bool sss_nic_validate_channel_setting_in_ntuple(const struct sss_nic_dev *nic_dev, u32 q_num)
| ^
| static
14 errors generated.
..
vim +/sss_nic_port_module_cable_plug +883 drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c
882
> 883 void sss_nic_port_module_cable_plug(struct sss_nic_dev *nic_dev, void *event_data)
884 {
885 nicif_info(nic_dev, link, nic_dev->netdev,
886 "Port module event: Cable plugged\n");
887 }
888
> 889 void sss_nic_port_module_cable_unplug(struct sss_nic_dev *nic_dev, void *event_data)
890 {
891 nicif_info(nic_dev, link, nic_dev->netdev,
892 "Port module event: Cable unplugged\n");
893 }
894
> 895 void sss_nic_port_module_link_err(struct sss_nic_dev *nic_dev, void *event_data)
896 {
897 struct sss_nic_port_module_event *port_event = event_data;
898 enum link_err_type err_type = port_event->err_type;
899
900 nicif_info(nic_dev, link, nic_dev->netdev,
901 "Fail to link, err_type: 0x%x\n", err_type);
902 }
903
904 static void sss_nic_port_module_event_handler(struct sss_nic_dev *nic_dev,
905 struct sss_event_info *event)
906 {
907 struct sss_nic_port_module_event *port_event = (void *)event->event_data;
908 enum port_module_event_type type = port_event->type;
909
910 sss_nic_port_module_event_handler_t handler[SSSNIC_PORT_MODULE_MAX_EVENT] = {
911 sss_nic_port_module_cable_plug,
912 sss_nic_port_module_cable_unplug,
913 sss_nic_port_module_link_err,
914 };
915
916 if (type >= SSSNIC_PORT_MODULE_MAX_EVENT) {
917 nicif_err(nic_dev, link, nic_dev->netdev,
918 "Unknown port module type %d\n", type);
919 return;
920 }
921
922 if (handler[type])
923 handler[type](nic_dev, event->event_data);
924 }
925
926 static void sss_nic_link_down(struct sss_nic_dev *nic_dev, struct sss_event_info *event)
927 {
928 struct net_device *netdev = nic_dev->netdev;
929
930 if (!SSS_CHANNEL_RES_VALID(nic_dev) ||
931 test_bit(SSSNIC_LP_TEST, &nic_dev->flags) ||
932 test_bit(SSSNIC_FORCE_LINK_UP, &nic_dev->flags))
933 return;
934
935 if (!netif_carrier_ok(netdev))
936 return;
937
938 netif_carrier_off(netdev);
939 nic_dev->link_status = false;
940 nicif_info(nic_dev, link, netdev, "Link is down\n");
941 }
942
943 static void sss_nic_link_up(struct sss_nic_dev *nic_dev, struct sss_event_info *event)
944 {
945 struct net_device *netdev = nic_dev->netdev;
946
947 if (!SSS_CHANNEL_RES_VALID(nic_dev) ||
948 test_bit(SSSNIC_LP_TEST, &nic_dev->flags) ||
949 test_bit(SSSNIC_FORCE_LINK_UP, &nic_dev->flags))
950 return;
951
952 if (netif_carrier_ok(netdev))
953 return;
954
955 netif_carrier_on(netdev);
956 nic_dev->link_status = true;
957
958 nicif_info(nic_dev, link, netdev, "Link is up\n");
959 }
960
961 static void sss_nic_comm_fail_envet_handler(struct sss_nic_dev *nic_dev,
962 struct sss_event_info *event)
963 {
964 struct sss_fault_event *fault = (void *)event->event_data;
965
966 if (fault->fault_level == SSS_FAULT_LEVEL_SERIOUS_FLR &&
967 fault->info.chip.func_id == sss_get_global_func_id(nic_dev->hwdev))
968 sss_nic_link_down(nic_dev, event);
969 }
970
971 static void sss_nic_event_handler(struct sss_nic_dev *nic_dev, struct sss_event_info *event)
972 {
973 sss_nic_event_handler_t handler[SSSNIC_EVENT_MAX] = {
974 sss_nic_link_down,
975 sss_nic_link_up,
976 sss_nic_port_module_event_handler,
977 NULL,
978 };
979
980 if (event->type >= SSSNIC_EVENT_MAX)
981 return;
982
983 if (handler[event->type])
984 handler[event->type](nic_dev, event);
985 }
986
987 static void sss_nic_comm_event_handler(struct sss_nic_dev *nic_dev,
988 struct sss_event_info *event)
989 {
990 sss_nic_event_handler_t handler[SSS_EVENT_MAX] = {
991 sss_nic_link_down,
992 sss_nic_link_down,
993 sss_nic_comm_fail_envet_handler,
994 sss_nic_sriov_state_change,
995 NULL,
996 sss_nic_link_down,
997 };
998
999 if (event->type >= SSS_EVENT_MAX)
1000 return;
1001
1002 if (handler[event->type])
1003 handler[event->type](nic_dev, event);
1004 }
1005
1006 static void sss_nic_event(struct sss_hal_dev *uld_dev, void *adapter,
1007 struct sss_event_info *event)
1008 {
1009 struct sss_nic_dev *nic_dev = adapter;
1010
1011 if (!nic_dev || !event || !sss_support_nic(uld_dev->hwdev))
1012 return;
1013
1014 if (event->service == SSS_EVENT_SRV_NIC) {
1015 sss_nic_event_handler(nic_dev, event);
1016 return;
1017 }
1018
1019 if (event->service == SSS_EVENT_SRV_COMM) {
1020 sss_nic_comm_event_handler(nic_dev, event);
1021 return;
1022 }
1023 }
1024
1025 struct sss_uld_info g_nic_uld_info = {
1026 .probe = sss_nic_probe,
1027 .remove = sss_nic_remove,
1028 .suspend = NULL,
1029 .resume = NULL,
1030 .event = sss_nic_event,
1031 .ioctl = sss_tool_ioctl,
1032 };
1033
> 1034 struct sss_uld_info *get_nic_uld_info(void)
1035 {
1036 return &g_nic_uld_info;
1037 }
1038
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3563/3563] drivers/scsi/linkdata/ps3stor/ps3_qos.c:3023:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
Hi openeuler-ci-bot,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 663a9a1c191fd26f1d8cb44edb6e0e50dd0536b2 [3563/3563] !14287 [OLK-6.6] SCSI: Support Linkdata HBA/RAID Controllers
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20251221/202512211148.JPQqoPy8-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512211148.JPQqoPy8-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512211148.JPQqoPy8-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/scsi/linkdata/ps3stor/ps3_qos.c:211:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
211 | ps3_qos_cmd_waitq_get(struct ps3_qos_tg_context *qos_tg_ctx,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:210:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
210 | struct qos_wait_queue *
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
335 | unsigned char ps3_qos_vd_cmdword_get(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
335 | unsigned char ps3_qos_vd_cmdword_get(struct ps3_cmd *cmd)
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
351 | unsigned char ps3_qos_exclusive_cmdword_get(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
351 | unsigned char ps3_qos_exclusive_cmdword_get(struct ps3_cmd *cmd)
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
363 | unsigned char ps3_qos_tg_decision(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
363 | unsigned char ps3_qos_tg_decision(struct ps3_cmd *cmd)
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
749 | unsigned char ps3_qos_all_pd_rc_get(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
749 | unsigned char ps3_qos_all_pd_rc_get(struct ps3_cmd *cmd)
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
876 | void ps3_pd_quota_waitq_clear_all(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
876 | void ps3_pd_quota_waitq_clear_all(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
892 | void ps3_pd_quota_waitq_clean(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
892 | void ps3_pd_quota_waitq_clean(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
1058 | void ps3_qos_pd_waitq_ratio_update(struct ps3_qos_pd_mgr *qos_pd_mgr)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1058 | void ps3_qos_pd_waitq_ratio_update(struct ps3_qos_pd_mgr *qos_pd_mgr)
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
2019 | unsigned char ps3_hba_qos_decision(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2019 | unsigned char ps3_hba_qos_decision(struct ps3_cmd *cmd)
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
2040 | void ps3_hba_qos_waitq_notify(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2040 | void ps3_hba_qos_waitq_notify(struct ps3_instance *instance)
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
2100 | bool ps3_cmd_waitq_abort(struct ps3_cmd *aborted_cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2100 | bool ps3_cmd_waitq_abort(struct ps3_cmd *aborted_cmd)
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
2463 | void ps3_hba_qos_waitq_clear_all(struct ps3_instance *instance, int resp_status)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2463 | void ps3_hba_qos_waitq_clear_all(struct ps3_instance *instance, int resp_status)
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
2827 | void ps3_hba_qos_vd_init(struct ps3_instance *instance,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2827 | void ps3_hba_qos_vd_init(struct ps3_instance *instance,
| ^
| static
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
2936 | void ps3_hba_qos_vd_reset(struct ps3_instance *instance, unsigned short disk_id)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2936 | void ps3_hba_qos_vd_reset(struct ps3_instance *instance, unsigned short disk_id)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:3023:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll' [-Werror,-Wmissing-prototypes]
3023 | void ps3_hba_qos_waitq_poll(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3023:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
3023 | void ps3_hba_qos_waitq_poll(struct ps3_instance *instance)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:3279:15: error: no previous prototype for function 'ps3_raid_qos_decision' [-Werror,-Wmissing-prototypes]
3279 | unsigned char ps3_raid_qos_decision(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3279:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
3279 | unsigned char ps3_raid_qos_decision(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:3334:6: error: no previous prototype for function 'ps3_qos_mgrq_resend' [-Werror,-Wmissing-prototypes]
3334 | void ps3_qos_mgrq_resend(struct ps3_qos_softq_mgr *softq_mgr)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3334:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
3334 | void ps3_qos_mgrq_resend(struct ps3_qos_softq_mgr *softq_mgr)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:3478:6: error: no previous prototype for function 'ps3_raid_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
3478 | void ps3_raid_qos_waitq_notify(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3478:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
3478 | void ps3_raid_qos_waitq_notify(struct ps3_instance *instance)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:3821:15: error: no previous prototype for function 'ps3_raid_qos_waitq_abort' [-Werror,-Wmissing-prototypes]
3821 | unsigned char ps3_raid_qos_waitq_abort(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3821:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
3821 | unsigned char ps3_raid_qos_waitq_abort(struct ps3_cmd *cmd)
| ^
| static
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
>> drivers/scsi/linkdata/ps3stor/ps3_scsih.c:1958:1: error: unused function 'ps3_scsih_dev_id_get' [-Werror,-Wunused-function]
1958 | ps3_scsih_dev_id_get(const struct scsi_cmnd *s_cmd)
| ^~~~~~~~~~~~~~~~~~~~
1 error generated.
--
>> drivers/scsi/linkdata/ps3stor/ps3_irq.c:21:27: error: unused variable 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' [-Werror,-Wunused-const-variable]
21 | static const unsigned int PS3_INTERRUPT_CMD_DISABLE_ALL_MASK = 0x02;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: unused variable 'PS3_INTERRUPT_CMD_ENABLE_MSIX' [-Werror,-Wunused-const-variable]
22 | static const unsigned int PS3_INTERRUPT_CMD_ENABLE_MSIX = 0x01;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: unused variable 'PS3_INTERRUPT_MASK_DISABLE' [-Werror,-Wunused-const-variable]
23 | static const unsigned int PS3_INTERRUPT_MASK_DISABLE = 0x00000002;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: unused variable 'PS3_INTERRUPT_STATUS_EXIST_IRQ' [-Werror,-Wunused-const-variable]
24 | static const unsigned int PS3_INTERRUPT_STATUS_EXIST_IRQ = 0x00000001;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: unused variable 'PS3_INTERRUPT_CLEAR_IRQ' [-Werror,-Wunused-const-variable]
25 | static const unsigned int PS3_INTERRUPT_CLEAR_IRQ = 0x00000001;
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_irq.c:27:27: error: unused variable 'PS3_SSD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
27 | static const unsigned int PS3_SSD_IOPS_MSIX_VECTORS = 8;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: unused variable 'PS3_HDD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
28 | static const unsigned int PS3_HDD_IOPS_MSIX_VECTORS = 8;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
7 errors generated.
--
>> drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:41:19: error: unused function 'time_for_log' [-Werror,-Wunused-function]
41 | static inline int time_for_log(char *buff, int buf_len)
| ^~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:65:19: error: unused function 'time_for_file_name' [-Werror,-Wunused-function]
65 | static inline int time_for_file_name(char *buff, int buf_len)
| ^~~~~~~~~~~~~~~~~~
2 errors generated.
vim +/ps3_hba_qos_waitq_poll +3023 drivers/scsi/linkdata/ps3stor/ps3_qos.c
97a2bb6ece556f liujie_answer 2024-12-24 2935
97a2bb6ece556f liujie_answer 2024-12-24 @2936 void ps3_hba_qos_vd_reset(struct ps3_instance *instance, unsigned short disk_id)
97a2bb6ece556f liujie_answer 2024-12-24 2937 {
97a2bb6ece556f liujie_answer 2024-12-24 2938 struct ps3_qos_vd_mgr *qos_vd_mgr = NULL;
97a2bb6ece556f liujie_answer 2024-12-24 2939
97a2bb6ece556f liujie_answer 2024-12-24 2940 qos_vd_mgr = ps3_qos_vd_mgr_get_by_id(instance, disk_id);
97a2bb6ece556f liujie_answer 2024-12-24 2941 qos_vd_mgr->valid = PS3_FALSE;
97a2bb6ece556f liujie_answer 2024-12-24 2942 }
97a2bb6ece556f liujie_answer 2024-12-24 2943
97a2bb6ece556f liujie_answer 2024-12-24 2944 void ps3_qos_vd_reset(struct ps3_instance *instance, unsigned short disk_id)
97a2bb6ece556f liujie_answer 2024-12-24 2945 {
97a2bb6ece556f liujie_answer 2024-12-24 2946 if (!PS3_QOS_INITED(instance))
97a2bb6ece556f liujie_answer 2024-12-24 2947 return;
97a2bb6ece556f liujie_answer 2024-12-24 2948
97a2bb6ece556f liujie_answer 2024-12-24 2949 if (instance->qos_context.opts.qos_vd_reset)
97a2bb6ece556f liujie_answer 2024-12-24 2950 instance->qos_context.opts.qos_vd_reset(instance, disk_id);
97a2bb6ece556f liujie_answer 2024-12-24 2951 }
97a2bb6ece556f liujie_answer 2024-12-24 2952
97a2bb6ece556f liujie_answer 2024-12-24 2953 static void ps3_qos_pd_notify_timeout(struct ps3_instance *instance)
97a2bb6ece556f liujie_answer 2024-12-24 2954 {
97a2bb6ece556f liujie_answer 2024-12-24 2955 struct ps3_qos_pd_context *qos_pd_ctx = NULL;
97a2bb6ece556f liujie_answer 2024-12-24 2956 unsigned short i = 0;
97a2bb6ece556f liujie_answer 2024-12-24 2957 struct ps3_qos_pd_mgr *qos_pd_mgr = NULL;
97a2bb6ece556f liujie_answer 2024-12-24 2958 unsigned long timeout_jiffies = 0;
97a2bb6ece556f liujie_answer 2024-12-24 2959
97a2bb6ece556f liujie_answer 2024-12-24 2960 qos_pd_ctx = &instance->qos_context.pd_ctx;
97a2bb6ece556f liujie_answer 2024-12-24 2961 for (i = 1; i <= instance->qos_context.max_pd_count; i++) {
97a2bb6ece556f liujie_answer 2024-12-24 2962 qos_pd_mgr = ps3_qos_pd_mgr_get(instance, i);
97a2bb6ece556f liujie_answer 2024-12-24 2963 timeout_jiffies = qos_pd_mgr->last_sched_jiffies +
97a2bb6ece556f liujie_answer 2024-12-24 2964 PS3_QOS_WAITQ_TIMEOUT * HZ;
97a2bb6ece556f liujie_answer 2024-12-24 2965 if (time_after(jiffies, timeout_jiffies)) {
97a2bb6ece556f liujie_answer 2024-12-24 2966 if (ps3_qos_single_pd_notify(qos_pd_ctx, qos_pd_mgr)) {
97a2bb6ece556f liujie_answer 2024-12-24 2967 LOG_INFO(
97a2bb6ece556f liujie_answer 2024-12-24 2968 "awake qos pd quota waitq by poll. host_no:%u vid:%u pid:%u\n",
97a2bb6ece556f liujie_answer 2024-12-24 2969 PS3_HOST(instance), qos_pd_mgr->vd_id,
97a2bb6ece556f liujie_answer 2024-12-24 2970 qos_pd_mgr->disk_id);
97a2bb6ece556f liujie_answer 2024-12-24 2971 }
97a2bb6ece556f liujie_answer 2024-12-24 2972 }
97a2bb6ece556f liujie_answer 2024-12-24 2973 }
97a2bb6ece556f liujie_answer 2024-12-24 2974 }
97a2bb6ece556f liujie_answer 2024-12-24 2975
97a2bb6ece556f liujie_answer 2024-12-24 2976 static unsigned char ps3_qos_vd_notify_timeout(struct ps3_instance *instance)
97a2bb6ece556f liujie_answer 2024-12-24 2977 {
97a2bb6ece556f liujie_answer 2024-12-24 2978 struct ps3_qos_vd_context *qos_vd_ctx = NULL;
97a2bb6ece556f liujie_answer 2024-12-24 2979 unsigned short i = 0;
97a2bb6ece556f liujie_answer 2024-12-24 2980 struct ps3_qos_vd_mgr *qos_vd_mgr = NULL;
97a2bb6ece556f liujie_answer 2024-12-24 2981 unsigned long timeout_jiffies = 0;
97a2bb6ece556f liujie_answer 2024-12-24 2982 unsigned char notified = PS3_FALSE;
97a2bb6ece556f liujie_answer 2024-12-24 2983
97a2bb6ece556f liujie_answer 2024-12-24 2984 for (i = 1; i <= instance->qos_context.max_vd_count; i++) {
97a2bb6ece556f liujie_answer 2024-12-24 2985 qos_vd_ctx = &instance->qos_context.vd_ctx;
97a2bb6ece556f liujie_answer 2024-12-24 2986 qos_vd_mgr = &qos_vd_ctx->qos_vd_mgrs[i];
97a2bb6ece556f liujie_answer 2024-12-24 2987 timeout_jiffies = qos_vd_mgr->last_sched_jiffies +
97a2bb6ece556f liujie_answer 2024-12-24 2988 PS3_QOS_WAITQ_TIMEOUT * HZ;
97a2bb6ece556f liujie_answer 2024-12-24 2989 if (time_after(jiffies, timeout_jiffies)) {
97a2bb6ece556f liujie_answer 2024-12-24 2990 if (ps3_qos_single_vd_notify(qos_vd_ctx, qos_vd_mgr)) {
97a2bb6ece556f liujie_answer 2024-12-24 2991 notified = PS3_TRUE;
97a2bb6ece556f liujie_answer 2024-12-24 2992 LOG_INFO(
97a2bb6ece556f liujie_answer 2024-12-24 2993 "awake qos vd quota waitq by poll. host_no:%u vid:%u\n",
97a2bb6ece556f liujie_answer 2024-12-24 2994 PS3_HOST(instance), qos_vd_mgr->id);
97a2bb6ece556f liujie_answer 2024-12-24 2995 }
97a2bb6ece556f liujie_answer 2024-12-24 2996 }
97a2bb6ece556f liujie_answer 2024-12-24 2997 }
97a2bb6ece556f liujie_answer 2024-12-24 2998
97a2bb6ece556f liujie_answer 2024-12-24 2999 return notified;
97a2bb6ece556f liujie_answer 2024-12-24 3000 }
97a2bb6ece556f liujie_answer 2024-12-24 3001
97a2bb6ece556f liujie_answer 2024-12-24 3002 static unsigned char ps3_qos_tg_notify_timeout(struct ps3_instance *instance)
97a2bb6ece556f liujie_answer 2024-12-24 3003 {
97a2bb6ece556f liujie_answer 2024-12-24 3004 struct ps3_qos_tg_context *qos_tg_ctx = NULL;
97a2bb6ece556f liujie_answer 2024-12-24 3005 unsigned char notified = PS3_FALSE;
97a2bb6ece556f liujie_answer 2024-12-24 3006 unsigned long timeout_jiffies = 0;
97a2bb6ece556f liujie_answer 2024-12-24 3007
97a2bb6ece556f liujie_answer 2024-12-24 3008 qos_tg_ctx = &instance->qos_context.tg_ctx;
97a2bb6ece556f liujie_answer 2024-12-24 3009 timeout_jiffies =
97a2bb6ece556f liujie_answer 2024-12-24 3010 qos_tg_ctx->last_sched_jiffies + PS3_QOS_WAITQ_TIMEOUT * HZ;
97a2bb6ece556f liujie_answer 2024-12-24 3011 if (qos_tg_ctx->total_wait_cmd_cnt &&
97a2bb6ece556f liujie_answer 2024-12-24 3012 ps3_qos_tag_rsc_available(instance) &&
97a2bb6ece556f liujie_answer 2024-12-24 3013 time_after(jiffies, timeout_jiffies)) {
97a2bb6ece556f liujie_answer 2024-12-24 3014 queue_work(qos_tg_ctx->work_queue, &qos_tg_ctx->resend_work);
97a2bb6ece556f liujie_answer 2024-12-24 3015 notified = PS3_TRUE;
97a2bb6ece556f liujie_answer 2024-12-24 3016 LOG_INFO("awake qos cmd waitq by poll. host_no:%u\n",
97a2bb6ece556f liujie_answer 2024-12-24 3017 PS3_HOST(instance));
97a2bb6ece556f liujie_answer 2024-12-24 3018 }
97a2bb6ece556f liujie_answer 2024-12-24 3019
97a2bb6ece556f liujie_answer 2024-12-24 3020 return notified;
97a2bb6ece556f liujie_answer 2024-12-24 3021 }
97a2bb6ece556f liujie_answer 2024-12-24 3022
97a2bb6ece556f liujie_answer 2024-12-24 @3023 void ps3_hba_qos_waitq_poll(struct ps3_instance *instance)
97a2bb6ece556f liujie_answer 2024-12-24 3024 {
97a2bb6ece556f liujie_answer 2024-12-24 3025 if (!ps3_qos_tg_notify_timeout(instance)) {
97a2bb6ece556f liujie_answer 2024-12-24 3026 if (!ps3_qos_vd_notify_timeout(instance))
97a2bb6ece556f liujie_answer 2024-12-24 3027 ps3_qos_pd_notify_timeout(instance);
97a2bb6ece556f liujie_answer 2024-12-24 3028 }
97a2bb6ece556f liujie_answer 2024-12-24 3029 }
97a2bb6ece556f liujie_answer 2024-12-24 3030
:::::: The code at line 3023 was first introduced by commit
:::::: 97a2bb6ece556f3882263ee8df2b77f10c511311 SCSI: Linkdata: Supports Linkdata HBA/RAID Controllers
:::::: TO: liujie_answer <liujie5(a)linkdatatechnology.com>
:::::: CC: liujie_answer <liujie5(a)linkdatatechnology.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3557/3557] drivers/irqchip/irq-gic-phytium-2500.c:1216:78: sparse: sparse: dubious: !x | !y
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 792b82446538ed840a6e23b89673ce21564702bd [3557/3557] Fix gic support for Phytium S2500
config: arm64-randconfig-r132-20251218 (https://download.01.org/0day-ci/archive/20251221/202512210813.VozNt0tS-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512210813.VozNt0tS-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512210813.VozNt0tS-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/irqchip/irq-gic-phytium-2500.c:1216:78: sparse: sparse: dubious: !x | !y
>> drivers/irqchip/irq-gic-phytium-2500.c:302:29: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:327:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:454:24: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:479:24: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:266:24: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:767:24: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:1155:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:1156:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:1157:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:1409:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500.c:266:24: sparse: sparse: dereference of noderef expression
--
>> drivers/irqchip/irq-gic-phytium-2500-its.c:1479:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:1479:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:1479:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:1485:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:1485:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:1485:9: sparse: got struct raw_spinlock [noderef] __percpu *
>> drivers/irqchip/irq-gic-phytium-2500-its.c:2934:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct cpumask [usertype] **mask @@ got struct cpumask [usertype] *[noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:2934:45: sparse: expected struct cpumask [usertype] **mask
drivers/irqchip/irq-gic-phytium-2500-its.c:2934:45: sparse: got struct cpumask [usertype] *[noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:4281:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:4281:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:4281:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:4286:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:4286:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:4286:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:4421:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:4421:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:4421:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c:4439:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct raw_spinlock [usertype] *lock @@ got struct raw_spinlock [noderef] __percpu * @@
drivers/irqchip/irq-gic-phytium-2500-its.c:4439:9: sparse: expected struct raw_spinlock [usertype] *lock
drivers/irqchip/irq-gic-phytium-2500-its.c:4439:9: sparse: got struct raw_spinlock [noderef] __percpu *
drivers/irqchip/irq-gic-phytium-2500-its.c: note: in included file (through include/linux/spinlock.h, include/linux/mmzone.h, include/linux/gfp.h, ...):
include/linux/spinlock_api_smp.h:111:9: sparse: sparse: context imbalance in 'vpe_to_cpuid_lock' - wrong count at exit
drivers/irqchip/irq-gic-phytium-2500-its.c:284:13: sparse: sparse: context imbalance in 'vpe_to_cpuid_unlock' - unexpected unlock
>> drivers/irqchip/irq-gic-phytium-2500-its.c:1481:18: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2337:23: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2337:23: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2751:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2751:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2772:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2806:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2806:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2810:38: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2828:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2828:49: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2829:25: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2839:30: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2882:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2909:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2938:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:2939:14: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3009:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3021:45: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3021:45: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3023:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3078:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3078:15: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3093:29: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3093:29: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3118:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3156:31: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3161:13: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3180:17: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3185:21: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3244:43: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3279:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3280:9: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3318:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3321:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3321:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3919:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3968:13: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3969:36: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3969:36: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3984:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:3998:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4030:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4140:26: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4220:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4235:35: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4282:18: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:4422:16: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:5309:19: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:5309:19: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:5314:31: sparse: sparse: dereference of noderef expression
drivers/irqchip/irq-gic-phytium-2500-its.c:5334:14: sparse: sparse: dereference of noderef expression
vim +1216 drivers/irqchip/irq-gic-phytium-2500.c
ade50f9f855e6a Li Yuting 2024-01-17 1181
ade50f9f855e6a Li Yuting 2024-01-17 1182 static int __gic_update_rdist_properties(struct redist_region *region,
ade50f9f855e6a Li Yuting 2024-01-17 1183 void __iomem *ptr)
ade50f9f855e6a Li Yuting 2024-01-17 1184 {
ade50f9f855e6a Li Yuting 2024-01-17 1185 u64 typer = gic_read_typer(ptr + GICR_TYPER);
ade50f9f855e6a Li Yuting 2024-01-17 1186 u32 ctlr = readl_relaxed(ptr + GICR_CTLR);
ade50f9f855e6a Li Yuting 2024-01-17 1187
ade50f9f855e6a Li Yuting 2024-01-17 1188 /* Boot-time cleanup */
ade50f9f855e6a Li Yuting 2024-01-17 1189 if ((typer & GICR_TYPER_VLPIS) && (typer & GICR_TYPER_RVPEID)) {
ade50f9f855e6a Li Yuting 2024-01-17 1190 u64 val;
ade50f9f855e6a Li Yuting 2024-01-17 1191
ade50f9f855e6a Li Yuting 2024-01-17 1192 /* Deactivate any present vPE */
ade50f9f855e6a Li Yuting 2024-01-17 1193 val = gicr_read_vpendbaser(ptr + SZ_128K + GICR_VPENDBASER);
ade50f9f855e6a Li Yuting 2024-01-17 1194 if (val & GICR_VPENDBASER_Valid)
ade50f9f855e6a Li Yuting 2024-01-17 1195 gicr_write_vpendbaser(GICR_VPENDBASER_PendingLast,
ade50f9f855e6a Li Yuting 2024-01-17 1196 ptr + SZ_128K + GICR_VPENDBASER);
ade50f9f855e6a Li Yuting 2024-01-17 1197
ade50f9f855e6a Li Yuting 2024-01-17 1198 /* Mark the VPE table as invalid */
ade50f9f855e6a Li Yuting 2024-01-17 1199 val = gicr_read_vpropbaser(ptr + SZ_128K + GICR_VPROPBASER);
ade50f9f855e6a Li Yuting 2024-01-17 1200 val &= ~GICR_VPROPBASER_4_1_VALID;
ade50f9f855e6a Li Yuting 2024-01-17 1201 gicr_write_vpropbaser(val, ptr + SZ_128K + GICR_VPROPBASER);
ade50f9f855e6a Li Yuting 2024-01-17 1202 }
ade50f9f855e6a Li Yuting 2024-01-17 1203
ade50f9f855e6a Li Yuting 2024-01-17 1204 gic_data.rdists.has_vlpis &= !!(typer & GICR_TYPER_VLPIS);
ade50f9f855e6a Li Yuting 2024-01-17 1205
ade50f9f855e6a Li Yuting 2024-01-17 1206 /*
ade50f9f855e6a Li Yuting 2024-01-17 1207 * TYPER.RVPEID implies some form of DirectLPI, no matter what the
ade50f9f855e6a Li Yuting 2024-01-17 1208 * doc says... :-/ And CTLR.IR implies another subset of DirectLPI
ade50f9f855e6a Li Yuting 2024-01-17 1209 * that the ITS driver can make use of for LPIs (and not VLPIs).
ade50f9f855e6a Li Yuting 2024-01-17 1210 *
ade50f9f855e6a Li Yuting 2024-01-17 1211 * These are 3 different ways to express the same thing, depending
ade50f9f855e6a Li Yuting 2024-01-17 1212 * on the revision of the architecture and its relaxations over
ade50f9f855e6a Li Yuting 2024-01-17 1213 * time. Just group them under the 'direct_lpi' banner.
ade50f9f855e6a Li Yuting 2024-01-17 1214 */
ade50f9f855e6a Li Yuting 2024-01-17 1215 gic_data.rdists.has_rvpeid &= !!(typer & GICR_TYPER_RVPEID);
ade50f9f855e6a Li Yuting 2024-01-17 @1216 gic_data.rdists.has_direct_lpi &= (!!(typer & GICR_TYPER_DirectLPIS) |
ade50f9f855e6a Li Yuting 2024-01-17 1217 !!(ctlr & GICR_CTLR_IR) |
ade50f9f855e6a Li Yuting 2024-01-17 1218 gic_data.rdists.has_rvpeid);
ade50f9f855e6a Li Yuting 2024-01-17 1219 gic_data.rdists.has_vpend_valid_dirty &= !!(typer & GICR_TYPER_DIRTY);
ade50f9f855e6a Li Yuting 2024-01-17 1220
ade50f9f855e6a Li Yuting 2024-01-17 1221 /* Detect non-sensical configurations */
ade50f9f855e6a Li Yuting 2024-01-17 1222 if (WARN_ON_ONCE(gic_data.rdists.has_rvpeid && !gic_data.rdists.has_vlpis)) {
ade50f9f855e6a Li Yuting 2024-01-17 1223 gic_data.rdists.has_direct_lpi = false;
ade50f9f855e6a Li Yuting 2024-01-17 1224 gic_data.rdists.has_vlpis = false;
ade50f9f855e6a Li Yuting 2024-01-17 1225 gic_data.rdists.has_rvpeid = false;
ade50f9f855e6a Li Yuting 2024-01-17 1226 }
ade50f9f855e6a Li Yuting 2024-01-17 1227
ade50f9f855e6a Li Yuting 2024-01-17 1228 gic_data.ppi_nr = min(GICR_TYPER_NR_PPIS(typer), gic_data.ppi_nr);
ade50f9f855e6a Li Yuting 2024-01-17 1229
ade50f9f855e6a Li Yuting 2024-01-17 1230 return 1;
ade50f9f855e6a Li Yuting 2024-01-17 1231 }
ade50f9f855e6a Li Yuting 2024-01-17 1232
:::::: The code at line 1216 was first introduced by commit
:::::: ade50f9f855e6afd85e65b6b036a1bb948d4dfff Add gic support for Phytium S2500
:::::: TO: Li Yuting <liyuting2071(a)phytium.com.cn>
:::::: CC: Li Yuting <liyuting2071(a)phytium.com.cn>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3544/3544] arch/arm64/kvm/arm.c:569:5: warning: no previous prototype for 'kvm_arch_rec_init'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
Hi Hou,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: fa36fa3469d2461c1887e823371059401941ae8a [3544/3544] CCA: Fix cca kabi conflict
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20251221/202512210513.adq7k77G-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512210513.adq7k77G-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512210513.adq7k77G-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm64/kvm/arm.c:569:5: warning: no previous prototype for 'kvm_arch_rec_init' [-Wmissing-prototypes]
569 | int kvm_arch_rec_init(struct kvm_vcpu_arch *vcpu_arch)
| ^~~~~~~~~~~~~~~~~
In file included from arch/arm64/kvm/arm.c:52:
arch/arm64/kvm/hisilicon/hisi_virt.h:116:13: warning: 'hisi_ipiv_enable_per_vm' defined but not used [-Wunused-function]
116 | static void hisi_ipiv_enable_per_vm(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/hisilicon/hisi_virt.h:112:13: warning: 'hisi_ipiv_supported_per_vm' defined but not used [-Wunused-function]
112 | static bool hisi_ipiv_supported_per_vm(struct kvm_vcpu *vcpu)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/kvm_arch_rec_init +569 arch/arm64/kvm/arm.c
568
> 569 int kvm_arch_rec_init(struct kvm_vcpu_arch *vcpu_arch)
570 {
571 struct realm_rec *rec;
572
573 rec = kzalloc(sizeof(struct realm_rec), GFP_KERNEL_ACCOUNT);
574 if (!rec)
575 return -ENOMEM;
576 rec->mpidr = INVALID_HWID;
577 vcpu_arch->rec = rec;
578 return 0;
579 }
580
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 1/1] kismet: WARNING: unmet direct dependencies detected for RESCTRL_FS when selected by ARM64_MPAM
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: c5a4bf91167c714de74c47f5cd6d888c66e9860d [1/1] arm64: mpam: Select ARCH_HAS_CPU_RESCTRL
config: arm64-kismet-CONFIG_RESCTRL_FS-CONFIG_ARM64_MPAM-0-0 (https://download.01.org/0day-ci/archive/20251220/202512202217.vP7L1WOs-lkp@…)
reproduce: (https://download.01.org/0day-ci/archive/20251220/202512202217.vP7L1WOs-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512202217.vP7L1WOs-lkp@intel.com/
kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for RESCTRL_FS when selected by ARM64_MPAM
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3542/3542] drivers/i2c/busses/i2c-zhaoxin.c:176:5: warning: no previous prototype for function 'zxi2c_fifo_irq_xfer'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
Hi leoliu-oc,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 07a6747f952bd8a1ee87d6f5d74448c64fbb152e [3542/3542] i2c: zhaoxin: Add support for Zhaoxin I2C controller
config: x86_64-randconfig-012-20251215 (https://download.01.org/0day-ci/archive/20251221/202512211025.4cSwOTdS-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512211025.4cSwOTdS-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512211025.4cSwOTdS-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/i2c/busses/i2c-zhaoxin.c:12:
In file included from include/linux/i2c.h:19:
In file included from include/linux/regulator/consumer.h:35:
In file included from include/linux/suspend.h:5:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:20:
In file included from include/linux/mm.h:2235:
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
>> drivers/i2c/busses/i2c-zhaoxin.c:176:5: warning: no previous prototype for function 'zxi2c_fifo_irq_xfer' [-Wmissing-prototypes]
176 | int zxi2c_fifo_irq_xfer(struct zxi2c *i2c, bool irq)
| ^
drivers/i2c/busses/i2c-zhaoxin.c:176:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
176 | int zxi2c_fifo_irq_xfer(struct zxi2c *i2c, bool irq)
| ^
| static
>> drivers/i2c/busses/i2c-zhaoxin.c:314:5: warning: no previous prototype for function 'zxi2c_xfer' [-Wmissing-prototypes]
314 | int zxi2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
| ^
drivers/i2c/busses/i2c-zhaoxin.c:314:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
314 | int zxi2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
| ^
| static
drivers/i2c/busses/i2c-zhaoxin.c:540:12: warning: unused function 'zxi2c_resume' [-Wunused-function]
540 | static int zxi2c_resume(struct device *dev)
| ^~~~~~~~~~~~
4 warnings generated.
vim +/zxi2c_fifo_irq_xfer +176 drivers/i2c/busses/i2c-zhaoxin.c
174
175 /* 'irq == true' means in interrupt context */
> 176 int zxi2c_fifo_irq_xfer(struct zxi2c *i2c, bool irq)
177 {
178 u16 i;
179 u8 tmp;
180 struct i2c_msg *msg = i2c->msg;
181 void __iomem *base = i2c->base;
182 bool read = !!(msg->flags & I2C_M_RD);
183
184 if (irq) {
185 /* get the received data */
186 if (read)
187 for (i = 0; i < i2c->xfer_len; i++)
188 msg->buf[i2c->xfered_len + i] = ioread8(base + ZXI2C_REG_HRDR);
189
190 i2c->xfered_len += i2c->xfer_len;
191 if (i2c->xfered_len == msg->len)
192 return 1;
193 }
194
195 /* reset fifo buffer */
196 tmp = ioread8(base + ZXI2C_REG_HCR);
197 iowrite8(tmp | ZXI2C_HCR_RST_FIFO, base + ZXI2C_REG_HCR);
198
199 /* set xfer len */
200 i2c->xfer_len = min_t(u16, msg->len - i2c->xfered_len, ZXI2C_FIFO_SIZE);
201 if (read) {
202 iowrite8(i2c->xfer_len - 1, base + ZXI2C_REG_HRLR);
203 } else {
204 iowrite8(i2c->xfer_len - 1, base + ZXI2C_REG_HTLR);
205 /* set write data */
206 for (i = 0; i < i2c->xfer_len; i++)
207 iowrite8(msg->buf[i2c->xfered_len + i], base + ZXI2C_REG_HTDR);
208 }
209
210 /* prepare to stop transmission */
211 if (i2c->hrv && msg->len == (i2c->xfered_len + i2c->xfer_len)) {
212 tmp = ioread8(base + ZXI2C_REG_CR);
213 tmp |= read ? ZXI2C_CR_RX_END : ZXI2C_CR_TX_END;
214 iowrite8(tmp, base + ZXI2C_REG_CR);
215 }
216
217 if (irq) {
218 /* continue transmission */
219 tmp = ioread8(base + ZXI2C_REG_CR);
220 iowrite8(tmp |= ZXI2C_CR_CPU_RDY, base + ZXI2C_REG_CR);
221 } else {
222 u16 tcr_val = i2c->tcr;
223
224 /* start transmission */
225 tcr_val |= read ? ZXI2C_TCR_READ : 0;
226 writew(tcr_val | msg->addr, base + ZXI2C_REG_TCR);
227 }
228
229 return 0;
230 }
231
232 static irqreturn_t zxi2c_isr(int irq, void *data)
233 {
234 struct zxi2c *i2c = data;
235 void __iomem *base = i2c->base;
236 u8 status;
237
238 /* save the status and write-clear it */
239 status = readw(base + ZXI2C_REG_ISR);
240 if (!status)
241 return IRQ_NONE;
242
243 writew(status, base + ZXI2C_REG_ISR);
244
245 i2c->ret = 0;
246 if (status & ZXI2C_ISR_NACK_ADDR)
247 i2c->ret = -EIO;
248
249 if (!i2c->ret) {
250 if (i2c->mode == ZXI2C_BYTE_MODE)
251 i2c->ret = zxi2c_irq_xfer(i2c);
252 else
253 i2c->ret = zxi2c_fifo_irq_xfer(i2c, true);
254 }
255
256 if (i2c->ret)
257 complete(&i2c->complete);
258
259 return IRQ_HANDLED;
260 }
261
262 static int zxi2c_write(struct zxi2c *i2c, struct i2c_msg *msg, int last)
263 {
264 u16 tcr_val = i2c->tcr;
265 void __iomem *base = i2c->base;
266
267 i2c->last = last;
268
269 writew(msg->buf[0] & 0xFF, base + ZXI2C_REG_CDR);
270
271 reinit_completion(&i2c->complete);
272
273 tcr_val |= msg->addr & 0x7f;
274
275 writew(tcr_val, base + ZXI2C_REG_TCR);
276
277 if (!wait_for_completion_timeout(&i2c->complete, ZXI2C_TIMEOUT))
278 return -ETIMEDOUT;
279
280 return i2c->ret;
281 }
282
283 static int zxi2c_read(struct zxi2c *i2c, struct i2c_msg *msg, bool first)
284 {
285 u16 val, tcr_val = i2c->tcr;
286 void __iomem *base = i2c->base;
287
288 val = readw(base + ZXI2C_REG_CR);
289 val &= ~(ZXI2C_CR_TX_END | ZXI2C_CR_RX_END);
290
291 if (msg->len == 1)
292 val |= ZXI2C_CR_RX_END;
293
294 writew(val, base + ZXI2C_REG_CR);
295
296 reinit_completion(&i2c->complete);
297
298 tcr_val |= ZXI2C_TCR_READ | (msg->addr & 0x7f);
299
300 writew(tcr_val, base + ZXI2C_REG_TCR);
301
302 if (!first) {
303 val = readw(base + ZXI2C_REG_CR);
304 val |= ZXI2C_CR_CPU_RDY;
305 writew(val, base + ZXI2C_REG_CR);
306 }
307
308 if (!wait_for_completion_timeout(&i2c->complete, ZXI2C_TIMEOUT))
309 return -ETIMEDOUT;
310
311 return i2c->ret;
312 }
313
> 314 int zxi2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
315 {
316 struct i2c_msg *msg;
317 int i;
318 int ret = 0;
319 struct zxi2c *i2c = i2c_get_adapdata(adap);
320
321 i2c->mode = ZXI2C_BYTE_MODE;
322 for (i = 0; ret >= 0 && i < num; i++) {
323 i2c->msg = msg = &msgs[i];
324 i2c->xfered_len = 0;
325 if (msg->len == 0)
326 return -EIO;
327
328 if (msg->flags & I2C_M_RD)
329 ret = zxi2c_read(i2c, msg, i == 0);
330 else
331 ret = zxi2c_write(i2c, msg, (i + 1) == num);
332 }
333
334 return (ret < 0) ? ret : i;
335 }
336
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10 3418/3418] drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c:48: warning: Excess function parameter 'file' description in 'SXE_MSG_LEVEL_DEFAULT'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
Hi liujie_answer,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355
commit: 3c27aa8f615da8e36e1dc802839c98702187757c [3418/3418] Linkdata:net:fix sxe compile errors 'sxe_resume' defined but not used
config: arm64-randconfig-001-20251217 (https://download.01.org/0day-ci/archive/20251221/202512210525.8hRRLO09-lkp@…)
compiler: aarch64-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512210525.8hRRLO09-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512210525.8hRRLO09-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c:48: warning: Excess function parameter 'file' description in 'SXE_MSG_LEVEL_DEFAULT'
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c:48: warning: Excess function parameter 'author' description in 'SXE_MSG_LEVEL_DEFAULT'
>> drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c:48: warning: Excess function parameter 'date' description in 'SXE_MSG_LEVEL_DEFAULT'
vim +48 drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c
8cee206b555824 liujie_answer 2025-04-01 47
8cee206b555824 liujie_answer 2025-04-01 @48 #define SXE_MSG_LEVEL_DEFAULT (NETIF_MSG_DRV | NETIF_MSG_PROBE | NETIF_MSG_LINK)
8cee206b555824 liujie_answer 2025-04-01 49
:::::: The code at line 48 was first introduced by commit
:::::: 8cee206b5558245197158bd20895f95cc28d8468 Ethernet: Linkdata: Supports Linkdata ethernet Controllers
:::::: TO: liujie_answer <liujie5(a)linkdatatechnology.com>
:::::: CC: liujie_answer <liujie5(a)linkdatatechnology.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3544/3544] arch/arm64/kvm/cca_base.c:52:6: warning: no previous prototype for 'set_cca_cvm_type'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
Hi Yang,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 419da4d196ffa97d1430d017d1b36348fea395e5 [3544/3544] VirtCCA: Add CCA base operations.
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20251221/202512210402.xNA4HhAd-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512210402.xNA4HhAd-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512210402.xNA4HhAd-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/arm64/kvm/cca_base.c:52:6: warning: no previous prototype for 'set_cca_cvm_type' [-Wmissing-prototypes]
52 | void set_cca_cvm_type(int type)
| ^~~~~~~~~~~~~~~~
vim +/set_cca_cvm_type +52 arch/arm64/kvm/cca_base.c
51
> 52 void set_cca_cvm_type(int type)
53 {
54 cca_cvm_type = type;
55 }
56 EXPORT_SYMBOL_GPL(set_cca_cvm_type);
57
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 1/1] kismet: WARNING: unmet direct dependencies detected for PFN_RANGE_ALLOC when selected by OBMM
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: b2b4a358c0963806835f9a6ff96c2e34d1543216 [1/1] obmm: Add Ownership Based Memory Management framework
config: arm64-kismet-CONFIG_PFN_RANGE_ALLOC-CONFIG_OBMM-0-0 (https://download.01.org/0day-ci/archive/20251220/202512202153.48eS6EBE-lkp@…)
reproduce: (https://download.01.org/0day-ci/archive/20251220/202512202153.48eS6EBE-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512202153.48eS6EBE-lkp@intel.com/
kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for PFN_RANGE_ALLOC when selected by OBMM
WARNING: unmet direct dependencies detected for PFN_RANGE_ALLOC
Depends on [n]: MEMORY_HOTPLUG [=n]
Selected by [y]:
- OBMM [=y] && UB [=y] && UB_UMMU_CORE [=y] && UB_UBUS [=y] && HISI_SOC_CACHE [=y]
WARNING: unmet direct dependencies detected for ARM_SPE_MEM_SAMPLING
Depends on [n]: ARM_SPE_PMU [=n]
Selected by [y]:
- MEM_SAMPLING [=y] && ARM64 [=y]
WARNING: unmet direct dependencies detected for ARCH_SUPPORTS_SCHED_SOFT_QUOTA
Depends on [n]: CGROUPS [=n]
Selected by [y]:
- ARM64 [=y]
WARNING: unmet direct dependencies detected for NUMA_REMOTE
Depends on [n]: NUMA [=y] && ARM64 [=y] && ARM64_4K_PAGES [=y] && SPARSEMEM_VMEMMAP [=y] && ZONE_EXTMEM [=n]
Selected by [y]:
- OBMM [=y] && UB [=y] && UB_UMMU_CORE [=y] && UB_UBUS [=y] && HISI_SOC_CACHE [=y]
WARNING: unmet direct dependencies detected for HALTPOLL_CPUIDLE
Depends on [n]: CPU_IDLE [=n] && ARCH_CPUIDLE_HALTPOLL [=y] && ARCH_HAS_OPTIMIZED_POLL [=y]
Selected by [y]:
- ARM64 [=y]
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3547/3547] drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1860:22: warning: assignment to 'int (*)(struct pci_dev *)' from 'int' makes pointer from integer without a cast
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 0bf0c942a09ba92e1d22e6960464b628dd4408fa [3547/3547] net/hinic3: Synchronize new NIC features and bug fixes
config: arm64-randconfig-003-20251216 (https://download.01.org/0day-ci/archive/20251221/202512210450.P2GW20wS-lkp@…)
compiler: aarch64-linux-gcc (GCC) 10.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512210450.P2GW20wS-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512210450.P2GW20wS-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:108:6: warning: no previous prototype for 'hinic3_uld_lock_init' [-Wmissing-prototypes]
108 | void hinic3_uld_lock_init(void)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:526:5: warning: no previous prototype for 'hinic3_pdev_is_virtfn' [-Wmissing-prototypes]
526 | u32 hinic3_pdev_is_virtfn(struct pci_dev *pdev)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:788:5: warning: no previous prototype for '__set_vroce_func_state' [-Wmissing-prototypes]
788 | int __set_vroce_func_state(struct hinic3_pcidev *pci_adapter)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:831:6: warning: no previous prototype for 'slave_host_mgmt_vroce_work' [-Wmissing-prototypes]
831 | void slave_host_mgmt_vroce_work(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:841:7: warning: no previous prototype for 'hinic3_get_roce_uld_by_pdev' [-Wmissing-prototypes]
841 | void *hinic3_get_roce_uld_by_pdev(struct pci_dev *pdev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1784:6: warning: no previous prototype for 'hinic3_set_func_state' [-Wmissing-prototypes]
1784 | void hinic3_set_func_state(struct hinic3_pcidev *pci_adapter)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1810:6: warning: no previous prototype for 'slave_host_mgmt_work' [-Wmissing-prototypes]
1810 | void slave_host_mgmt_work(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c: In function 'slave_host_vfio_probe_delay_work':
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1860:24: error: implicit declaration of function '__symbol_get'; did you mean 'symbol_get'? [-Werror=implicit-function-declaration]
1860 | dev_migration_probe = __symbol_get("migration_dev_migration_probe");
| ^~~~~~~~~~~~
| symbol_get
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1860:22: warning: assignment to 'int (*)(struct pci_dev *)' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1860 | dev_migration_probe = __symbol_get("migration_dev_migration_probe");
| ^
>> drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1869:3: error: implicit declaration of function '__symbol_put'; did you mean 'symbol_put'? [-Werror=implicit-function-declaration]
1869 | __symbol_put("migration_dev_migration_probe");
| ^~~~~~~~~~~~
| symbol_put
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c: In function 'slave_host_migration_vf_add_delay_work':
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1925:23: warning: assignment to 'int (*)(struct pci_dev *)' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1925 | migration_dev_add_vf = __symbol_get("migration_dev_add_vf");
| ^
cc1: some warnings being treated as errors
--
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:621:6: warning: no previous prototype for 'print_port_info' [-Wmissing-prototypes]
621 | void print_port_info(struct hinic3_nic_io *nic_io,
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:803:6: warning: no previous prototype for 'hinic3_notify_vf_bond_status' [-Wmissing-prototypes]
803 | void hinic3_notify_vf_bond_status(struct hinic3_nic_io *nic_io,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:833:6: warning: no previous prototype for 'hinic3_notify_all_vfs_bond_changed' [-Wmissing-prototypes]
833 | void hinic3_notify_all_vfs_bond_changed(void *hwdev, u8 bond_status)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:1671:5: warning: no previous prototype for 'set_fecparam' [-Wmissing-prototypes]
1671 | int set_fecparam(void *hwdev, u8 fecparam)
| ^~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:1699:5: warning: no previous prototype for 'get_fecparam' [-Wmissing-prototypes]
1699 | int get_fecparam(void *hwdev, u8 *advertised_fec, u8 *supported_fec)
| ^~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c: In function 'get_port_temperature_power.isra':
>> drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:548:38: warning: ', rx power: ' directive output may be truncated writing 12 bytes into a region of size between 1 and 512 [-Wformat-truncation=]
548 | snprintf(str, CAP_INFO_MAX_LEN, "%s, rx power: %uuW, tx power: %uuW",
| ^~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:548:3: note: 'snprintf' output between 31 and 560 bytes into a destination of size 512
548 | snprintf(str, CAP_INFO_MAX_LEN, "%s, rx power: %uuW, tx power: %uuW",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
549 | cap_info, info->power[0x0], info->power[0x1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:544:39: warning: ', rx power: ' directive output may be truncated writing 12 bytes into a region of size between 1 and 512 [-Wformat-truncation=]
544 | snprintf(str, CAP_INFO_MAX_LEN, "%s, rx power: %uuw %uuW %uuW %uuW",
| ^~~~~~~~~~~~
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:544:3: note: 'snprintf' output between 28 and 575 bytes into a destination of size 512
544 | snprintf(str, CAP_INFO_MAX_LEN, "%s, rx power: %uuw %uuW %uuW %uuW",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
545 | cap_info, info->power[0x0], info->power[0x1],
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
546 | info->power[0x2], info->power[0x3]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for PTP_1588_CLOCK
Depends on [n]: NET [=y] && POSIX_TIMERS [=n]
Selected by [y]:
- SXE [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_LINKDATA [=y] && (X86 || ARM64 [=y]) && PCI [=y]
- SXE_VF [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_LINKDATA [=y] && (X86 || ARM64 [=y]) && PCI [=y]
vim +1860 drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c
1847
1848 static void slave_host_vfio_probe_delay_work(struct work_struct *work)
1849 {
1850 struct delayed_work *delay = to_delayed_work(work);
1851 struct hinic3_pcidev *pci_adapter = container_of(delay, struct hinic3_pcidev,
1852 migration_probe_dwork);
1853 struct pci_dev *pdev = pci_adapter->pcidev;
1854 int (*dev_migration_probe)(struct pci_dev *pdev);
1855 int rc;
1856
1857 if (hinic3_func_type((struct hinic3_hwdev *)pci_adapter->hwdev) != TYPE_PF)
1858 return;
1859
> 1860 dev_migration_probe = __symbol_get("migration_dev_migration_probe");
1861 if (!(dev_migration_probe)) {
1862 sdk_err(&pdev->dev,
1863 "Failed to find: migration_dev_migration_probe");
1864 queue_delayed_work(pci_adapter->migration_probe_workq,
1865 &pci_adapter->migration_probe_dwork,
1866 WAIT_TIME * HZ);
1867 } else {
1868 rc = dev_migration_probe(pdev);
> 1869 __symbol_put("migration_dev_migration_probe");
1870 if (rc) {
1871 sdk_err(&pdev->dev,
1872 "Failed to __dev_migration_probe, rc:0x%x, pf migrated(%d).\n",
1873 rc, g_is_pf_migrated);
1874 } else {
1875 g_is_pf_migrated = true;
1876 sdk_info(&pdev->dev,
1877 "Succeeded in __dev_migration_probe, pf migrated(%d).\n",
1878 g_is_pf_migrated);
1879 }
1880 }
1881 }
1882
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3542/3542] drivers/crypto/ccp/hygon/vpsp.c:1055:5: warning: no previous prototype for function 'vpsp_do_cmd'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: e2861aaa47961017ada7f66de11104bbf3b85eb1 [3542/3542] crypto: ccp: move vpsp-related functions to vpsp.c
config: x86_64-randconfig-012-20251215 (https://download.01.org/0day-ci/archive/20251221/202512210938.tNGRHg5O-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512210938.tNGRHg5O-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512210938.tNGRHg5O-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/crypto/ccp/hygon/vpsp.c:589:6: warning: no previous prototype for function 'vpsp_set_default_vid_permission' [-Wmissing-prototypes]
589 | void vpsp_set_default_vid_permission(uint32_t is_allow)
| ^
drivers/crypto/ccp/hygon/vpsp.c:589:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
589 | void vpsp_set_default_vid_permission(uint32_t is_allow)
| ^
| static
>> drivers/crypto/ccp/hygon/vpsp.c:1055:5: warning: no previous prototype for function 'vpsp_do_cmd' [-Wmissing-prototypes]
1055 | int vpsp_do_cmd(int cmd, phys_addr_t phy_addr, int *psp_ret)
| ^
drivers/crypto/ccp/hygon/vpsp.c:1055:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1055 | int vpsp_do_cmd(int cmd, phys_addr_t phy_addr, int *psp_ret)
| ^
| static
2 warnings generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for PTP_1588_CLOCK
Depends on [n]: NET [=y] && POSIX_TIMERS [=n]
Selected by [m]:
- SXE [=m] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_LINKDATA [=y] && (X86 [=y] || ARM64) && PCI [=y]
- SXE_VF [=m] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_LINKDATA [=y] && (X86 [=y] || ARM64) && PCI [=y]
vim +/vpsp_do_cmd +1055 drivers/crypto/ccp/hygon/vpsp.c
1054
> 1055 int vpsp_do_cmd(int cmd, phys_addr_t phy_addr, int *psp_ret)
1056 {
1057 int rc;
1058 int mutex_enabled = READ_ONCE(hygon_psp_hooks.psp_mutex_enabled);
1059
1060 if (!hygon_psp_hooks.sev_dev_hooks_installed)
1061 return -ENODEV;
1062
1063 if (mutex_enabled) {
1064 if (psp_mutex_lock_timeout(&hygon_psp_hooks.psp_misc->data_pg_aligned->mb_mutex,
1065 PSP_MUTEX_TIMEOUT) != 1) {
1066 return -EBUSY;
1067 }
1068 } else {
1069 mutex_lock(hygon_psp_hooks.sev_cmd_mutex);
1070 }
1071
1072 rc = __vpsp_do_cmd_locked(cmd, phy_addr, psp_ret);
1073
1074 if (mutex_enabled)
1075 psp_mutex_unlock(&hygon_psp_hooks.psp_misc->data_pg_aligned->mb_mutex);
1076 else
1077 mutex_unlock(hygon_psp_hooks.sev_cmd_mutex);
1078
1079 return rc;
1080 }
1081
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3560/3560] drivers/crypto/ccp/hygon/ccp-mdev.c:1144:15: warning: no previous prototype for function 'ccp_pin_memory'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 592817a30ddc0ef43c7f5b5fe906ae37cf3bea3b [3560/3560] crypto: ccp: add ccp-mdev functionality to the ccp module.
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20251221/202512210422.Gfg4tcZV-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512210422.Gfg4tcZV-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512210422.Gfg4tcZV-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/crypto/ccp/hygon/ccp-mdev.c:1144:15: warning: no previous prototype for function 'ccp_pin_memory' [-Wmissing-prototypes]
1144 | struct page **ccp_pin_memory(struct ccp_private *private, unsigned long uaddr,
| ^
drivers/crypto/ccp/hygon/ccp-mdev.c:1144:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1144 | struct page **ccp_pin_memory(struct ccp_private *private, unsigned long uaddr,
| ^
| static
1 warning generated.
vim +/ccp_pin_memory +1144 drivers/crypto/ccp/hygon/ccp-mdev.c
1143
> 1144 struct page **ccp_pin_memory(struct ccp_private *private, unsigned long uaddr,
1145 unsigned long ulen, unsigned long *n)
1146 {
1147 struct page **pages;
1148 unsigned long npages, size;
1149 unsigned long first, last;
1150 int npinned;
1151
1152 if (ulen == 0 || uaddr + ulen < uaddr)
1153 return NULL;
1154
1155 first = (uaddr & PAGE_MASK) >> PAGE_SHIFT;
1156 last = ((uaddr + ulen - 1) & PAGE_MASK) >> PAGE_SHIFT;
1157 npages = (last - first + 1);
1158
1159 if (WARN_ON_ONCE(npages > INT_MAX))
1160 return NULL;
1161
1162 size = npages * sizeof(struct page *);
1163 if (size > PAGE_SIZE)
1164 pages = vmalloc(size);
1165 else
1166 pages = kmalloc(size, GFP_KERNEL);
1167
1168 if (!pages)
1169 return NULL;
1170
1171 /* Pin the user virtual address. */
1172 npinned = pin_user_pages_fast(uaddr, npages, FOLL_WRITE, pages);
1173 if (npinned != npages)
1174 goto err;
1175
1176 *n = npages;
1177 return pages;
1178
1179 err:
1180 if (npinned > 0)
1181 unpin_user_pages(pages, npinned);
1182 kvfree(pages);
1183 return NULL;
1184 }
1185
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3557/3557] drivers/platform/mpam/mpam_resctrl.c:25:1: sparse: sparse: symbol 'resctrl_mon_ctx_waiters' was not declared. Should it be static?
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 9119da1439390ea4f29a0635652248aa3c2040f0 [3557/3557] arm_mpam: resctrl: Allow resctrl to allocate monitors
config: arm64-randconfig-r132-20251218 (https://download.01.org/0day-ci/archive/20251221/202512210339.nHxRhG7l-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512210339.nHxRhG7l-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512210339.nHxRhG7l-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/platform/mpam/mpam_resctrl.c:25:1: sparse: sparse: symbol 'resctrl_mon_ctx_waiters' was not declared. Should it be static?
>> drivers/platform/mpam/mpam_resctrl.c:45:5: sparse: sparse: symbol '__mon_is_rmid_idx' was not declared. Should it be static?
drivers/platform/mpam/mpam_resctrl.c:46:6: sparse: sparse: symbol 'mon_is_rmid_idx' was not declared. Should it be static?
vim +/resctrl_mon_ctx_waiters +25 drivers/platform/mpam/mpam_resctrl.c
24
> 25 DECLARE_WAIT_QUEUE_HEAD(resctrl_mon_ctx_waiters);
26
27 /*
28 * The classes we've picked to map to resctrl resources.
29 * Class pointer may be NULL.
30 */
31 static struct mpam_resctrl_res mpam_resctrl_exports[RDT_NUM_RESOURCES];
32
33 static bool exposed_alloc_capable;
34 static bool exposed_mon_capable;
35 static struct mpam_class *mbm_local_class;
36 static struct mpam_class *mbm_total_class;
37
38 /*
39 * MPAM emulates CDP by setting different PARTID in the I/D fields of MPAM1_EL1.
40 * This applies globally to all traffic the CPU generates.
41 */
42 static bool cdp_enabled;
43
44 /* A dummy mon context to use when the monitors were allocated up front */
> 45 u32 __mon_is_rmid_idx = USE_RMID_IDX;
46 void *mon_is_rmid_idx = &__mon_is_rmid_idx;
47
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 1/1] kismet: WARNING: unmet direct dependencies detected for NUMA_REMOTE when selected by OBMM
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: b2b4a358c0963806835f9a6ff96c2e34d1543216 [1/1] obmm: Add Ownership Based Memory Management framework
config: arm64-kismet-CONFIG_NUMA_REMOTE-CONFIG_OBMM-0-0 (https://download.01.org/0day-ci/archive/20251220/202512202005.B4YRvyvm-lkp@…)
reproduce: (https://download.01.org/0day-ci/archive/20251220/202512202005.B4YRvyvm-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512202005.B4YRvyvm-lkp@intel.com/
kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for NUMA_REMOTE when selected by OBMM
WARNING: unmet direct dependencies detected for PFN_RANGE_ALLOC
Depends on [n]: MEMORY_HOTPLUG [=n]
Selected by [y]:
- OBMM [=y] && UB [=y] && UB_UMMU_CORE [=y] && UB_UBUS [=y] && HISI_SOC_CACHE [=y]
WARNING: unmet direct dependencies detected for NUMA_REMOTE
Depends on [n]: NUMA [=n] && ARM64 [=y] && ARM64_4K_PAGES [=y] && SPARSEMEM_VMEMMAP [=y] && ZONE_EXTMEM [=n]
Selected by [y]:
- OBMM [=y] && UB [=y] && UB_UMMU_CORE [=y] && UB_UBUS [=y] && HISI_SOC_CACHE [=y]
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3544/3544] drivers/irqchip/irq-gic-v3-its.c:392:15: warning: no previous prototype for 'gic_data_rdist_get_vlpi_base'
by kernel test robot 21 Dec '25
by kernel test robot 21 Dec '25
21 Dec '25
Hi Jinqian,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 04473ee9ed912a16fff0d8846ad565bbf3d63c77
commit: 8207b85ea72073cc2f75884bfad29b41d805ef24 [3544/3544] kvm: hisi: print error for IPIV
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20251221/202512210351.fZ2BxCPV-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251221/202512210351.fZ2BxCPV-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512210351.fZ2BxCPV-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/irqchip/irq-gic-v3-its.c:392:15: warning: no previous prototype for 'gic_data_rdist_get_vlpi_base' [-Wmissing-prototypes]
392 | void __iomem *gic_data_rdist_get_vlpi_base(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/gic_data_rdist_get_vlpi_base +392 drivers/irqchip/irq-gic-v3-its.c
390
391 #ifdef CONFIG_ARM64_HISI_IPIV
> 392 void __iomem *gic_data_rdist_get_vlpi_base(void)
393 {
394 return gic_data_rdist_vlpi_base();
395 }
396 EXPORT_SYMBOL(gic_data_rdist_get_vlpi_base);
397 #endif
398
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0