Kernel
Threads by month
- ----- 2025 -----
- 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
- 49 participants
- 19111 discussions

[openeuler:OLK-5.10 2882/2882] arch/x86/events/amd/brs.c:339:6: warning: no previous prototype for 'perf_amd_brs_lopwr_cb'
by kernel test robot 04 Jun '25
by kernel test robot 04 Jun '25
04 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: b5ec139da1a4916dfc9644ee3d9426dbd6f23c13
commit: 600130a3b3f73d76dbfa38d63f68d1c2520e582d [2882/2882] kabi: Fix kabi breakage without build warning.
config: x86_64-buildonly-randconfig-2003-20250502 (https://download.01.org/0day-ci/archive/20250604/202506040948.XIX3UmG8-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250604/202506040948.XIX3UmG8-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/202506040948.XIX3UmG8-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/x86/events/amd/brs.c:339:6: warning: no previous prototype for 'perf_amd_brs_lopwr_cb' [-Wmissing-prototypes]
339 | void perf_amd_brs_lopwr_cb(bool lopwr_in)
| ^~~~~~~~~~~~~~~~~~~~~
vim +/perf_amd_brs_lopwr_cb +339 arch/x86/events/amd/brs.c
fb5f22f8054df9 Stephane Eranian 2022-03-22 334
fb5f22f8054df9 Stephane Eranian 2022-03-22 335 /*
fb5f22f8054df9 Stephane Eranian 2022-03-22 336 * called from ACPI processor_idle.c or acpi_pad.c
fb5f22f8054df9 Stephane Eranian 2022-03-22 337 * with interrupts disabled
fb5f22f8054df9 Stephane Eranian 2022-03-22 338 */
fb5f22f8054df9 Stephane Eranian 2022-03-22 @339 void perf_amd_brs_lopwr_cb(bool lopwr_in)
fb5f22f8054df9 Stephane Eranian 2022-03-22 340 {
fb5f22f8054df9 Stephane Eranian 2022-03-22 341 struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events);
fb5f22f8054df9 Stephane Eranian 2022-03-22 342 union amd_debug_extn_cfg cfg;
fb5f22f8054df9 Stephane Eranian 2022-03-22 343
fb5f22f8054df9 Stephane Eranian 2022-03-22 344 /*
fb5f22f8054df9 Stephane Eranian 2022-03-22 345 * on mwait in, we may end up in non C0 state.
fb5f22f8054df9 Stephane Eranian 2022-03-22 346 * we must disable branch sampling to avoid holding the NMI
fb5f22f8054df9 Stephane Eranian 2022-03-22 347 * for too long. We disable it in hardware but we
fb5f22f8054df9 Stephane Eranian 2022-03-22 348 * keep the state in cpuc, so we can re-enable.
fb5f22f8054df9 Stephane Eranian 2022-03-22 349 *
fb5f22f8054df9 Stephane Eranian 2022-03-22 350 * The hardware will deliver the NMI if needed when brsmen cleared
fb5f22f8054df9 Stephane Eranian 2022-03-22 351 */
fb5f22f8054df9 Stephane Eranian 2022-03-22 352 if (cpuc->brs_active) {
fb5f22f8054df9 Stephane Eranian 2022-03-22 353 cfg.val = get_debug_extn_cfg();
fb5f22f8054df9 Stephane Eranian 2022-03-22 354 cfg.brsmen = !lopwr_in;
fb5f22f8054df9 Stephane Eranian 2022-03-22 355 set_debug_extn_cfg(cfg.val);
fb5f22f8054df9 Stephane Eranian 2022-03-22 356 }
fb5f22f8054df9 Stephane Eranian 2022-03-22 357 }
fb5f22f8054df9 Stephane Eranian 2022-03-22 358
:::::: The code at line 339 was first introduced by commit
:::::: fb5f22f8054df9c6cc2c2e40e54a76ea62fb4824 perf/x86/amd: Add idle hooks for branch sampling
:::::: TO: Stephane Eranian <eranian(a)google.com>
:::::: CC: Xie Haocheng <haocheng.xie(a)amd.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
您好!
Kernel 邀请您参加 2025-06-06 14:00 召开的WeLink会议(自动录制)
会议主题:openEuler Kernel SIG双周例会
会议内容:
1. 进展update
2. 议题征集中(新增议题可直接回复本邮件申请,或填报至会议纪要看板)
会议链接:https://meeting.huaweicloud.com:36443/#/j/963059184
会议纪要:https://etherpad.openeuler.org/p/Kernel-meetings
更多资讯尽在:https://www.openeuler.org/zh/
Hello!
Kernel invites you to attend the WeLink conference(auto recording) will be held at 2025-06-06 14:00,
The subject of the conference is openEuler Kernel SIG双周例会
Summary:
1. 进展update
2. 议题征集中(新增议题可直接回复本邮件申请,或填报至会议纪要看板)
You can join the meeting at https://meeting.huaweicloud.com:36443/#/j/963059184
Add topics at https://etherpad.openeuler.org/p/Kernel-meetings
More information: https://www.openeuler.org/en/
1
0

[openeuler:OLK-5.10 2882/2882] mm/memcontrol.c:5402:26: error: implicit declaration of function 'ksm_process_profit'
by kernel test robot 04 Jun '25
by kernel test robot 04 Jun '25
04 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: b5ec139da1a4916dfc9644ee3d9426dbd6f23c13
commit: 0f6fb3570be40b783d8c756d64297be1a8e3d2b3 [2882/2882] memcg: support ksm merge any mode per cgroup
config: x86_64-buildonly-randconfig-2004-20250502 (https://download.01.org/0day-ci/archive/20250604/202506040506.8yAlJEMb-lkp@…)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250604/202506040506.8yAlJEMb-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/202506040506.8yAlJEMb-lkp@intel.com/
All errors (new ones prefixed by >>):
>> mm/memcontrol.c:5402:26: error: implicit declaration of function 'ksm_process_profit' [-Werror,-Wimplicit-function-declaration]
5402 | ksm_process_profits += ksm_process_profit(mm);
| ^
1 error generated.
vim +/ksm_process_profit +5402 mm/memcontrol.c
5379
5380 static int memory_ksm_show(struct seq_file *m, void *v)
5381 {
5382 unsigned long ksm_merging_pages = 0;
5383 unsigned long ksm_rmap_items = 0;
5384 long ksm_process_profits = 0;
5385 unsigned int tasks = 0;
5386 struct task_struct *task;
5387 struct mm_struct *mm;
5388 struct css_task_iter it;
5389 struct mem_cgroup *memcg = mem_cgroup_from_seq(m);
5390
5391 css_task_iter_start(&memcg->css, CSS_TASK_ITER_PROCS, &it);
5392 while ((task = css_task_iter_next(&it))) {
5393 mm = get_task_mm(task);
5394 if (!mm)
5395 continue;
5396
5397 if (test_bit(MMF_VM_MERGE_ANY, &mm->flags))
5398 tasks++;
5399
5400 ksm_rmap_items += mm->ksm_rmap_items;
5401 ksm_merging_pages += mm->ksm_merging_pages;
> 5402 ksm_process_profits += ksm_process_profit(mm);
5403 mmput(mm);
5404 }
5405 css_task_iter_end(&it);
5406
5407 seq_printf(m, "merge any state: %d\n", READ_ONCE(memcg->ksm_merge_any));
5408 seq_printf(m, "merge any tasks: %u\n", tasks);
5409 seq_printf(m, "ksm_rmap_items %lu\n", ksm_rmap_items);
5410 seq_printf(m, "ksm_merging_pages %lu\n", ksm_merging_pages);
5411 seq_printf(m, "ksm_process_profits %ld\n", ksm_process_profits);
5412 return 0;
5413 }
5414
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10 2882/2882] drivers/gpu/drm/loongson/lsdc_plane.c:444:7: warning: variable 'format_count' is used uninitialized whenever switch case is taken
by kernel test robot 04 Jun '25
by kernel test robot 04 Jun '25
04 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: b5ec139da1a4916dfc9644ee3d9426dbd6f23c13
commit: 80764bc784413eb604c7d472db55b1ca72d4bbc5 [2882/2882] drm/loongson: add kernel modesetting driver support for ls7a1000/ls7a2000
config: x86_64-buildonly-randconfig-2004-20250502 (https://download.01.org/0day-ci/archive/20250604/202506040411.rMDpRs4Q-lkp@…)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250604/202506040411.rMDpRs4Q-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/202506040411.rMDpRs4Q-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/gpu/drm/loongson/lsdc_plane.c:98:13: warning: variable 'lo32_addr_reg' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
98 | } else if (index == 1) {
| ^~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:114:33: note: uninitialized use occurs here
114 | writel(paddr, ldev->reg_base + lo32_addr_reg);
| ^~~~~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:98:9: note: remove the 'if' if its condition is always true
98 | } else if (index == 1) {
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:77:19: note: initialize the variable 'lo32_addr_reg' to silence this warning
77 | u32 lo32_addr_reg;
| ^
| = 0
drivers/gpu/drm/loongson/lsdc_plane.c:98:13: warning: variable 'hi32_addr_reg' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
98 | } else if (index == 1) {
| ^~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:115:48: note: uninitialized use occurs here
115 | writel((paddr >> 32) & 0xFF, ldev->reg_base + hi32_addr_reg);
| ^~~~~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:98:9: note: remove the 'if' if its condition is always true
98 | } else if (index == 1) {
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:78:19: note: initialize the variable 'hi32_addr_reg' to silence this warning
78 | u32 hi32_addr_reg;
| ^
| = 0
drivers/gpu/drm/loongson/lsdc_plane.c:98:13: warning: variable 'val' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
98 | } else if (index == 1) {
| ^~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:120:9: note: uninitialized use occurs here
120 | writel(val | CFG_PAGE_FLIP_BIT, ldev->reg_base + cfg_reg);
| ^~~
drivers/gpu/drm/loongson/lsdc_plane.c:98:9: note: remove the 'if' if its condition is always true
98 | } else if (index == 1) {
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:80:9: note: initialize the variable 'val' to silence this warning
80 | u32 val;
| ^
| = 0
drivers/gpu/drm/loongson/lsdc_plane.c:98:13: warning: variable 'cfg_reg' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
98 | } else if (index == 1) {
| ^~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:120:51: note: uninitialized use occurs here
120 | writel(val | CFG_PAGE_FLIP_BIT, ldev->reg_base + cfg_reg);
| ^~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:98:9: note: remove the 'if' if its condition is always true
98 | } else if (index == 1) {
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:79:13: note: initialize the variable 'cfg_reg' to silence this warning
79 | u32 cfg_reg;
| ^
| = 0
>> drivers/gpu/drm/loongson/lsdc_plane.c:444:7: warning: variable 'format_count' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized]
444 | case DRM_PLANE_TYPE_OVERLAY:
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:451:21: note: uninitialized use occurs here
451 | formats, format_count,
| ^~~~~~~~~~~~
drivers/gpu/drm/loongson/lsdc_plane.c:428:27: note: initialize the variable 'format_count' to silence this warning
428 | unsigned int format_count;
| ^
| = 0
5 warnings generated.
vim +/format_count +444 drivers/gpu/drm/loongson/lsdc_plane.c
420
421 int lsdc_plane_init(struct lsdc_device *ldev,
422 struct drm_plane *plane,
423 enum drm_plane_type type,
424 unsigned int index)
425 {
426 struct drm_device *ddev = ldev->ddev;
427 int zpos = lsdc_plane_get_default_zpos(type);
428 unsigned int format_count;
429 const u32 *formats;
430 const char *name;
431 int ret;
432
433 switch (type) {
434 case DRM_PLANE_TYPE_PRIMARY:
435 formats = lsdc_primary_formats;
436 format_count = ARRAY_SIZE(lsdc_primary_formats);
437 name = "primary-%u";
438 break;
439 case DRM_PLANE_TYPE_CURSOR:
440 formats = lsdc_cursor_formats;
441 format_count = ARRAY_SIZE(lsdc_cursor_formats);
442 name = "cursor-%u";
443 break;
> 444 case DRM_PLANE_TYPE_OVERLAY:
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10 2882/2882] kernel/workqueue.c:4821:5: error: implicit declaration of function 'printk_safe_enter'
by kernel test robot 04 Jun '25
by kernel test robot 04 Jun '25
04 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: b5ec139da1a4916dfc9644ee3d9426dbd6f23c13
commit: 3d01105a68b1318bdc3cef3bbcfcb544e2da856e [2882/2882] workqueue: fix state-dump console deadlock
config: x86_64-buildonly-randconfig-2004-20250502 (https://download.01.org/0day-ci/archive/20250604/202506040213.o6kXHX9l-lkp@…)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250604/202506040213.o6kXHX9l-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/202506040213.o6kXHX9l-lkp@intel.com/
All errors (new ones prefixed by >>):
>> kernel/workqueue.c:4821:5: error: implicit declaration of function 'printk_safe_enter' [-Werror,-Wimplicit-function-declaration]
4821 | printk_safe_enter();
| ^
kernel/workqueue.c:4821:5: note: did you mean 'printk_nmi_enter'?
include/linux/printk.h:158:20: note: 'printk_nmi_enter' declared here
158 | static inline void printk_nmi_enter(void) { }
| ^
>> kernel/workqueue.c:4823:5: error: implicit declaration of function 'printk_safe_exit' [-Werror,-Wimplicit-function-declaration]
4823 | printk_safe_exit();
| ^
kernel/workqueue.c:4847:3: error: implicit declaration of function 'printk_safe_enter' [-Werror,-Wimplicit-function-declaration]
4847 | printk_safe_enter();
| ^
kernel/workqueue.c:4862:3: error: implicit declaration of function 'printk_safe_exit' [-Werror,-Wimplicit-function-declaration]
4862 | printk_safe_exit();
| ^
4 errors generated.
vim +/printk_safe_enter +4821 kernel/workqueue.c
4780
4781 /**
4782 * show_workqueue_state - dump workqueue state
4783 *
4784 * Called from a sysrq handler or try_to_freeze_tasks() and prints out
4785 * all busy workqueues and pools.
4786 */
4787 void show_workqueue_state(void)
4788 {
4789 struct workqueue_struct *wq;
4790 struct worker_pool *pool;
4791 unsigned long flags;
4792 int pi;
4793
4794 rcu_read_lock();
4795
4796 pr_info("Showing busy workqueues and worker pools:\n");
4797
4798 list_for_each_entry_rcu(wq, &workqueues, list) {
4799 struct pool_workqueue *pwq;
4800 bool idle = true;
4801
4802 for_each_pwq(pwq, wq) {
4803 if (pwq->nr_active || !list_empty(&pwq->delayed_works)) {
4804 idle = false;
4805 break;
4806 }
4807 }
4808 if (idle)
4809 continue;
4810
4811 pr_info("workqueue %s: flags=0x%x\n", wq->name, wq->flags);
4812
4813 for_each_pwq(pwq, wq) {
4814 raw_spin_lock_irqsave(&pwq->pool->lock, flags);
4815 if (pwq->nr_active || !list_empty(&pwq->delayed_works)) {
4816 /*
4817 * Defer printing to avoid deadlocks in console
4818 * drivers that queue work while holding locks
4819 * also taken in their write paths.
4820 */
> 4821 printk_safe_enter();
4822 show_pwq(pwq);
> 4823 printk_safe_exit();
4824 }
4825 raw_spin_unlock_irqrestore(&pwq->pool->lock, flags);
4826 /*
4827 * We could be printing a lot from atomic context, e.g.
4828 * sysrq-t -> show_workqueue_state(). Avoid triggering
4829 * hard lockup.
4830 */
4831 touch_nmi_watchdog();
4832 }
4833 }
4834
4835 for_each_pool(pool, pi) {
4836 struct worker *worker;
4837 bool first = true;
4838
4839 raw_spin_lock_irqsave(&pool->lock, flags);
4840 if (pool->nr_workers == pool->nr_idle)
4841 goto next_pool;
4842 /*
4843 * Defer printing to avoid deadlocks in console drivers that
4844 * queue work while holding locks also taken in their write
4845 * paths.
4846 */
4847 printk_safe_enter();
4848 pr_info("pool %d:", pool->id);
4849 pr_cont_pool_info(pool);
4850 pr_cont(" hung=%us workers=%d",
4851 jiffies_to_msecs(jiffies - pool->watchdog_ts) / 1000,
4852 pool->nr_workers);
4853 if (pool->manager)
4854 pr_cont(" manager: %d",
4855 task_pid_nr(pool->manager->task));
4856 list_for_each_entry(worker, &pool->idle_list, entry) {
4857 pr_cont(" %s%d", first ? "idle: " : "",
4858 task_pid_nr(worker->task));
4859 first = false;
4860 }
4861 pr_cont("\n");
4862 printk_safe_exit();
4863 next_pool:
4864 raw_spin_unlock_irqrestore(&pool->lock, flags);
4865 /*
4866 * We could be printing a lot from atomic context, e.g.
4867 * sysrq-t -> show_workqueue_state(). Avoid triggering
4868 * hard lockup.
4869 */
4870 touch_nmi_watchdog();
4871 }
4872
4873 rcu_read_unlock();
4874 }
4875
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS] BUILD REGRESSION f86f8706481a23ecd781d2d13c3815a7fb4cc312
by kernel test robot 04 Jun '25
by kernel test robot 04 Jun '25
04 Jun '25
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: f86f8706481a23ecd781d2d13c3815a7fb4cc312 !16548 mm/vmscan: don't try to reclaim hwpoison folio
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202505070314.0zdCBK7T-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505160438.vuslIGAx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201642.9kWf73yF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201731.rOzzhiIH-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201910.3QGTFYPj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505202028.GvFwJHdW-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505202138.LT7VPPBg-lkp@intel.com
arch/x86/kernel/fpu/core.c:175:14: warning: mixing declarations and code is a C99 extension [-Wdeclaration-after-statement]
include/linux/filter.h:787:10: warning: cast between incompatible function types from 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} to 'u64 (*)(u64, u64, u64, u64, u64, const struct bpf_insn *)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, const struct bpf_insn *)'} [-Wcast-function-type]
include/trace/trace_events.h:26:23: warning: 'str__fs__trace_system_name' defined but not used [-Wunused-const-variable=]
mm/huge_memory.c:2092:8: warning: variable 'orig_pud' set but not used [-Wunused-but-set-variable]
mm/hugetlb.c:1432:6: warning: no previous prototype for 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes]
mm/khugepaged.c:1387: warning: Function parameter or member 'hpage' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'mapping' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'mm' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'node' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'reliable' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'start' not described in 'collapse_shmem'
mm/maccess.c:85:6: warning: no previous prototype for '__probe_user_read' [-Wmissing-prototypes]
mm/memcontrol.c:6728: warning: bad line: | 0, otherwise.
mm/memory_hotplug.c:481:16: warning: variable 'start_pfn' set but not used [-Wunused-but-set-variable]
mm/memory_hotplug.c:481:23: warning: variable 'start_pfn' set but not used [-Wunused-but-set-variable]
mm/rmap.c:916:17: warning: variable 'cstart' set but not used [-Wunused-but-set-variable]
mm/rmap.c:916:31: warning: variable 'cstart' set but not used [-Wunused-but-set-variable]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
|-- x86_64-allnoconfig
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-allyesconfig
| |-- arch-x86-kernel-fpu-core.c:warning:mixing-declarations-and-code-is-a-C99-extension
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-defconfig
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-free_huge_page_to_dhugetlb_pool
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
`-- x86_64-rhel-9.4-rust
|-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
|-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
|-- mm-memcontrol.c:warning:bad-line:otherwise.
|-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
`-- mm-rmap.c:warning:variable-cstart-set-but-not-used
elapsed time: 728m
configs tested: 5
configs skipped: 31
tested configs:
arm64 allmodconfig gcc-15.1.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10 2882/2882] security/integrity/ima/ima_main.c:433:30: error: too few arguments to function 'ima_appraise_measurement'
by kernel test robot 04 Jun '25
by kernel test robot 04 Jun '25
04 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: b5ec139da1a4916dfc9644ee3d9426dbd6f23c13
commit: e94df9b790f7ed9025c9321f16a77044f66b14a5 [2882/2882] ima: Add macros to isolate the IMA digest list
config: x86_64-buildonly-randconfig-2001-20250502 (https://download.01.org/0day-ci/archive/20250604/202506040040.nqyD44bt-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250604/202506040040.nqyD44bt-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/202506040040.nqyD44bt-lkp@intel.com/
Note: the openeuler/OLK-5.10 HEAD b5ec139da1a4916dfc9644ee3d9426dbd6f23c13 builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
In file included from security/integrity/ima/ima_main.c:30:
security/integrity/ima/ima.h:381:51: warning: 'struct ima_digest' declared inside parameter list will not be visible outside of this definition or declaration
381 | struct ima_digest *found_digest)
| ^~~~~~~~~~
security/integrity/ima/ima_main.c: In function 'process_measurement':
>> security/integrity/ima/ima_main.c:433:30: error: too few arguments to function 'ima_appraise_measurement'
433 | rc = ima_appraise_measurement(func, iint, file,
| ^~~~~~~~~~~~~~~~~~~~~~~~
security/integrity/ima/ima.h:373:19: note: declared here
373 | static inline int ima_appraise_measurement(enum ima_hooks func,
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +/ima_appraise_measurement +433 security/integrity/ima/ima_main.c
31604143977fc2 Roberto Sassu 2021-03-03 427
0d73a55208e94f Dmitry Kasatkin 2017-12-05 428 if (rc == 0 && (action & IMA_APPRAISE_SUBMASK)) {
8b4670bcc857ed Zhang Tianxing 2021-12-29 429 rc = ima_check_blacklist(iint, modsig, pcr);
273df864cf7466 Nayna Jain 2019-10-30 430 if (rc != -EPERM) {
0d73a55208e94f Dmitry Kasatkin 2017-12-05 431 inode_lock(inode);
e94df9b790f7ed Zhou Shuiqing 2023-09-06 432
273df864cf7466 Nayna Jain 2019-10-30 @433 rc = ima_appraise_measurement(func, iint, file,
273df864cf7466 Nayna Jain 2019-10-30 434 pathname, xattr_value,
e94df9b790f7ed Zhou Shuiqing 2023-09-06 435 #ifdef CONFIG_IMA_DIGEST_LIST
a44c2ae6cac55b Roberto Sassu 2021-03-03 436 xattr_len, modsig,
a44c2ae6cac55b Roberto Sassu 2021-03-03 437 ima_digest_allow(found_digest,
a44c2ae6cac55b Roberto Sassu 2021-03-03 438 IMA_APPRAISE));
e94df9b790f7ed Zhou Shuiqing 2023-09-06 439 #else
e94df9b790f7ed Zhou Shuiqing 2023-09-06 440 xattr_len, modsig);
e94df9b790f7ed Zhou Shuiqing 2023-09-06 441 #endif
0d73a55208e94f Dmitry Kasatkin 2017-12-05 442 inode_unlock(inode);
273df864cf7466 Nayna Jain 2019-10-30 443 }
2cd4737bc85022 Mimi Zohar 2019-04-30 444 if (!rc)
2cd4737bc85022 Mimi Zohar 2019-04-30 445 rc = mmap_violation_check(func, file, &pathbuf,
2cd4737bc85022 Mimi Zohar 2019-04-30 446 &pathname, filename);
0d73a55208e94f Dmitry Kasatkin 2017-12-05 447 }
e7c568e0fd0cf6 Peter Moody 2012-06-14 448 if (action & IMA_AUDIT)
ea1046d4c57ee6 Dmitry Kasatkin 2012-09-04 449 ima_audit_measurement(iint, pathname);
f7a859ff7395c0 Roberto Sassu 2014-09-12 450
f3cc6b25dcc561 Mimi Zohar 2017-06-17 451 if ((file->f_flags & O_DIRECT) && (iint->flags & IMA_PERMIT_DIRECTIO))
f3cc6b25dcc561 Mimi Zohar 2017-06-17 452 rc = 0;
0d73a55208e94f Dmitry Kasatkin 2017-12-05 453 out_locked:
0d73a55208e94f Dmitry Kasatkin 2017-12-05 454 if ((mask & MAY_WRITE) && test_bit(IMA_DIGSIG, &iint->atomic_flags) &&
05d1a717ec0430 Mimi Zohar 2016-02-29 455 !(iint->flags & IMA_NEW_FILE))
a175b8bb29ebba Dmitry Kasatkin 2012-09-27 456 rc = -EACCES;
0d73a55208e94f Dmitry Kasatkin 2017-12-05 457 mutex_unlock(&iint->mutex);
f7a859ff7395c0 Roberto Sassu 2014-09-12 458 kfree(xattr_value);
39b07096364a42 Thiago Jung Bauermann 2019-06-27 459 ima_free_modsig(modsig);
0d73a55208e94f Dmitry Kasatkin 2017-12-05 460 out:
456f5fd3f6017f Dmitry Kasatkin 2014-10-01 461 if (pathbuf)
456f5fd3f6017f Dmitry Kasatkin 2014-10-01 462 __putname(pathbuf);
0d73a55208e94f Dmitry Kasatkin 2017-12-05 463 if (must_appraise) {
581fd05ad98600 Zhang Tianxing 2021-12-29 464 if (rc && (ima_appraise & IMA_APPRAISE_ENFORCE))
750943a30714b7 Dmitry Kasatkin 2012-09-27 465 return -EACCES;
0d73a55208e94f Dmitry Kasatkin 2017-12-05 466 if (file->f_mode & FMODE_WRITE)
0d73a55208e94f Dmitry Kasatkin 2017-12-05 467 set_bit(IMA_UPDATE_XATTR, &iint->atomic_flags);
0d73a55208e94f Dmitry Kasatkin 2017-12-05 468 }
750943a30714b7 Dmitry Kasatkin 2012-09-27 469 return 0;
3323eec921efd8 Mimi Zohar 2009-02-04 470 }
3323eec921efd8 Mimi Zohar 2009-02-04 471
:::::: The code at line 433 was first introduced by commit
:::::: 273df864cf7466fb170b8dcc1abd672cd08ad8d3 ima: Check against blacklisted hashes for files with modsig
:::::: TO: Nayna Jain <nayna(a)linux.ibm.com>
:::::: CC: Michael Ellerman <mpe(a)ellerman.id.au>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10 2882/2882] security/integrity/ima/ima.h:381:51: warning: 'struct ima_digest' declared inside parameter list will not be visible outside of this definition or declaration
by kernel test robot 03 Jun '25
by kernel test robot 03 Jun '25
03 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: b5ec139da1a4916dfc9644ee3d9426dbd6f23c13
commit: e94df9b790f7ed9025c9321f16a77044f66b14a5 [2882/2882] ima: Add macros to isolate the IMA digest list
config: x86_64-buildonly-randconfig-2001-20250502 (https://download.01.org/0day-ci/archive/20250603/202506032230.dr69WVe5-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250603/202506032230.dr69WVe5-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/202506032230.dr69WVe5-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from security/integrity/ima/ima_api.c:18:
>> security/integrity/ima/ima.h:381:51: warning: 'struct ima_digest' declared inside parameter list will not be visible outside of this definition or declaration
381 | struct ima_digest *found_digest)
| ^~~~~~~~~~
--
In file included from security/integrity/ima/ima_main.c:30:
>> security/integrity/ima/ima.h:381:51: warning: 'struct ima_digest' declared inside parameter list will not be visible outside of this definition or declaration
381 | struct ima_digest *found_digest)
| ^~~~~~~~~~
security/integrity/ima/ima_main.c: In function 'process_measurement':
security/integrity/ima/ima_main.c:433:30: error: too few arguments to function 'ima_appraise_measurement'
433 | rc = ima_appraise_measurement(func, iint, file,
| ^~~~~~~~~~~~~~~~~~~~~~~~
security/integrity/ima/ima.h:373:19: note: declared here
373 | static inline int ima_appraise_measurement(enum ima_hooks func,
| ^~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from security/integrity/ima/ima_asymmetric_keys.c:13:
>> security/integrity/ima/ima.h:381:51: warning: 'struct ima_digest' declared inside parameter list will not be visible outside of this definition or declaration
381 | struct ima_digest *found_digest)
| ^~~~~~~~~~
security/integrity/ima/ima_asymmetric_keys.c:27:6: warning: no previous prototype for 'ima_post_key_create_or_update' [-Wmissing-prototypes]
27 | void ima_post_key_create_or_update(struct key *keyring, struct key *key,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +381 security/integrity/ima/ima.h
273df864cf7466 Nayna Jain 2019-10-30 372
4ad87a3d7444de Mimi Zohar 2016-01-14 373 static inline int ima_appraise_measurement(enum ima_hooks func,
d79d72e02485c0 Mimi Zohar 2012-12-03 374 struct integrity_iint_cache *iint,
2fe5d6def1672a Mimi Zohar 2012-02-13 375 struct file *file,
d3634d0f426bde Dmitry Kasatkin 2013-04-25 376 const unsigned char *filename,
d3634d0f426bde Dmitry Kasatkin 2013-04-25 377 struct evm_ima_xattr_data *xattr_value,
39b07096364a42 Thiago Jung Bauermann 2019-06-27 378 int xattr_len,
e94df9b790f7ed Zhou Shuiqing 2023-09-06 379 #ifndef CONFIG_IMA_DIGEST_LIST
a44c2ae6cac55b Roberto Sassu 2021-03-03 380 const struct modsig *modsig,
a44c2ae6cac55b Roberto Sassu 2021-03-03 @381 struct ima_digest *found_digest)
e94df9b790f7ed Zhou Shuiqing 2023-09-06 382 #else
e94df9b790f7ed Zhou Shuiqing 2023-09-06 383 const struct modsig *modsig)
e94df9b790f7ed Zhou Shuiqing 2023-09-06 384 #endif
2fe5d6def1672a Mimi Zohar 2012-02-13 385 {
2fe5d6def1672a Mimi Zohar 2012-02-13 386 return INTEGRITY_UNKNOWN;
2fe5d6def1672a Mimi Zohar 2012-02-13 387 }
2fe5d6def1672a Mimi Zohar 2012-02-13 388
:::::: The code at line 381 was first introduced by commit
:::::: a44c2ae6cac55bdcc0d33f62600233ea0f3f6688 ima: Add support for appraisal with digest lists
:::::: TO: Roberto Sassu <roberto.sassu(a)huawei.com>
:::::: CC: Zheng Zengkai <zhengzengkai(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Zizhi Wo <wozizhi(a)huaweicloud.com>
Amir Goldstein (1):
exportfs: define FILEID_INO64_GEN* file handle types
Hongbo Li (1):
erofs: fix file handle encoding for 64-bit NIDs
fs/erofs/super.c | 43 +++++++++++++++++++++++++++++++++-------
fs/fuse/inode.c | 7 ++++---
include/linux/exportfs.h | 11 ++++++++++
3 files changed, 51 insertions(+), 10 deletions(-)
--
2.39.2
2
3

03 Jun '25
From: Amir Goldstein <amir73il(a)gmail.com>
mainline inclusion
from mainline-v6.7-rc1
commit 41d1ddd2717c758b8606a66d57d2cc63b41373c0
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/ICC0OZ
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Similar to the common FILEID_INO32* file handle types, define common
FILEID_INO64* file handle types.
The type values of FILEID_INO64_GEN and FILEID_INO64_GEN_PARENT are the
values returned by fuse and xfs for 64bit ino encoded file handle types.
Note that these type value are filesystem specific and they do not define
a universal file handle format, for example:
fuse encodes FILEID_INO64_GEN as [ino-hi32,ino-lo32,gen] and xfs encodes
FILEID_INO64_GEN as [hostr-order-ino64,gen] (a.k.a xfs_fid64).
The FILEID_INO64_GEN fhandle type is going to be used for file ids for
fanotify from filesystems that do not support NFS export.
Reviewed-by: Jan Kara <jack(a)suse.cz>
Reviewed-by: Jeff Layton <jlayton(a)kernel.org>
Signed-off-by: Amir Goldstein <amir73il(a)gmail.com>
Link: https://lore.kernel.org/r/20231023180801.2953446-4-amir73il@gmail.com
Signed-off-by: Christian Brauner <brauner(a)kernel.org>
Signed-off-by: Zizhi Wo <wozizhi(a)huaweicloud.com>
---
fs/fuse/inode.c | 7 ++++---
include/linux/exportfs.h | 11 +++++++++++
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 735abf426a06..f0a126ac9e62 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -1080,7 +1080,7 @@ static int fuse_encode_fh(struct inode *inode, u32 *fh, int *max_len,
}
*max_len = len;
- return parent ? 0x82 : 0x81;
+ return parent ? FILEID_INO64_GEN_PARENT : FILEID_INO64_GEN;
}
static struct dentry *fuse_fh_to_dentry(struct super_block *sb,
@@ -1088,7 +1088,8 @@ static struct dentry *fuse_fh_to_dentry(struct super_block *sb,
{
struct fuse_inode_handle handle;
- if ((fh_type != 0x81 && fh_type != 0x82) || fh_len < 3)
+ if ((fh_type != FILEID_INO64_GEN &&
+ fh_type != FILEID_INO64_GEN_PARENT) || fh_len < 3)
return NULL;
handle.nodeid = (u64) fid->raw[0] << 32;
@@ -1102,7 +1103,7 @@ static struct dentry *fuse_fh_to_parent(struct super_block *sb,
{
struct fuse_inode_handle parent;
- if (fh_type != 0x82 || fh_len < 6)
+ if (fh_type != FILEID_INO64_GEN_PARENT || fh_len < 6)
return NULL;
parent.nodeid = (u64) fid->raw[3] << 32;
diff --git a/include/linux/exportfs.h b/include/linux/exportfs.h
index ddc3da097362..6abadf9931a6 100644
--- a/include/linux/exportfs.h
+++ b/include/linux/exportfs.h
@@ -99,6 +99,17 @@ enum fid_type {
*/
FILEID_FAT_WITH_PARENT = 0x72,
+ /*
+ * 64 bit inode number, 32 bit generation number.
+ */
+ FILEID_INO64_GEN = 0x81,
+
+ /*
+ * 64 bit inode number, 32 bit generation number,
+ * 64 bit parent inode number, 32 bit parent generation.
+ */
+ FILEID_INO64_GEN_PARENT = 0x82,
+
/*
* 128 bit child FID (struct lu_fid)
* 128 bit parent FID (struct lu_fid)
--
2.39.2
2
4

03 Jun '25
From: Cindy Lu <lulu(a)redhat.com>
mainline inclusion
from mainline-v6.3-rc3
commit aed8efddd39b3434c96718d39009285c52b1cafc
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC5DDQ
CVE: CVE-2023-53082
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
While unplugging the vp_vdpa device, it triggers a kernel panic
The root cause is: vdpa_mgmtdev_unregister() will accesses modern
devices which will cause a use after free.
So need to change the sequence in vp_vdpa_remove
[ 195.003359] BUG: unable to handle page fault for address: ff4e8beb80199014
[ 195.004012] #PF: supervisor read access in kernel mode
[ 195.004486] #PF: error_code(0x0000) - not-present page
[ 195.004960] PGD 100000067 P4D 1001b6067 PUD 1001b7067 PMD 1001b8067 PTE 0
[ 195.005578] Oops: 0000 1 PREEMPT SMP PTI
[ 195.005968] CPU: 13 PID: 164 Comm: kworker/u56:10 Kdump: loaded Not tainted 5.14.0-252.el9.x86_64 #1
[ 195.006792] Hardware name: Red Hat KVM/RHEL, BIOS edk2-20221207gitfff6d81270b5-2.el9 unknown
[ 195.007556] Workqueue: kacpi_hotplug acpi_hotplug_work_fn
[ 195.008059] RIP: 0010:ioread8+0x31/0x80
[ 195.008418] Code: 77 28 48 81 ff 00 00 01 00 76 0b 89 fa ec 0f b6 c0 c3 cc cc cc cc 8b 15 ad 72 93 01 b8 ff 00 00 00 85 d2 75 0f c3 cc cc cc cc <8a> 07 0f b6 c0 c3 cc cc cc cc 83 ea 01 48 83 ec 08 48 89 fe 48 c7
[ 195.010104] RSP: 0018:ff4e8beb8067bab8 EFLAGS: 00010292
[ 195.010584] RAX: ffffffffc05834a0 RBX: ffffffffc05843c0 RCX: ff4e8beb8067bae0
[ 195.011233] RDX: ff1bcbd580f88000 RSI: 0000000000000246 RDI: ff4e8beb80199014
[ 195.011881] RBP: ff1bcbd587e39000 R08: ffffffff916fa2d0 R09: ff4e8beb8067ba68
[ 195.012527] R10: 000000000000001c R11: 0000000000000000 R12: ff1bcbd5a3de9120
[ 195.013179] R13: ffffffffc062d000 R14: 0000000000000080 R15: ff1bcbe402bc7805
[ 195.013826] FS: 0000000000000000(0000) GS:ff1bcbe402740000(0000) knlGS:0000000000000000
[ 195.014564] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 195.015093] CR2: ff4e8beb80199014 CR3: 0000000107dea002 CR4: 0000000000771ee0
[ 195.015741] PKRU: 55555554
[ 195.016001] Call Trace:
[ 195.016233] <TASK>
[ 195.016434] vp_modern_get_status+0x12/0x20
[ 195.016823] vp_vdpa_reset+0x1b/0x50 [vp_vdpa]
[ 195.017238] virtio_vdpa_reset+0x3c/0x48 [virtio_vdpa]
[ 195.017709] remove_vq_common+0x1f/0x3a0 [virtio_net]
[ 195.018178] virtnet_remove+0x5d/0x70 [virtio_net]
[ 195.018618] virtio_dev_remove+0x3d/0x90
[ 195.018986] device_release_driver_internal+0x1aa/0x230
[ 195.019466] bus_remove_device+0xd8/0x150
[ 195.019841] device_del+0x18b/0x3f0
[ 195.020167] ? kernfs_find_ns+0x35/0xd0
[ 195.020526] device_unregister+0x13/0x60
[ 195.020894] unregister_virtio_device+0x11/0x20
[ 195.021311] device_release_driver_internal+0x1aa/0x230
[ 195.021790] bus_remove_device+0xd8/0x150
[ 195.022162] device_del+0x18b/0x3f0
[ 195.022487] device_unregister+0x13/0x60
[ 195.022852] ? vdpa_dev_remove+0x30/0x30 [vdpa]
[ 195.023270] vp_vdpa_dev_del+0x12/0x20 [vp_vdpa]
[ 195.023694] vdpa_match_remove+0x2b/0x40 [vdpa]
[ 195.024115] bus_for_each_dev+0x78/0xc0
[ 195.024471] vdpa_mgmtdev_unregister+0x65/0x80 [vdpa]
[ 195.024937] vp_vdpa_remove+0x23/0x40 [vp_vdpa]
[ 195.025353] pci_device_remove+0x36/0xa0
[ 195.025719] device_release_driver_internal+0x1aa/0x230
[ 195.026201] pci_stop_bus_device+0x6c/0x90
[ 195.026580] pci_stop_and_remove_bus_device+0xe/0x20
[ 195.027039] disable_slot+0x49/0x90
[ 195.027366] acpiphp_disable_and_eject_slot+0x15/0x90
[ 195.027832] hotplug_event+0xea/0x210
[ 195.028171] ? hotplug_event+0x210/0x210
[ 195.028535] acpiphp_hotplug_notify+0x22/0x80
[ 195.028942] ? hotplug_event+0x210/0x210
[ 195.029303] acpi_device_hotplug+0x8a/0x1d0
[ 195.029690] acpi_hotplug_work_fn+0x1a/0x30
[ 195.030077] process_one_work+0x1e8/0x3c0
[ 195.030451] worker_thread+0x50/0x3b0
[ 195.030791] ? rescuer_thread+0x3a0/0x3a0
[ 195.031165] kthread+0xd9/0x100
[ 195.031459] ? kthread_complete_and_exit+0x20/0x20
[ 195.031899] ret_from_fork+0x22/0x30
[ 195.032233] </TASK>
Fixes: ffbda8e9df10 ("vdpa/vp_vdpa : add vdpa tool support in vp_vdpa")
Tested-by: Lei Yang <leiyang(a)redhat.com>
Cc: stable(a)vger.kernel.org
Signed-off-by: Cindy Lu <lulu(a)redhat.com>
Message-Id: <20230214080924.131462-1-lulu(a)redhat.com>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
Acked-by: Jason Wang <jasowang(a)redhat.com>
Signed-off-by: Xiang Yang <xiangyang3(a)huawei.com>
---
drivers/vdpa/virtio_pci/vp_vdpa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/vdpa/virtio_pci/vp_vdpa.c b/drivers/vdpa/virtio_pci/vp_vdpa.c
index 4e513a38df60..bea30e83dc44 100644
--- a/drivers/vdpa/virtio_pci/vp_vdpa.c
+++ b/drivers/vdpa/virtio_pci/vp_vdpa.c
@@ -631,8 +631,8 @@ static void vp_vdpa_remove(struct pci_dev *pdev)
struct virtio_pci_modern_device *mdev = NULL;
mdev = vp_vdpa_mgtdev->mdev;
- vp_modern_remove(mdev);
vdpa_mgmtdev_unregister(&vp_vdpa_mgtdev->mgtdev);
+ vp_modern_remove(mdev);
kfree(vp_vdpa_mgtdev->mgtdev.id_table);
kfree(mdev);
kfree(vp_vdpa_mgtdev);
--
2.34.1
2
1

[openeuler:OLK-6.6 2195/2195] arch/x86/events/zhaoxin/uncore.c:2828:6: warning: no previous prototype for 'kx7000_uncore_cpu_init'
by kernel test robot 03 Jun '25
by kernel test robot 03 Jun '25
03 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 97c2d1a4aa1430a6305c949fa1f72efe454c946d
commit: 25fd62f6e8c9636272009dfcbe04fb1a260cbf8d [2195/2195] perf/x86/zhaoxin/uncore: update KX-7000 support
config: x86_64-buildonly-randconfig-2002-20250502 (https://download.01.org/0day-ci/archive/20250603/202506031655.e9KhPxkV-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250603/202506031655.e9KhPxkV-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/202506031655.e9KhPxkV-lkp@intel.com/
All warnings (new ones prefixed by >>):
arch/x86/events/zhaoxin/uncore.c:2798:6: warning: no previous prototype for 'kx5000_uncore_cpu_init' [-Wmissing-prototypes]
2798 | void kx5000_uncore_cpu_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~
arch/x86/events/zhaoxin/uncore.c:2807:6: warning: no previous prototype for 'kh40000_uncore_cpu_init' [-Wmissing-prototypes]
2807 | void kh40000_uncore_cpu_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/x86/events/zhaoxin/uncore.c:2812:5: warning: no previous prototype for 'kh40000_uncore_pci_init' [-Wmissing-prototypes]
2812 | int kh40000_uncore_pci_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
>> arch/x86/events/zhaoxin/uncore.c:2828:6: warning: no previous prototype for 'kx7000_uncore_cpu_init' [-Wmissing-prototypes]
2828 | void kx7000_uncore_cpu_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~
>> arch/x86/events/zhaoxin/uncore.c:2843:5: warning: no previous prototype for 'kx7000_uncore_pci_init' [-Wmissing-prototypes]
2843 | int kx7000_uncore_pci_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~
>> arch/x86/events/zhaoxin/uncore.c:2851:6: warning: no previous prototype for 'kx7000_uncore_mmio_init' [-Wmissing-prototypes]
2851 | void kx7000_uncore_mmio_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/kx7000_uncore_cpu_init +2828 arch/x86/events/zhaoxin/uncore.c
2827
> 2828 void kx7000_uncore_cpu_init(void)
2829 {
2830 u64 val;
2831 int cpu;
2832
2833 uncore_msr_uncores = kx7000_msr_uncores;
2834
2835 /* clear bit 16 of MSR 0x1877 so that HIF can work normally */
2836 for_each_present_cpu(cpu) {
2837 rdmsrl_on_cpu(cpu, 0x1877, &val);
2838 val = val & 0xfffffffffffeffffULL;
2839 wrmsrl_on_cpu(cpu, 0x1877, val);
2840 }
2841 }
2842
> 2843 int kx7000_uncore_pci_init(void)
2844 {
2845 uncore_pci_uncores = kx7000_pci_uncores;
2846 uncore_pci_driver = &kx7000_uncore_pci_driver;
2847
2848 return 0;
2849 }
2850
> 2851 void kx7000_uncore_mmio_init(void)
2852 {
2853 uncore_mmio_uncores = kx7000_mmio_uncores;
2854 }
2855
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 2195/2195] arch/x86/events/zhaoxin/uncore.c:2761:6: warning: no previous prototype for 'kx5000_uncore_cpu_init'
by kernel test robot 03 Jun '25
by kernel test robot 03 Jun '25
03 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 97c2d1a4aa1430a6305c949fa1f72efe454c946d
commit: dc5b97374ba722156acbdfc4e3adbc69e2dbe7f4 [2195/2195] perf/x86/zhaoxin/uncore: Add KX-7000 support
config: x86_64-buildonly-randconfig-2002-20250502 (https://download.01.org/0day-ci/archive/20250603/202506031554.QV1bCcG7-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250603/202506031554.QV1bCcG7-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/202506031554.QV1bCcG7-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/x86/events/zhaoxin/uncore.c:2761:6: warning: no previous prototype for 'kx5000_uncore_cpu_init' [-Wmissing-prototypes]
2761 | void kx5000_uncore_cpu_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~
>> arch/x86/events/zhaoxin/uncore.c:2770:6: warning: no previous prototype for 'kh40000_uncore_cpu_init' [-Wmissing-prototypes]
2770 | void kh40000_uncore_cpu_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
>> arch/x86/events/zhaoxin/uncore.c:2775:5: warning: no previous prototype for 'kh40000_uncore_pci_init' [-Wmissing-prototypes]
2775 | int kh40000_uncore_pci_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/x86/events/zhaoxin/uncore.c:2791:6: warning: no previous prototype for 'kx8000_uncore_cpu_init' [-Wmissing-prototypes]
2791 | void kx8000_uncore_cpu_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~
arch/x86/events/zhaoxin/uncore.c:2796:5: warning: no previous prototype for 'kx8000_uncore_pci_init' [-Wmissing-prototypes]
2796 | int kx8000_uncore_pci_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~
arch/x86/events/zhaoxin/uncore.c:2804:6: warning: no previous prototype for 'kx8000_uncore_mmio_init' [-Wmissing-prototypes]
2804 | void kx8000_uncore_mmio_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/kx5000_uncore_cpu_init +2761 arch/x86/events/zhaoxin/uncore.c
2760
> 2761 void kx5000_uncore_cpu_init(void)
2762 {
2763 uncore_msr_uncores = kx5000_msr_uncores;
2764 }
2765
2766 static const struct zhaoxin_uncore_init_fun kx5000_uncore_init __initconst = {
2767 .cpu_init = kx5000_uncore_cpu_init,
2768 };
2769
> 2770 void kh40000_uncore_cpu_init(void)
2771 {
2772 uncore_msr_uncores = kh40000_msr_uncores;
2773 }
2774
> 2775 int kh40000_uncore_pci_init(void)
2776 {
2777 int ret = kh40000_pci2node_map_init();/*pci_bus to package mapping, do nothing*/
2778
2779 if (ret)
2780 return ret;
2781 uncore_pci_uncores = kh40000_pci_uncores;
2782 uncore_pci_driver = &kh40000_uncore_pci_driver;
2783 return 0;
2784 }
2785
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 2195/2195] security/integrity/ima/ima_main.c:645: warning: Function parameter or member 'bprm' not described in 'ima_bprm_creds_for_exec'
by kernel test robot 03 Jun '25
by kernel test robot 03 Jun '25
03 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 97c2d1a4aa1430a6305c949fa1f72efe454c946d
commit: b89997c5e3ffa58c43c4cb3547eb0c11b75d0634 [2195/2195] IMA support script execution check
config: x86_64-buildonly-randconfig-2001-20250502 (https://download.01.org/0day-ci/archive/20250603/202506031526.ih0vsefi-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250603/202506031526.ih0vsefi-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/202506031526.ih0vsefi-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> security/integrity/ima/ima_main.c:645: warning: Function parameter or member 'bprm' not described in 'ima_bprm_creds_for_exec'
vim +645 security/integrity/ima/ima_main.c
640
641 /**
642 * ima_bprm_creds_for_exec - ima support exec check.
643 */
644 int ima_bprm_creds_for_exec(struct linux_binprm *bprm)
> 645 {
646 if (!bprm->is_check)
647 return 0;
648
649 return ima_bprm_check(bprm);
650 }
651
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 2195/2195] drivers/crypto/ccp/hygon/hct.c:1730:45: error: no member named 'numa_node' in 'struct device'
by kernel test robot 03 Jun '25
by kernel test robot 03 Jun '25
03 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 97c2d1a4aa1430a6305c949fa1f72efe454c946d
commit: c74ae2c5da57becf3f41c596d79b3dd30fa1baa6 [2195/2195] hct: add mediated ccp driver support for hygon crypto technology.
config: x86_64-buildonly-randconfig-2004-20250502 (https://download.01.org/0day-ci/archive/20250603/202506031108.JuNV3xoC-lkp@…)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250603/202506031108.JuNV3xoC-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/202506031108.JuNV3xoC-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
In file included from drivers/crypto/ccp/hygon/hct.c:20:
In file included from include/linux/vfio.h:12:
In file included from include/linux/iommu.h:10:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2242:
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/crypto/ccp/hygon/hct.c:1333:15: warning: no previous prototype for function 'hct_pin_memory' [-Wmissing-prototypes]
1333 | struct page **hct_pin_memory(struct hct_private *private, unsigned long uaddr,
| ^
drivers/crypto/ccp/hygon/hct.c:1333:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1333 | struct page **hct_pin_memory(struct hct_private *private, unsigned long uaddr,
| ^
| static
>> drivers/crypto/ccp/hygon/hct.c:1730:45: error: no member named 'numa_node' in 'struct device'
1730 | *node = hct_data.iommu[page_idx].pdev->dev.numa_node;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
2 warnings and 1 error generated.
vim +1730 drivers/crypto/ccp/hygon/hct.c
1713
1714 static struct page *hct_get_page(pgoff_t page_idx)
1715 {
1716 u64 *node;
1717
1718 mutex_lock(&hct_share.lock);
1719 if (!hct_share.pages[page_idx]) {
1720 hct_share.pages[page_idx] =
1721 alloc_pages(GFP_HIGHUSER | __GFP_ZERO, 0);
1722 if (!hct_share.pages[page_idx]) {
1723 mutex_unlock(&hct_share.lock);
1724 return NULL;
1725 }
1726 }
1727 get_page(hct_share.pages[page_idx]);
1728
1729 node = page_to_virt(hct_share.pages[page_idx]) + PAGE_SIZE - 8;
> 1730 *node = hct_data.iommu[page_idx].pdev->dev.numa_node;
1731 mutex_unlock(&hct_share.lock);
1732
1733 return hct_share.pages[page_idx];
1734 }
1735
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Steven Rostedt <rostedt(a)goodmis.org>
stable inclusion
from stable-v6.6.88
commit 89baf6bbe6b68981f06766965519ac265e707862
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IC8J7I
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit a8c5b0ed89a3f2c81c6ae0b041394e6eea0e7024 upstream.
The filter string testing uses strncpy_from_kernel/user_nofault() to
retrieve the string to test the filter against. The if() statement was
incorrect as it considered 0 as a fault, when it is only negative that it
faulted.
Running the following commands:
# cd /sys/kernel/tracing
# echo "filename.ustring ~ \"/proc*\"" > events/syscalls/sys_enter_openat/filter
# echo 1 > events/syscalls/sys_enter_openat/enable
# ls /proc/$$/maps
# cat trace
Would produce nothing, but with the fix it will produce something like:
ls-1192 [007] ..... 8169.828333: sys_openat(dfd: ffffffffffffff9c, filename: 7efc18359904, flags: 80000, mode: 0)
Link: https://lore.kernel.org/all/CAEf4BzbVPQ=BjWztmEwBPRKHUwNfKBkS3kce-Rzka6zvbQ…
Cc: stable(a)vger.kernel.org
Cc: Masami Hiramatsu <mhiramat(a)kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers(a)efficios.com>
Cc: Andrew Morton <akpm(a)linux-foundation.org>
Link: https://lore.kernel.org/20250417183003.505835fb@gandalf.local.home
Fixes: 77360f9bbc7e5 ("tracing: Add test for user space strings when filtering on string pointers")
Reported-by: Andrii Nakryiko <andrii.nakryiko(a)gmail.com>
Reported-by: Mykyta Yatsenko <mykyta.yatsenko5(a)gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Pu Lehui <pulehui(a)huawei.com>
---
kernel/trace/trace_events_filter.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
index 0c611b281a5b..f50c2ad43f3d 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -808,7 +808,7 @@ static __always_inline char *test_string(char *str)
kstr = ubuf->buffer;
/* For safety, do not trust the string pointer */
- if (!strncpy_from_kernel_nofault(kstr, str, USTRING_BUF_SIZE))
+ if (strncpy_from_kernel_nofault(kstr, str, USTRING_BUF_SIZE) < 0)
return NULL;
return kstr;
}
@@ -827,7 +827,7 @@ static __always_inline char *test_ustring(char *str)
/* user space address? */
ustr = (char __user *)str;
- if (!strncpy_from_user_nofault(kstr, ustr, USTRING_BUF_SIZE))
+ if (strncpy_from_user_nofault(kstr, ustr, USTRING_BUF_SIZE) < 0)
return NULL;
return kstr;
--
2.34.1
2
1

[openeuler:OLK-6.6 2195/2195] kernel/sched/isolation.c:134:46: error: use of undeclared identifier 'setup_max_cpus'
by kernel test robot 03 Jun '25
by kernel test robot 03 Jun '25
03 Jun '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 97c2d1a4aa1430a6305c949fa1f72efe454c946d
commit: 54bee36be952f18f6a9e8303822459e89daaa336 [2195/2195] sched/isolation: Fix boot crash when maxcpus < first housekeeping CPU
config: x86_64-buildonly-randconfig-2004-20250502 (https://download.01.org/0day-ci/archive/20250603/202506031046.kGeNnudq-lkp@…)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250603/202506031046.kGeNnudq-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/202506031046.kGeNnudq-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from kernel/sched/build_utility.c:24:
In file included from include/linux/cpuset.h:17:
In file included from include/linux/mm.h:2242:
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_"
| ~~~~~~~~~~~ ^ ~~~
In file included from kernel/sched/build_utility.c:105:
>> kernel/sched/isolation.c:134:46: error: use of undeclared identifier 'setup_max_cpus'
134 | if (first_cpu >= nr_cpu_ids || first_cpu >= setup_max_cpus) {
| ^
1 warning and 1 error generated.
vim +/setup_max_cpus +134 kernel/sched/isolation.c
108
109 static int __init housekeeping_setup(char *str, unsigned long flags)
110 {
111 cpumask_var_t non_housekeeping_mask, housekeeping_staging;
112 unsigned int first_cpu;
113 int err = 0;
114
115 if ((flags & HK_FLAG_TICK) && !(housekeeping.flags & HK_FLAG_TICK)) {
116 if (!IS_ENABLED(CONFIG_NO_HZ_FULL)) {
117 pr_warn("Housekeeping: nohz unsupported."
118 " Build with CONFIG_NO_HZ_FULL\n");
119 return 0;
120 }
121 }
122
123 alloc_bootmem_cpumask_var(&non_housekeeping_mask);
124 if (cpulist_parse(str, non_housekeeping_mask) < 0) {
125 pr_warn("Housekeeping: nohz_full= or isolcpus= incorrect CPU range\n");
126 goto free_non_housekeeping_mask;
127 }
128
129 alloc_bootmem_cpumask_var(&housekeeping_staging);
130 cpumask_andnot(housekeeping_staging,
131 cpu_possible_mask, non_housekeeping_mask);
132
133 first_cpu = cpumask_first_and(cpu_present_mask, housekeeping_staging);
> 134 if (first_cpu >= nr_cpu_ids || first_cpu >= setup_max_cpus) {
135 __cpumask_set_cpu(smp_processor_id(), housekeeping_staging);
136 __cpumask_clear_cpu(smp_processor_id(), non_housekeeping_mask);
137 if (!housekeeping.flags) {
138 pr_warn("Housekeeping: must include one present CPU, "
139 "using boot CPU:%d\n", smp_processor_id());
140 }
141 }
142
143 if (cpumask_empty(non_housekeeping_mask))
144 goto free_housekeeping_staging;
145
146 if (!housekeeping.flags) {
147 /* First setup call ("nohz_full=" or "isolcpus=") */
148 enum hk_type type;
149
150 for_each_set_bit(type, &flags, HK_TYPE_MAX)
151 housekeeping_setup_type(type, housekeeping_staging);
152 } else {
153 /* Second setup call ("nohz_full=" after "isolcpus=" or the reverse) */
154 enum hk_type type;
155 unsigned long iter_flags = flags & housekeeping.flags;
156
157 for_each_set_bit(type, &iter_flags, HK_TYPE_MAX) {
158 if (!cpumask_equal(housekeeping_staging,
159 housekeeping.cpumasks[type])) {
160 pr_warn("Housekeeping: nohz_full= must match isolcpus=\n");
161 goto free_housekeeping_staging;
162 }
163 }
164
165 iter_flags = flags & ~housekeeping.flags;
166
167 for_each_set_bit(type, &iter_flags, HK_TYPE_MAX)
168 housekeeping_setup_type(type, housekeeping_staging);
169 }
170
171 if ((flags & HK_FLAG_TICK) && !(housekeeping.flags & HK_FLAG_TICK))
172 tick_nohz_full_setup(non_housekeeping_mask);
173
174 housekeeping.flags |= flags;
175 err = 1;
176
177 free_housekeeping_staging:
178 free_bootmem_cpumask_var(housekeeping_staging);
179 free_non_housekeeping_mask:
180 free_bootmem_cpumask_var(non_housekeeping_mask);
181
182 return err;
183 }
184
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS 1654/1654] kernel/sched/grid/qos.c:84:26: error: no member named 'v' in 'struct mempolicy'
by kernel test robot 01 Jun '25
by kernel test robot 01 Jun '25
01 Jun '25
Hi Wang,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 8eff3fb546d3baa728542fd40cdbad086cd9227c
commit: ce35ded5d5774f055f6850b15032066ff4936414 [1654/1654] sched: smart grid: init sched_grid_qos structure on QOS purpose
config: x86_64-randconfig-122-20250531 (https://download.01.org/0day-ci/archive/20250601/202506010120.CPcodFlN-lkp@…)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250601/202506010120.CPcodFlN-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/202506010120.CPcodFlN-lkp@intel.com/
All errors (new ones prefixed by >>):
kernel/sched/grid/qos.c: note: in included file (through include/linux/kernel.h, include/linux/nodemask.h):
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
kernel/sched/grid/qos.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h, include/linux/nodemask.h):
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
kernel/sched/grid/qos.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/nodemask.h):
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:44: sparse: sparse: got <
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:43: sparse: sparse: not a function <noident>
/opt/cross/clang-58df0ef89d/lib/clang/20/include/stdarg.h:22:22: sparse: sparse: bad constant expression type
kernel/sched/grid/qos.c:84:13: sparse: sparse: using member 'v' in incomplete struct mempolicy
kernel/sched/grid/qos.c:91:9: sparse: sparse: using member 'v' in incomplete struct mempolicy
kernel/sched/grid/qos.c:95:16: sparse: sparse: no member 'il_prev' in struct task_struct
kernel/sched/grid/qos.c:97:19: sparse: sparse: no member 'il_prev' in struct task_struct
>> kernel/sched/grid/qos.c:84:26: error: no member named 'v' in 'struct mempolicy'
84 | if (nodes_equal(policy->v.nodes, *preferred_nmask))
| ~~~~~~ ^
include/linux/nodemask.h:202:20: note: expanded from macro 'nodes_equal'
202 | __nodes_equal(&(src1), &(src2), MAX_NUMNODES)
| ^~~~
kernel/sched/grid/qos.c:91:27: error: no member named 'v' in 'struct mempolicy'
91 | nodes_and(nmask, policy->v.nodes, *preferred_nmask);
| ~~~~~~ ^
include/linux/nodemask.h:162:26: note: expanded from macro 'nodes_and'
162 | __nodes_and(&(dst), &(src1), &(src2), MAX_NUMNODES)
| ^~~~
>> kernel/sched/grid/qos.c:95:26: error: no member named 'il_prev' in 'struct task_struct'
95 | next = next_node_in(me->il_prev, nmask);
| ~~ ^
include/linux/nodemask.h:278:46: note: expanded from macro 'next_node_in'
278 | #define next_node_in(n, src) __next_node_in((n), &(src))
| ^
kernel/sched/grid/qos.c:97:7: error: no member named 'il_prev' in 'struct task_struct'
97 | me->il_prev = next;
| ~~ ^
4 errors generated.
--
>> kernel/sched/grid/qos.c:84:26: error: no member named 'v' in 'struct mempolicy'
84 | if (nodes_equal(policy->v.nodes, *preferred_nmask))
| ~~~~~~ ^
include/linux/nodemask.h:202:20: note: expanded from macro 'nodes_equal'
202 | __nodes_equal(&(src1), &(src2), MAX_NUMNODES)
| ^~~~
kernel/sched/grid/qos.c:91:27: error: no member named 'v' in 'struct mempolicy'
91 | nodes_and(nmask, policy->v.nodes, *preferred_nmask);
| ~~~~~~ ^
include/linux/nodemask.h:162:26: note: expanded from macro 'nodes_and'
162 | __nodes_and(&(dst), &(src1), &(src2), MAX_NUMNODES)
| ^~~~
>> kernel/sched/grid/qos.c:95:26: error: no member named 'il_prev' in 'struct task_struct'
95 | next = next_node_in(me->il_prev, nmask);
| ~~ ^
include/linux/nodemask.h:278:46: note: expanded from macro 'next_node_in'
278 | #define next_node_in(n, src) __next_node_in((n), &(src))
| ^
kernel/sched/grid/qos.c:97:7: error: no member named 'il_prev' in 'struct task_struct'
97 | me->il_prev = next;
| ~~ ^
4 errors generated.
vim +84 kernel/sched/grid/qos.c
68
69 /* dynamic select a more appropriate preferred interleave nid for process */
70 int sched_grid_preferred_interleave_nid(struct mempolicy *policy)
71 {
72 nodemask_t nmask;
73 unsigned int next;
74 struct task_struct *me = current;
75 nodemask_t *preferred_nmask = NULL;
76
77 if (likely(me->grid_qos))
78 preferred_nmask =
79 &me->grid_qos->affinity.mem_preferred_node_mask;
80
81 if (!preferred_nmask || !policy)
82 return NUMA_NO_NODE;
83
> 84 if (nodes_equal(policy->v.nodes, *preferred_nmask))
85 return NUMA_NO_NODE;
86 /*
87 * We perceive the actual consumption of memory bandwidth
88 * in each node and post a preferred interleave nid in
89 * more appropriate range.
90 */
> 91 nodes_and(nmask, policy->v.nodes, *preferred_nmask);
92 if (nodes_empty(nmask))
93 return NUMA_NO_NODE;
94
> 95 next = next_node_in(me->il_prev, nmask);
96 if (next < MAX_NUMNODES)
97 me->il_prev = next;
98 return next;
99 }
100
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6] BUILD REGRESSION 97c2d1a4aa1430a6305c949fa1f72efe454c946d
by kernel test robot 31 May '25
by kernel test robot 31 May '25
31 May '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 97c2d1a4aa1430a6305c949fa1f72efe454c946d !16542 perf: Fix hang while freeing sigtrap event
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202505080526.qCQgtY7V-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505080910.94UlZrA0-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505100830.TI8oJiuj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505101047.t5A72bmv-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505122110.l7rKvRzx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505130655.7iroL05g-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505191456.gDWxN0oB-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201519.o4k4rCxn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201603.DayzxkWd-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201708.6dvo6U58-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201722.VJAhefze-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201757.qoTbv6a9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201856.VGaOEUgd-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201929.AHI9gRxc-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201944.3gmU2Dch-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505210529.5XGNL1lQ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505210722.gwnDsvxy-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505210904.LgTxS8rg-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505211154.GJrcviY9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505261539.RLecPVlr-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505272122.LGw8kmAU-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505272226.RcAmWtpx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505272259.OmUgrWdN-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280023.4g7q598y-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280056.91YNE6dg-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280147.YRorbaqT-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280148.N1Nt6ytB-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280443.W5j7eO4Y-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280603.E3YHNVzo-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280802.sHbtyOVR-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505281128.MTV3LnwY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505281457.ZzTKocMO-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505281528.FWgbJLUK-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505281611.rYwqwDFF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505281622.nxl9aDmY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505290337.UpMv109S-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505291226.uUVxetsW-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505291329.BZ34eEzz-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505291449.qcY77e1i-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505291525.OYGJaX7H-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505291615.pbSUmoIC-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505291807.LPmsH7Fj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505292025.Uqstjrf4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505301346.VRD8YS7H-lkp@intel.com
./drivers/crypto/sedriver/wst_se_common_type.h: 19 linux/version.h not needed.
Warning: drivers/arm/mm_monitor/spe-decoder/arm-spe-decoder.c references a file that doesn't exist: Documentation/arm64/memory.rst
arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r1.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r2.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r3.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/mediatek/mt8195-demo.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/mediatek/mt8195-evb.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dtb: gpio@ff260000 (rockchip,gpio-bank): 'bios-disable-n-hog', 'bios-disable-override-hog' do not match any of the regexes: '^pinctrl-[0-9]+$'
arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dtb: pinctrl (rockchip,px30-pinctrl): gpio@ff260000: 'bios-disable-n-hog', 'bios-disable-override-hog' do not match any of the regexes: '^pinctrl-[0-9]+$'
arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dtb: pinctrl (rockchip,px30-pinctrl): gpio@ff260000: Unevaluated properties are not allowed ('bios-disable-n-hog', 'bios-disable-override-hog' were unexpected)
arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dtb: pmic@20 (rockchip,rk809): '#sound-dai-cells', 'assigned-clock-parents', 'assigned-clocks', 'clock-names', 'clocks' do not match any of the regexes: '^pinctrl-[0-9]+$'
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dtb: syscon@40f00000 (syscon): compatible: ['syscon', 'simple-mfd'] is too short
arch/arm64/kvm/../../../virt/kvm/eventfd.c:1102: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
arch/arm64/kvm/../../../virt/kvm/eventfd.c:719: warning: cannot understand function prototype: 'struct eventfd_shadow '
arch/arm64/kvm/hisilicon/hisi_virt.h:112:13: warning: 'hisi_ipiv_supported_per_vm' defined but not used [-Wunused-function]
arch/arm64/kvm/hisilicon/hisi_virt.h:116:13: warning: 'hisi_ipiv_enable_per_vm' defined but not used [-Wunused-function]
arch/loongarch/kvm/../../../virt/kvm/eventfd.c:1102: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
arch/loongarch/kvm/../../../virt/kvm/eventfd.c:719: warning: cannot understand function prototype: 'struct eventfd_shadow '
arch/x86/kernel/cpu/bpf-rvi.c:129:25: warning: no previous prototype for function 'bpf_arch_flags' [-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/kvm/../../../virt/kvm/eventfd.c:1102: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
arch/x86/kvm/../../../virt/kvm/eventfd.c:719: warning: cannot understand function prototype: 'struct eventfd_shadow '
drivers/crypto/sedriver/wst_se_echip_driver.c:1082:9: warning: no previous prototype for 'se_kernelwrite' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:114:5: warning: no previous prototype for 'se_free_dma_buf' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:1175:5: warning: no previous prototype for 'se_chip_load' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:1272:6: warning: no previous prototype for 'se_chip_unload' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:150:5: warning: no previous prototype for 'se_printk_hex' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:95:25: warning: no previous prototype for 'se_get_dma_buf' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c:240:32: warning: unused variable 'entry' [-Wunused-variable]
drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c:244:13: warning: variable 'restart_fg' set but not used [-Wunused-but-set-variable]
drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c:256:21: warning: unused variable 'ring_index' [-Wunused-variable]
drivers/gpu/drm/sti/sti_dvo.c:531:12: error: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
drivers/gpu/drm/sti/sti_dvo.c:531:14: error: call to undeclared function 'devm_ioremap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
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-its.c:392:15: warning: no previous prototype for function 'gic_data_rdist_get_vlpi_base' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:445:23: error: invalid application of 'sizeof' to an incomplete type 'const struct free_memory[]'
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c: mag_mpu_cmd_defs.h is included more than once.
drivers/net/ethernet/huawei/hinic3/hw/hinic3_hwif.c:862: 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_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/motorcomm/yt6801/yt6801_desc.c:206:73: warning: '%u' directive output may be truncated writing between 1 and 10 bytes into a region of size 8 [-Wformat-truncation=]
drivers/net/ethernet/motorcomm/yt6801/yt6801_main.c:1715:35: warning: variable 'mac_hfr2' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/motorcomm/yt6801/yt6801_main.c:1715:42: warning: variable 'mac_hfr2' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/yunsilicon/xsc/pci/sriov_sysfs.c:911:31: warning: unused variable 'vf_type_ib' [-Wunused-const-variable]
drivers/net/ethernet/yunsilicon/xsc/pci/xsc_lag.c:1128:21: warning: variable 'bond_dev' set but not used [-Wunused-but-set-variable]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:545:5: error: no previous prototype for 'ps3_pci_init' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:899:5: error: no previous prototype for 'ps3_pci_init_complete' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:945:6: error: no previous prototype for 'ps3_pci_init_complete_exit' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli.c:108:9: error: function 'ps3stor_cli_printf' might be a candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1059:5: error: no previous prototype for 'ps3_dump_context_show' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:159:5: error: no previous prototype for 'ps3_dump_file_write' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:200:5: error: no previous prototype for 'ps3_dump_file_close' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:28:5: error: no previous prototype for 'ps3_dump_local_time' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:50:5: error: no previous prototype for 'ps3_dump_filename_build' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:76:5: error: no previous prototype for 'ps3_dump_file_open' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:131:6: error: no previous prototype for 'ps3_trigger_irq_poll' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:243:5: error: no previous prototype for 'ps3_resp_status_convert' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:403:6: error: no previous prototype for 'ps3_io_recv_ok_stat_inc' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:85:6: error: no previous prototype for 'ps3_cmd_stat_content_clear' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_debug.c:883:5: error: no previous prototype for 'ps3_dump_dir_length' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1581:5: error: no previous prototype for 'ps3_scsi_private_init_pd' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1663:5: error: no previous prototype for 'ps3_scsi_private_init_vd' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1632:5: error: no previous prototype for 'ps3_sas_expander_phys_refresh' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_instance_manager.c:669:60: error: 'snprintf' output may be truncated before the last format character [-Werror=format-truncation=]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:147:6: error: no previous prototype for 'ps3_ioc_resource_prepare_hba' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:36:6: error: no previous prototype for 'ps3_ioc_resource_prepare_switch' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:88:6: error: no previous prototype for 'ps3_ioc_resource_prepare_raid' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:307:5: error: no previous prototype for 'ps3_hard_reset_to_ready' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:785:6: error: no previous prototype for 'ps3_clean_mgr_cmd' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:21:27: error: 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: 'PS3_INTERRUPT_CMD_ENABLE_MSIX' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: 'PS3_INTERRUPT_MASK_DISABLE' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: 'PS3_INTERRUPT_STATUS_EXIST_IRQ' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: 'PS3_INTERRUPT_CLEAR_IRQ' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:27:27: error: 'PS3_SSD_IOPS_MSIX_VECTORS' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: 'PS3_HDD_IOPS_MSIX_VECTORS' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_module_para.c:609:14: error: no previous prototype for 'ps3_cli_ver_query' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:6: error: no previous prototype for 'ps3_qos_pd_waitq_ratio_update' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:15: error: no previous prototype for 'ps3_hba_qos_decision' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:6: error: no previous prototype for 'ps3_hba_qos_waitq_notify' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:6: error: no previous prototype for 'ps3_cmd_waitq_abort' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:211:1: error: no previous prototype for 'ps3_qos_cmd_waitq_get' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:6: error: no previous prototype for 'ps3_hba_qos_waitq_clear_all' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:6: error: no previous prototype for 'ps3_hba_qos_vd_init' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:6: error: no previous prototype for 'ps3_hba_qos_vd_reset' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3023:6: error: no previous prototype for 'ps3_hba_qos_waitq_poll' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3279:15: error: no previous prototype for 'ps3_raid_qos_decision' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3334:6: error: no previous prototype for 'ps3_qos_mgrq_resend' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:15: error: no previous prototype for 'ps3_qos_vd_cmdword_get' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3478:6: error: no previous prototype for 'ps3_raid_qos_waitq_notify' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:15: error: no previous prototype for 'ps3_qos_exclusive_cmdword_get' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:15: error: no previous prototype for 'ps3_qos_tg_decision' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3821:15: error: no previous prototype for 'ps3_raid_qos_waitq_abort' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:4022:6: error: no previous prototype for 'ps3_raid_qos_waitq_clear_all' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:4083:6: error: no previous prototype for 'ps3_raid_qos_waitq_poll' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:15: error: no previous prototype for 'ps3_qos_all_pd_rc_get' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:6: error: no previous prototype for 'ps3_pd_quota_waitq_clear_all' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:6: error: no previous prototype for 'ps3_pd_quota_waitq_clean' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1173:5: error: no previous prototype for 'ps3_range_check_and_insert' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1231:5: error: no previous prototype for 'ps3_r1x_hash_range_lock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1312:6: error: no previous prototype for 'ps3_r1x_hash_range_unlock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:578:5: error: no previous prototype for 'ps3_r1x_hash_bit_check' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:678:6: error: no previous prototype for 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:730:5: error: no previous prototype for 'ps3_r1x_hash_bit_lock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:988:6: error: no previous prototype for 'ps3_r1x_hash_bit_unlock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:154:6: error: no previous prototype for 'rbtDelNodeDo' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:204:6: error: no previous prototype for 'ps3_recovery_irq_queue_destroy' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2700:6: error: no previous prototype for 'ps3_hard_recovery_state_finish' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:363:5: error: no previous prototype for 'ps3_recovery_state_transfer' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:72:30: error: no previous prototype for 'ps3_recovery_context_alloc' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:82:6: error: no previous prototype for 'ps3_recovery_context_free' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:88:6: error: no previous prototype for 'ps3_recovery_context_delete' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:407:5: error: no previous prototype for 'ps3_sas_update_phy_info' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1110:5: error: no previous prototype for 'ps3_wait_for_outstanding_complete' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:876:6: error: no previous prototype for 'ps3_set_task_manager_busy' [-Werror=missing-prototypes]
fs/nfs/dir.c:1498:6: warning: no previous prototype for 'nfs_check_have_lookup_cache_flag' [-Wmissing-prototypes]
fs/nfs/dir.c:1498:6: warning: no previous prototype for function 'nfs_check_have_lookup_cache_flag' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:127: 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:129:6: warning: no previous prototype for function 'enfs_swap_name_cache' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:148:6: warning: no previous prototype for function 'enfs_domain_inc' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:217:6: warning: no previous prototype for function 'ip_list_append' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:361:5: warning: no previous prototype for function 'enfs_quick_sort' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:394:5: warning: no previous prototype for function 'enfs_dns_process_ip' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:434:5: warning: no previous prototype for function 'enfs_server_query_dns' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:494:6: warning: no previous prototype for function 'query_dns_each_name' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:582:5: warning: no previous prototype for function 'enfs_iter_nfs_clnt' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:669:6: warning: no previous prototype for function 'enfs_domain_for_each' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:92:6: warning: no previous prototype for function 'enfs_update_domain_name' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_config.c:554:6: warning: no previous prototype for function 'enfs_glob_match' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_init.c:100:6: warning: no previous prototype for function 'enfs_fini' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_init.c:95:9: warning: no previous prototype for function 'enfs_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:112:6: warning: no previous prototype for function 'enfs_update_lookup_cache_flag_to_server' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:146:5: warning: no previous prototype for function 'enfs_query_lookup_cache' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:251:6: warning: no previous prototype for function 'enfs_query_lookup_cache_pre_check' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:269:6: warning: no previous prototype for function 'lookupcache_execute_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:292:6: warning: no previous prototype for function 'lookupcache_workqueue_queue_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:305:5: warning: no previous prototype for function 'lookupcache_add_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:374:6: warning: no previous prototype for function 'lookupcache_loop_rpclnt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:423:6: warning: no previous prototype for function 'enfs_lookupcache_update_switch' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:440:5: warning: no previous prototype for function 'lookupcache_routine' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:460:5: warning: no previous prototype for function 'lookupcache_start' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:471:5: warning: no previous prototype for function 'enfs_lookupcache_workqueue_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:487:6: warning: no previous prototype for function 'lookupcache_workqueue_fini' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:504:5: warning: no previous prototype for function 'enfs_lookupcache_timer_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:98:6: warning: no previous prototype for function 'enfs_clean_server_lookup_cache_flag' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:179: 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:321:5: warning: no previous prototype for function 'enfs_configure_xprt_to_clnt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:357:6: warning: no previous prototype for function 'enfs_cmp_addrs' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:374:6: warning: no previous prototype for function 'enfs_xprt_addrs_is_same' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:393:6: warning: no previous prototype for function 'enfs_already_have_xprt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:589:6: warning: variable 'link_count' set but not used [-Wunused-but-set-variable]
fs/nfs/enfs/enfs_multipath.c:836:5: warning: no previous prototype for function 'enfs_multipath_create_thread' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:932:6: warning: no previous prototype for function 'enfs_create_multi_xprt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:988:6: warning: no previous prototype for function 'enfs_release_rpc_clnt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:120:6: warning: no previous prototype for function 'enfs_free_client_info' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:135:6: warning: no previous prototype for function 'nfs_multipath_client_info_free_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:191:6: warning: no previous prototype for function 'nfs_multipath_ip_list_info_match' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:328:6: warning: no previous prototype for function 'print_ip_info' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:352:6: warning: no previous prototype for function 'print_dns_info' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:390:6: warning: no previous prototype for function 'convert_lookup_cache_str' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:72:5: warning: no previous prototype for function 'nfs_multipath_client_mount_info_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:162:5: warning: no previous prototype for function 'enfs_parse_ip_single' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:236:6: warning: no previous prototype for function 'enfs_valid_ip' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:24:6: warning: no previous prototype for function 'nfs_multipath_parse_ip_ipv6_add' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:361:6: warning: no previous prototype for function 'isInvalidDns' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:387:5: warning: no previous prototype for function 'nfs_multipath_parse_dns_list' [-Wmissing-prototypes]
include/trace/stages/init.h:2:23: warning: 'str__bonding__trace_system_name' defined but not used [-Wunused-const-variable=]
kernel/cgroup/cpuset.c:5224:28: warning: no previous prototype for 'bpf_cpuset_from_task' [-Wmissing-prototypes]
kernel/cgroup/cpuset.c:5224:28: warning: no previous prototype for function 'bpf_cpuset_from_task' [-Wmissing-prototypes]
kernel/cgroup/cpuset.c:5231:26: warning: no previous prototype for 'bpf_cpumask_weight' [-Wmissing-prototypes]
kernel/cgroup/cpuset.c:5231:26: warning: no previous prototype for function 'bpf_cpumask_weight' [-Wmissing-prototypes]
kernel/sched/core.c:158:5: warning: no previous prototype for function 'sched_task_is_throttled' [-Wmissing-prototypes]
kismet: WARNING: unmet direct dependencies detected for ARM64_ERRATUM_845719 when selected by ARCH_MXC
kismet: WARNING: unmet direct dependencies detected for ARM_SPE_MEM_SAMPLING when selected by MEM_SAMPLING
kismet: WARNING: unmet direct dependencies detected for DEBUG_FEATURE_BYPASS when selected by FAST_IRQ
kismet: WARNING: unmet direct dependencies detected for DEBUG_FEATURE_BYPASS when selected by FAST_SYSCALL
kismet: WARNING: unmet direct dependencies detected for MOTORCOMM_PHY when selected by YT6801
kismet: WARNING: unmet direct dependencies detected for RESCTRL_FS when selected by ARM64_MPAM
mm/damon/core.c:116:5: warning: no previous prototype for function 'damon_target_init_kfifo' [-Wmissing-prototypes]
mm/damon/core.c:132:6: warning: no previous prototype for function 'damon_target_deinit_kfifo' [-Wmissing-prototypes]
mm/dynamic_pool.c:1704:51: warning: variable 'ret' is uninitialized when used here [-Wuninitialized]
mm/madvise.c:297:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes]
mm/madvise.c:297:6: warning: no previous prototype for function 'force_swapin_vma' [-Wmissing-prototypes]
mm/mem_sampling.c:69:6: warning: no previous prototype for function 'mem_sampling_record_cb_register' [-Wmissing-prototypes]
mm/mem_sampling.c:86:6: warning: no previous prototype for function 'mem_sampling_record_cb_unregister' [-Wmissing-prototypes]
mm/memblock.c:1448:20: warning: no previous prototype for 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1448:20: warning: no previous prototype for function 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1618: warning: expecting prototype for memblock_alloc_internal(). Prototype was for __memblock_alloc_internal() instead
mm/memcontrol.c:3382:6: warning: no previous prototype for function 'hisi_oom_recover' [-Wmissing-prototypes]
mm/memcontrol.c:4733:12: warning: 'mem_cgroup_check_swap_for_v1' defined but not used [-Wunused-function]
mm/mempolicy.c:1115:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/mempolicy.c:1115:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/oom_kill.c:319: warning: Function parameter or member 'oc' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'points' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'task' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: expecting prototype for We choose the task in low(). Prototype was for oom_next_task() instead
mm/page_cache_limit.c:61:5: warning: no previous prototype for 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:61:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/share_pool.c:1510: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc'
mm/share_pool.c:2425: warning: duplicate section name 'Return'
mm/share_pool.c:2796:7: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable]
mm/share_pool.c:2844: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare'
mm/share_pool.c:975: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead
mm/vmalloc.c:4976: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
Unverified Error/Warning (likely false positive, kindly check if interested):
drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_sysfs.c: linux/types.h is included more than once.
fs/nfs/enfs/enfs_multipath.c: enfs_multipath.h is included more than once.
include/net/tcp.h: linux/kabi.h is included more than once.
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-arm64-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-irqchip-irq-gic-v3-its.c:warning:no-previous-prototype-for-function-gic_data_rdist_get_vlpi_base
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:error:invalid-application-of-sizeof-to-an-incomplete-type-const-struct-free_memory
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hwif.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_main.c:warning:variable-mac_hfr2-set-but-not-used
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:Cannot-understand-force_free:
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-sriov_sysfs.c:warning:unused-variable-vf_type_ib
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:variable-bond_dev-set-but-not-used
| |-- 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_init.c:warning:no-previous-prototype-for-function-enfs_fini
| |-- fs-nfs-enfs-enfs_init.c:warning:no-previous-prototype-for-function-enfs_init
| |-- 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_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_workqueue_queue_work
| |-- 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_client.c:warning:no-previous-prototype-for-function-convert_lookup_cache_str
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-enfs_free_client_info
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_client_info_free_work
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_client_mount_info_init
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_ip_list_info_match
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-print_dns_info
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-print_ip_info
| |-- 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-NfsExtendProcInfoExtendDecode
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendProcInfoExtendEncode
| |-- 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:no-previous-prototype-for-function-check_cpuid_invalid
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_choose_shard_xport
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_delete_shard
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_get_shard_xport
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_query_lif_info
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_shard_ctrl_init
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_fsshard
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_lif_info
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_lsinfo
| |-- 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
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-function-bpf_cpumask_weight
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-function-bpf_cpuset_from_task
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_deinit_kfifo
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_init_kfifo
| |-- mm-dynamic_pool.c:warning:variable-ret-is-uninitialized-when-used-here
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_register
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_unregister
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-function-hisi_oom_recover
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-share_pool.c:warning:Function-parameter-or-member-node_id-not-described-in-sp_area_alloc
| |-- mm-share_pool.c:warning:Function-parameter-or-member-spg_id-not-described-in-mg_sp_unshare
| |-- mm-share_pool.c:warning:duplicate-section-name-Return
| |-- mm-share_pool.c:warning:expecting-prototype-for-mp_sp_group_id_by_pid().-Prototype-was-for-mg_sp_group_id_by_pid()-instead
| |-- mm-share_pool.c:warning:variable-is_hugepage-set-but-not-used
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-sunrpc-sunrpc_enfs_adapter.c:warning:no-previous-prototype-for-function-rpc_task_release_xprt
|-- arm64-allnoconfig
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-ARM64_ERRATUM_845719-when-selected-by-ARCH_MXC
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-ARM_SPE_MEM_SAMPLING-when-selected-by-MEM_SAMPLING
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-DEBUG_FEATURE_BYPASS-when-selected-by-FAST_IRQ
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-DEBUG_FEATURE_BYPASS-when-selected-by-FAST_SYSCALL
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-MOTORCOMM_PHY-when-selected-by-YT6801
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-RESCTRL_FS-when-selected-by-ARM64_MPAM
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-defconfig
| |-- arch-arm64-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-arm64-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- arch-arm64-kvm-hisilicon-hisi_virt.h:warning:hisi_ipiv_enable_per_vm-defined-but-not-used
| |-- arch-arm64-kvm-hisilicon-hisi_virt.h:warning:hisi_ipiv_supported_per_vm-defined-but-not-used
| |-- drivers-irqchip-irq-gic-v3-its.c:warning:no-previous-prototype-for-gic_data_rdist_get_vlpi_base
| |-- 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
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-001-20250530
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-003-20250530
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-004-20250530
| |-- drivers-irqchip-irq-gic-v3-its.c:warning:no-previous-prototype-for-function-gic_data_rdist_get_vlpi_base
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-051-20250530
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r1.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r2.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r3.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-demo.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-evb.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:gpio-ff260000-(rockchip-gpio-bank):bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:Unevaluated-properties-are-not-allowed-(-bios-disable-n-hog-bios-disable-override-hog-were-unexpecte
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-rk3568-odroid-m1.dtb:pmic-(rockchip-rk809):sound-dai-cells-assigned-clock-parents-assigned-clocks-clock-names-clocks-do-not-match-any-of-the-regexes:pinctrl
| `-- arch-arm64-boot-dts-ti-k3-j721e-beagleboneai64.dtb:syscon-40f00000-(syscon):compatible:syscon-simple-mfd-is-too-short
|-- arm64-randconfig-052-20250530
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r1.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r2.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r3.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-demo.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-evb.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:gpio-ff260000-(rockchip-gpio-bank):bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:Unevaluated-properties-are-not-allowed-(-bios-disable-n-hog-bios-disable-override-hog-were-unexpecte
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-rk3568-odroid-m1.dtb:pmic-(rockchip-rk809):sound-dai-cells-assigned-clock-parents-assigned-clocks-clock-names-clocks-do-not-match-any-of-the-regexes:pinctrl
| `-- arch-arm64-boot-dts-ti-k3-j721e-beagleboneai64.dtb:syscon-40f00000-(syscon):compatible:syscon-simple-mfd-is-too-short
|-- arm64-randconfig-053-20250530
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r1.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r2.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r3.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-demo.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-evb.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:gpio-ff260000-(rockchip-gpio-bank):bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:Unevaluated-properties-are-not-allowed-(-bios-disable-n-hog-bios-disable-override-hog-were-unexpecte
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-rk3568-odroid-m1.dtb:pmic-(rockchip-rk809):sound-dai-cells-assigned-clock-parents-assigned-clocks-clock-names-clocks-do-not-match-any-of-the-regexes:pinctrl
| `-- arch-arm64-boot-dts-ti-k3-j721e-beagleboneai64.dtb:syscon-40f00000-(syscon):compatible:syscon-simple-mfd-is-too-short
|-- arm64-randconfig-054-20250530
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r1.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r2.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r3.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-demo.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-evb.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:gpio-ff260000-(rockchip-gpio-bank):bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:Unevaluated-properties-are-not-allowed-(-bios-disable-n-hog-bios-disable-override-hog-were-unexpecte
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-rk3568-odroid-m1.dtb:pmic-(rockchip-rk809):sound-dai-cells-assigned-clock-parents-assigned-clocks-clock-names-clocks-do-not-match-any-of-the-regexes:pinctrl
| `-- arch-arm64-boot-dts-ti-k3-j721e-beagleboneai64.dtb:syscon-40f00000-(syscon):compatible:syscon-simple-mfd-is-too-short
|-- arm64-randconfig-055-20250530
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r1.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r2.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r3.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-demo.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-evb.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:gpio-ff260000-(rockchip-gpio-bank):bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:Unevaluated-properties-are-not-allowed-(-bios-disable-n-hog-bios-disable-override-hog-were-unexpecte
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-rk3568-odroid-m1.dtb:pmic-(rockchip-rk809):sound-dai-cells-assigned-clock-parents-assigned-clocks-clock-names-clocks-do-not-match-any-of-the-regexes:pinctrl
| `-- arch-arm64-boot-dts-ti-k3-j721e-beagleboneai64.dtb:syscon-40f00000-(syscon):compatible:syscon-simple-mfd-is-too-short
|-- loongarch-allmodconfig
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_load
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_unload
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_free_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_get_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_kernelwrite
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_printk_hex
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-entry
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-ring_index
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:variable-restart_fg-set-but-not-used
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_desc.c:warning:u-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_main.c:warning:variable-mac_hfr2-set-but-not-used
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:Cannot-understand-force_free:
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete_exit
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli.c:error:function-ps3stor_cli_printf-might-be-a-candidate-for-gnu_printf-format-attribute
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-ps3_dump_context_show
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_close
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_open
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_write
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_filename_build
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_local_time
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_resp_status_convert
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_trigger_irq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_cmd_stat_content_clear
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_io_recv_ok_stat_inc
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-ps3_dump_dir_length
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_pd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_vd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-ps3_sas_expander_phys_refresh
| |-- drivers-scsi-linkdata-ps3stor-ps3_instance_manager.c:error:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_hba
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_raid
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_switch
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-ps3_hard_reset_to_ready
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-ps3_clean_mgr_cmd
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_HDD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CLEAR_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_ENABLE_MSIX-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_MASK_DISABLE-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_STATUS_EXIST_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_SSD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-ps3_cli_ver_query
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_cmd_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_init
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_reset
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clean
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_all_pd_rc_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_cmd_waitq_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_exclusive_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_mgrq_resend
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_pd_waitq_ratio_update
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_tg_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_vd_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_conflict_queue_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_check
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_range_check_and_insert
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-rbtDelNodeDo
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_hard_recovery_state_finish
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_alloc
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_delete
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_free
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_irq_queue_destroy
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_state_transfer
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-ps3_sas_update_phy_info
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_set_task_manager_busy
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_wait_for_outstanding_complete
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- include-trace-stages-init.h:warning:str__bonding__trace_system_name-defined-but-not-used
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-bpf_cpumask_weight
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-bpf_cpuset_from_task
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_sysctl_handler
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allnoconfig
| |-- include-linux-suspend.h:error:expected-)-before-numeric-constant
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-MOTORCOMM_PHY-when-selected-by-YT6801
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allyesconfig
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_load
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_unload
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_free_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_get_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_kernelwrite
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_printk_hex
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-entry
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-ring_index
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:variable-restart_fg-set-but-not-used
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_desc.c:warning:u-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_main.c:warning:variable-mac_hfr2-set-but-not-used
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:Cannot-understand-force_free:
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete_exit
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli.c:error:function-ps3stor_cli_printf-might-be-a-candidate-for-gnu_printf-format-attribute
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-ps3_dump_context_show
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_close
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_open
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_write
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_filename_build
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_local_time
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_resp_status_convert
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_trigger_irq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_cmd_stat_content_clear
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_io_recv_ok_stat_inc
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-ps3_dump_dir_length
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_pd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_vd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-ps3_sas_expander_phys_refresh
| |-- drivers-scsi-linkdata-ps3stor-ps3_instance_manager.c:error:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_hba
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_raid
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_switch
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-ps3_hard_reset_to_ready
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-ps3_clean_mgr_cmd
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_HDD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CLEAR_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_ENABLE_MSIX-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_MASK_DISABLE-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_STATUS_EXIST_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_SSD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-ps3_cli_ver_query
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_cmd_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_init
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_reset
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clean
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_all_pd_rc_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_cmd_waitq_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_exclusive_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_mgrq_resend
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_pd_waitq_ratio_update
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_tg_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_vd_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_conflict_queue_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_check
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_range_check_and_insert
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-rbtDelNodeDo
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_hard_recovery_state_finish
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_alloc
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_delete
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_free
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_irq_queue_destroy
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_state_transfer
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-ps3_sas_update_phy_info
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_set_task_manager_busy
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_wait_for_outstanding_complete
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- include-trace-stages-init.h:warning:str__bonding__trace_system_name-defined-but-not-used
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-bpf_cpumask_weight
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-bpf_cpuset_from_task
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_sysctl_handler
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-defconfig
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_load
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_unload
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_free_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_get_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_kernelwrite
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_printk_hex
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-entry
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-ring_index
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:variable-restart_fg-set-but-not-used
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_desc.c:warning:u-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_main.c:warning:variable-mac_hfr2-set-but-not-used
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-001-20250530
| |-- include-linux-suspend.h:error:expected-)-before-numeric-constant
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:mem_cgroup_check_swap_for_v1-defined-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-r052-20250530
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-entry
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-ring_index
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:variable-restart_fg-set-but-not-used
| |-- include-linux-suspend.h:error:expected-)-before-numeric-constant
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:mem_cgroup_check_swap_for_v1-defined-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allnoconfig
| |-- Warning:drivers-arm-mm_monitor-spe-decoder-arm-spe-decoder.c-references-a-file-that-doesn-t-exist:Documentation-arm64-memory.rst
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- drivers-crypto-sedriver-wst_se_common_type.h:linux-version.h-not-needed.
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:mag_mpu_cmd_defs.h-is-included-more-than-once.
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_sysfs.c:linux-types.h-is-included-more-than-once.
| |-- fs-nfs-enfs-enfs_multipath.c:enfs_multipath.h-is-included-more-than-once.
| |-- include-net-tcp.h:linux-kabi.h-is-included-more-than-once.
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-MOTORCOMM_PHY-when-selected-by-YT6801
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allyesconfig
| |-- arch-x86-kernel-cpu-bpf-rvi.c:warning:no-previous-prototype-for-function-bpf_arch_flags
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-gpu-drm-sti-sti_dvo.c:error:call-to-undeclared-function-devm_ioremap-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-gpu-drm-sti-sti_dvo.c:error:incompatible-integer-to-pointer-conversion-assigning-to-void-from-int
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:error:invalid-application-of-sizeof-to-an-incomplete-type-const-struct-free_memory
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hwif.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_main.c:warning:variable-mac_hfr2-set-but-not-used
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:Cannot-understand-force_free:
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-sriov_sysfs.c:warning:unused-variable-vf_type_ib
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:variable-bond_dev-set-but-not-used
| |-- 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_init.c:warning:no-previous-prototype-for-function-enfs_fini
| |-- fs-nfs-enfs-enfs_init.c:warning:no-previous-prototype-for-function-enfs_init
| |-- 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_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_workqueue_queue_work
| |-- 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_client.c:warning:no-previous-prototype-for-function-convert_lookup_cache_str
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-enfs_free_client_info
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_client_info_free_work
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_client_mount_info_init
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_ip_list_info_match
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-print_dns_info
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-print_ip_info
| |-- 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-NfsExtendProcInfoExtendDecode
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendProcInfoExtendEncode
| |-- 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:no-previous-prototype-for-function-check_cpuid_invalid
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_choose_shard_xport
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_delete_shard
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_get_shard_xport
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_query_lif_info
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_shard_ctrl_init
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_fsshard
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_lif_info
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_lsinfo
| |-- 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
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-function-bpf_cpumask_weight
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-function-bpf_cpuset_from_task
| |-- mm-dynamic_pool.c:warning:variable-ret-is-uninitialized-when-used-here
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-sunrpc-sunrpc_enfs_adapter.c:warning:no-previous-prototype-for-function-rpc_task_release_xprt
|-- x86_64-buildonly-randconfig-001-20250530
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-002-20250530
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-003-20250530
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:mem_cgroup_check_swap_for_v1-defined-but-not-used
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-004-20250530
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-005-20250530
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_task_is_throttled
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-006-20250530
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:mem_cgroup_check_swap_for_v1-defined-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-defconfig
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
| |-- 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
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-randconfig-161-20250530
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-function-nfs_check_have_lookup_cache_flag
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-randconfig-r053-20250530
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-function-nfs_check_have_lookup_cache_flag
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-randconfig-r133-20250530
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-crypto-ccp-hygon-psp-dev.c:sparse:sparse:symbol-psp_in_nowait_mode-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-ccp-hygon-vpsp.c:sparse:sparse:symbol-allow_default_vid-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-ccp-hygon-vpsp.c:sparse:sparse:symbol-table_rwlock-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-ccp-hygon-vpsp.c:sparse:sparse:symbol-vpsp_cmd_ctx_table-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-ccp-hygon-vpsp.c:sparse:sparse:symbol-vpsp_dev_rwlock-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-ccp-hygon-vpsp.c:sparse:sparse:symbol-vpsp_set_default_vid_permission-was-not-declared.-Should-it-be-static
| |-- fs-nfs-dir.c:sparse:sparse:symbol-nfs_check_have_lookup_cache_flag-was-not-declared.-Should-it-be-static
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-function-nfs_check_have_lookup_cache_flag
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-sunrpc-clnt.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-address-spaces):
`-- x86_64-rhel-9.4-rust
|-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
|-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
|-- fs-nfs-dir.c:warning:no-previous-prototype-for-function-nfs_check_have_lookup_cache_flag
|-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
|-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
|-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
|-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
|-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
`-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
elapsed time: 732m
configs tested: 22
configs skipped: 123
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 defconfig gcc-15.1.0
arm64 randconfig-001-20250530 gcc-12.3.0
arm64 randconfig-002-20250530 gcc-5.5.0
arm64 randconfig-003-20250530 gcc-7.5.0
arm64 randconfig-004-20250530 clang-21
loongarch allmodconfig gcc-15.1.0
loongarch allnoconfig gcc-15.1.0
loongarch defconfig gcc-15.1.0
loongarch randconfig-001-20250530 gcc-15.1.0
loongarch randconfig-002-20250530 gcc-15.1.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250530 clang-20
x86_64 buildonly-randconfig-002-20250530 clang-20
x86_64 buildonly-randconfig-003-20250530 gcc-12
x86_64 buildonly-randconfig-004-20250530 gcc-11
x86_64 buildonly-randconfig-005-20250530 clang-20
x86_64 buildonly-randconfig-006-20250530 gcc-12
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS] BUILD REGRESSION 8eff3fb546d3baa728542fd40cdbad086cd9227c
by kernel test robot 31 May '25
by kernel test robot 31 May '25
31 May '25
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: 8eff3fb546d3baa728542fd40cdbad086cd9227c !16534 memcg: always call cond_resched() after fn()
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202505070314.0zdCBK7T-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505110553.bsdHvTXR-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505160438.vuslIGAx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505180330.wT5fsdK9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201642.9kWf73yF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201731.rOzzhiIH-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201910.3QGTFYPj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505202028.GvFwJHdW-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505202138.LT7VPPBg-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505301743.docKUh1h-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505301912.1CAdzzbQ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505302048.Z79haowV-lkp@intel.com
arch/x86/kernel/fpu/core.c:175:14: warning: mixing declarations and code is a C99 extension [-Wdeclaration-after-statement]
crypto/842.o: warning: objtool: missing symbol for section .exit.text
crypto/echainiv.o: warning: objtool: missing symbol for section .exit.text
crypto/fcrypt.o: warning: objtool: missing symbol for section .exit.text
crypto/lzo.o: warning: objtool: missing symbol for section .exit.text
crypto/michael_mic.o: warning: objtool: missing symbol for section .exit.text
drivers/char/hw_random/timeriomem-rng.o: warning: objtool: missing symbol for section .exit.text
drivers/crypto/atmel-sha.o: warning: objtool: missing symbol for section .exit.text
drivers/i2c/busses/i2c-owl.o: warning: objtool: missing symbol for section .exit.text
drivers/i2c/busses/i2c-rcar.o: warning: objtool: missing symbol for section .exit.text
drivers/i2c/busses/i2c-stm32f4.o: warning: objtool: missing symbol for section .exit.text
drivers/input/touchscreen/bcm_iproc_tsc.o: warning: objtool: missing symbol for section .exit.text
drivers/input/touchscreen/wacom_i2c.o: warning: objtool: missing symbol for section .exit.text
drivers/leds/leds-lp8788.o: warning: objtool: missing symbol for section .exit.text
drivers/leds/leds-lt3593.o: warning: objtool: missing symbol for section .exit.text
drivers/media/i2c/adp1653.o: warning: objtool: missing symbol for section .exit.text
drivers/media/i2c/lm3646.o: warning: objtool: missing symbol for section .exit.text
drivers/media/tuners/tda18212.o: warning: objtool: missing symbol for section .exit.text
drivers/pwm/pwm-renesas-tpu.o: warning: objtool: missing symbol for section .exit.text
drivers/ssb/.tmp_main.o: warning: objtool: missing symbol for section .exit.text
drivers/tty/serial/timbuart.o: warning: objtool: missing symbol for section .exit.text
fs/nls/mac-greek.o: warning: objtool: missing symbol for section .exit.text
fs/nls/nls_cp865.o: warning: objtool: missing symbol for section .exit.text
include/linux/filter.h:787:10: warning: cast between incompatible function types from 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} to 'u64 (*)(u64, u64, u64, u64, u64, const struct bpf_insn *)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, const struct bpf_insn *)'} [-Wcast-function-type]
include/linux/uaccess.h:112:17: warning: 'bind' may be used uninitialized [-Wmaybe-uninitialized]
include/linux/uaccess.h:112:17: warning: 'kmask' may be used uninitialized [-Wmaybe-uninitialized]
include/linux/uaccess.h:115:17: warning: 'from' may be used uninitialized [-Wmaybe-uninitialized]
include/trace/trace_events.h:26:23: warning: 'str__fs__trace_system_name' defined but not used [-Wunused-const-variable=]
kismet: WARNING: unmet direct dependencies detected for CRYPTO_MICHAEL_MIC when selected by RTLLIB_CRYPTO_TKIP
kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by DRM_NOUVEAU
kismet: WARNING: unmet direct dependencies detected for IIO_BUFFER_CB when selected by TOUCHSCREEN_ADC
kismet: WARNING: unmet direct dependencies detected for LEDS_CLASS when selected by FUJITSU_LAPTOP
kismet: WARNING: unmet direct dependencies detected for LEDS_TRIGGERS when selected by BT_LEDS
kismet: WARNING: unmet direct dependencies detected for LEDS_TRIGGERS when selected by IWLWIFI_LEDS
kismet: WARNING: unmet direct dependencies detected for LEDS_TRIGGERS when selected by MAC80211_LEDS
kismet: WARNING: unmet direct dependencies detected for PINCTRL_EXYNOS when selected by ARCH_EXYNOS
kismet: WARNING: unmet direct dependencies detected for UACCE when selected by CRYPTO_DEV_HISI_QM
kismet: WARNING: unmet direct dependencies detected for VIDEO_ADV7180 when selected by STA2X11_VIP
mm/huge_memory.c:2092:15: warning: variable 'orig_pud' set but not used [-Wunused-but-set-variable]
mm/huge_memory.c:2092:8: warning: variable 'orig_pud' set but not used [-Wunused-but-set-variable]
mm/hugetlb.c:1432:6: warning: no previous prototype for 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes]
mm/khugepaged.c:1387: warning: Function parameter or member 'hpage' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'mapping' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'mm' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'node' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'reliable' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'start' not described in 'collapse_shmem'
mm/maccess.c:85:6: warning: no previous prototype for '__probe_user_read' [-Wmissing-prototypes]
mm/memcontrol.c:5000:6: warning: no previous prototype for 'dhugetlb_pool_is_free' [-Wmissing-prototypes]
mm/memcontrol.c:6728: warning: bad line: | 0, otherwise.
mm/memory_hotplug.c:481:16: warning: variable 'start_pfn' set but not used [-Wunused-but-set-variable]
mm/memory_hotplug.c:481:23: warning: variable 'start_pfn' set but not used [-Wunused-but-set-variable]
mm/rmap.c:916:17: warning: variable 'cstart' set but not used [-Wunused-but-set-variable]
mm/rmap.c:916:31: warning: variable 'cstart' set but not used [-Wunused-but-set-variable]
mm/slab_common.c:1452:37: warning: 'proc_slabinfo_operations' defined but not used [-Wunused-const-variable=]
Unverified Error/Warning (likely false positive, kindly check if interested):
mm/hugetlb.c: linux/share_pool.h is included more than once.
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
|-- arm64-allnoconfig
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_AES-when-selected-by-RTLLIB_CRYPTO_CCMP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_ARC4-when-selected-by-RTLLIB_CRYPTO_TKIP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_ARC4-when-selected-by-RTLLIB_CRYPTO_WEP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_MICHAEL_MIC-when-selected-by-RTLLIB_CRYPTO_TKIP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-FB_BACKLIGHT-when-selected-by-DRM_NOUVEAU
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-IIO_BUFFER_CB-when-selected-by-TOUCHSCREEN_ADC
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-PINCTRL_EXYNOS-when-selected-by-ARCH_EXYNOS
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-UACCE-when-selected-by-CRYPTO_DEV_HISI_QM
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- arm64-defconfig
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-memcontrol.c:warning:no-previous-prototype-for-dhugetlb_pool_is_free
|-- arm64-randconfig-001-20250530
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| `-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
|-- arm64-randconfig-003-20250530
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- arm64-randconfig-004-20250530
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- include-linux-uaccess.h:warning:bind-may-be-used-uninitialized
| |-- include-linux-uaccess.h:warning:from-may-be-used-uninitialized
| |-- include-linux-uaccess.h:warning:kmask-may-be-used-uninitialized
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-dhugetlb_pool_is_free
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| `-- mm-slab_common.c:warning:proc_slabinfo_operations-defined-but-not-used
|-- x86_64-allmodconfig
| `-- arch-x86-kernel-fpu-core.c:warning:mixing-declarations-and-code-is-a-C99-extension
|-- x86_64-allnoconfig
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-BACKLIGHT_CLASS_DEVICE-when-selected-by-DRM_GMA500
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_AES-when-selected-by-RTLLIB_CRYPTO_CCMP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_ARC4-when-selected-by-RTLLIB_CRYPTO_TKIP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_ARC4-when-selected-by-RTLLIB_CRYPTO_WEP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_MICHAEL_MIC-when-selected-by-RTLLIB_CRYPTO_TKIP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-FB_BACKLIGHT-when-selected-by-DRM_NOUVEAU
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-IIO_BUFFER_CB-when-selected-by-TOUCHSCREEN_ADC
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-LEDS_CLASS-when-selected-by-FUJITSU_LAPTOP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-LEDS_TRIGGERS-when-selected-by-BT_LEDS
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-LEDS_TRIGGERS-when-selected-by-IWLWIFI_LEDS
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-LEDS_TRIGGERS-when-selected-by-MAC80211_LEDS
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-VIDEO_ADV7180-when-selected-by-STA2X11_VIP
| |-- mm-hugetlb.c:linux-share_pool.h-is-included-more-than-once.
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-allyesconfig
| |-- arch-x86-kernel-fpu-core.c:warning:mixing-declarations-and-code-is-a-C99-extension
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-buildonly-randconfig-001-20250530
| |-- drivers-ssb-.tmp_main.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-002-20250530
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-003-20250530
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-free_huge_page_to_dhugetlb_pool
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-dhugetlb_pool_is_free
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-slab_common.c:warning:proc_slabinfo_operations-defined-but-not-used
|-- x86_64-buildonly-randconfig-004-20250530
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| `-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
|-- x86_64-buildonly-randconfig-005-20250530
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-006-20250530
| |-- crypto-.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- crypto-echainiv.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- crypto-fcrypt.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- crypto-lzo.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- crypto-michael_mic.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-char-hw_random-timeriomem-rng.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-crypto-atmel-sha.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-i2c-busses-i2c-owl.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-i2c-busses-i2c-rcar.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-i2c-busses-i2c-stm32f4.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-input-touchscreen-bcm_iproc_tsc.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-input-touchscreen-wacom_i2c.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-leds-leds-lp8788.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-leds-leds-lt3593.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-media-i2c-adp1653.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-media-i2c-lm3646.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-media-tuners-tda18212.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-pwm-pwm-renesas-tpu.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- drivers-tty-serial-timbuart.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- fs-nls-mac-greek.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- fs-nls-nls_cp865.o:warning:objtool:missing-symbol-for-section-.exit.text
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-dhugetlb_pool_is_free
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-slab_common.c:warning:proc_slabinfo_operations-defined-but-not-used
|-- x86_64-defconfig
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-free_huge_page_to_dhugetlb_pool
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-randconfig-161-20250530
| |-- kernel-hung_task.c:error:use-of-undeclared-identifier-sysctl_hung_task_all_cpu_backtrace
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-randconfig-r062-20250530
| |-- drivers-acpi-cppc_acpi.c:WARNING:NULL-check-before-some-freeing-functions-is-not-needed.
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
`-- x86_64-rhel-9.4-rust
|-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
|-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
|-- mm-memcontrol.c:warning:bad-line:otherwise.
|-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
`-- mm-rmap.c:warning:variable-cstart-set-but-not-used
elapsed time: 729m
configs tested: 17
configs skipped: 128
tested configs:
arm64 allmodconfig gcc-15.1.0
arm64 allnoconfig gcc-15.1.0
arm64 defconfig gcc-15.1.0
arm64 randconfig-001-20250530 gcc-12.3.0
arm64 randconfig-002-20250530 gcc-5.5.0
arm64 randconfig-003-20250530 gcc-7.5.0
arm64 randconfig-004-20250530 gcc-12.3.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250530 clang-20
x86_64 buildonly-randconfig-002-20250530 clang-20
x86_64 buildonly-randconfig-003-20250530 gcc-12
x86_64 buildonly-randconfig-004-20250530 gcc-11
x86_64 buildonly-randconfig-005-20250530 clang-20
x86_64 buildonly-randconfig-006-20250530 gcc-12
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10] BUILD REGRESSION b5ec139da1a4916dfc9644ee3d9426dbd6f23c13
by kernel test robot 30 May '25
by kernel test robot 30 May '25
30 May '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: b5ec139da1a4916dfc9644ee3d9426dbd6f23c13 !16444 powercap: intel_rapl_tpmi: backport 2 rapl tpmi update and fix from upstream6.12
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202504302232.oeU1VyOU-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505021622.Vo53IuHc-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505062356.u2rMcCQF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505091231.o5lexadJ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505100150.DG1QGwH3-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505211008.Lhrh17Cr-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505272346.fzESqwgx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280024.8UbNlKSa-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280046.3lWnWdOg-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280545.IP3aIukn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280648.AMUiWr41-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505301434.xq8uzhGR-lkp@intel.com
https://lore.kernel.org/oe-kbuild/202505291536.8a44hWAc-lkp@intel.com
./drivers/net/ethernet/huawei/hinic3/cqm/cqm_memsec.c: 682: need linux/version.h
arch/arm64/include/asm/atomic_lse.h:364:1: error: unknown register name 'x0' in asm
arch/arm64/include/asm/atomic_lse.h:364:1: error: unknown register name 'x1' in asm
arch/arm64/include/asm/atomic_lse.h:364:1: error: unknown register name 'x2' in asm
drivers/irqchip/irq-gic-v3-its.c:504:6: warning: no previous prototype for 'build_devid_pools' [-Wmissing-prototypes]
drivers/irqchip/irq-gic-v3-its.c:524:6: warning: no previous prototype for 'build_devid_pools' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/cqm/cqm_cmd.c:158:5: warning: no previous prototype for function 'cqm3_lb_send_cmd_box_async' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_dbg.c:689:5: warning: variable 'cos_num' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/huawei/hinic3/hinic3_ethtool_stats.c:342:5: warning: no previous prototype for function 'hinic3_rx_queue_stat_pack' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_ethtool_stats.c:357:5: warning: no previous prototype for function 'hinic3_tx_queue_stat_pack' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:1678:5: warning: no previous prototype for function 'set_fecparam' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:1706:5: warning: no previous prototype for function 'get_fecparam' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:623:6: warning: no previous prototype for function 'print_port_info' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:802:6: warning: no previous prototype for function 'hinic3_notify_vf_bond_status' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:832:6: warning: no previous prototype for function 'hinic3_notify_all_vfs_bond_changed' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_main.c:1211:6: warning: no previous prototype for function 'hinic3_need_proc_link_event' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_main.c:1258:6: warning: no previous prototype for function 'hinic3_need_proc_bond_event' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c:59:6: warning: variable 'size' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_dev_mgmt.c:618:6: warning: no previous prototype for function 'hinic3_write_oshr_info' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_hw_api.c:95: warning: Function parameter or member 'instance' not described in 'hinic3_sm_ctr_rd16_clear'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_hw_comm.c:1671:6: warning: no previous prototype for function 'hinic3_is_optical_module_mode' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_hwif.c:865:5: warning: no previous prototype for function 'hinic3_global_func_id_hw' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1796:6: warning: no previous prototype for function 'hinic3_set_func_state' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1822:6: warning: no previous prototype for function 'slave_host_mgmt_work' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:525:5: warning: no previous prototype for function 'hinic3_pdev_is_virtfn' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:785:5: warning: no previous prototype for function '__set_vroce_func_state' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:826:6: warning: no previous prototype for function 'slave_host_mgmt_vroce_work' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:834:7: warning: no previous prototype for function 'hinic3_get_roce_uld_by_pdev' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_sriov.c:176:5: warning: no previous prototype for function 'hinic3_pci_sriov_check' [-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:432:6: error: no previous prototype for function 'sxe_debugfs_entries_init' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:459:6: error: no previous prototype for function 'sxe_debugfs_entries_exit' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:465:6: error: no previous prototype for function 'sxe_debugfs_init' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:470:6: error: no previous prototype for function 'sxe_debugfs_exit' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2022:5: error: no previous prototype for function 'sxe_reg_test' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2644:5: error: no previous prototype for function 'sxe_phys_id_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:230:6: error: no previous prototype for function 'sxe_hw_no_snoop_disable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:262:6: error: no previous prototype for function 'sxe_hw_uc_addr_pool_del' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:283:5: error: no previous prototype for function 'sxe_hw_uc_addr_pool_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:337:5: error: no previous prototype for function 'sxe_hw_nic_reset' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:367:6: error: no previous prototype for function 'sxe_hw_pf_rst_done_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:735:5: error: no previous prototype for function 'sxe_hw_pending_irq_read_clear' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:740:6: error: no previous prototype for function 'sxe_hw_pending_irq_write_clear' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:745:5: error: no previous prototype for function 'sxe_hw_irq_cause_get' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:765:6: error: no previous prototype for function 'sxe_hw_ring_irq_auto_disable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:775:6: error: no previous prototype for function 'sxe_hw_irq_general_reg_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:780:5: error: no previous prototype for function 'sxe_hw_irq_general_reg_get' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:790:6: error: no previous prototype for function 'sxe_hw_event_irq_map' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:806:6: error: no previous prototype for function 'sxe_hw_ring_irq_map' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:823:6: error: no previous prototype for function 'sxe_hw_ring_irq_interval_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:838:6: error: no previous prototype for function 'sxe_hw_event_irq_auto_clear_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:843:6: error: no previous prototype for function 'sxe_hw_specific_irq_disable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:848:6: error: no previous prototype for function 'sxe_hw_specific_irq_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:876:6: error: no previous prototype for function 'sxe_hw_all_irq_disable' [-Werror,-Wmissing-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_irq.c:136:5: error: no previous prototype for function 'sxe_msi_irq_init' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:182:6: error: no previous prototype for function 'sxe_disable_dcb' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:212:6: error: no previous prototype for function 'sxe_disable_rss' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:729:6: error: no previous prototype for function 'sxe_lsc_irq_handler' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:745:6: error: no previous prototype for function 'sxe_mailbox_irq_handler' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c: linux/moduleparam.h is included more than once.
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c:70:6: error: no previous prototype for function 'sxe_allow_inval_mac' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_netdev.c: sxe_netdev.h is included more than once.
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_phy.c:733:5: error: no previous prototype for function 'sxe_multispeed_sfp_link_configure' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_rx_proc.c:1431:6: error: no previous prototype for function 'sxe_headers_cleanup' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_rx_proc.c:1569:6: error: no previous prototype for function 'sxe_rx_buffer_page_offset_update' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c: sxe_ipsec.h is included more than once.
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c:1552:6: error: no previous prototype for function 'sxe_set_vf_link_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c:766:6: error: variable 'ret' set but not used [-Werror,-Wunused-but-set-variable]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_xdp.c:403:6: error: no previous prototype for function 'sxe_txrx_ring_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf.h: sxe_errno.h is included more than once.
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c: sxevf.h is included more than once.
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c: sxevf_hw.h is included more than once.
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:160:6: error: no previous prototype for function 'sxevf_hw_stop' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:187:6: error: no previous prototype for function 'sxevf_msg_write' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:196:5: error: no previous prototype for function 'sxevf_msg_read' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:206:5: error: no previous prototype for function 'sxevf_mailbox_read' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:211:6: error: no previous prototype for function 'sxevf_mailbox_write' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:216:6: error: no previous prototype for function 'sxevf_pf_req_irq_trigger' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:221:6: error: no previous prototype for function 'sxevf_pf_ack_irq_trigger' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:226:6: error: no previous prototype for function 'sxevf_event_irq_map' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:245:6: error: no previous prototype for function 'sxevf_irq_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:251:6: error: no previous prototype for function 'sxevf_irq_disable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:259:6: error: no previous prototype for function 'sxevf_hw_ring_irq_map' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:313:6: error: no previous prototype for function 'sxevf_hw_reset' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:324:5: error: no previous prototype for function 'sxevf_link_state_get' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_monitor.o: warning: objtool: sxevf_work_cb()+0x122d: can't find switch jump table
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_monitor.o: warning: objtool: sxevf_work_cb()+0x1545: can't find switch jump table
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_netdev.c: sxevf_hw.h is included more than once.
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.o: warning: objtool: mlxsw_sp_neigh_entry_update()+0x26f: unreachable instruction
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:546:5: error: no previous prototype for function 'ps3_pci_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:900:5: error: no previous prototype for function 'ps3_pci_init_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:946:6: error: no previous prototype for function 'ps3_pci_init_complete_exit' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1060:5: error: no previous prototype for function 'ps3_dump_context_show' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:41:19: error: unused function 'time_for_log' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:65:19: error: unused function 'time_for_file_name' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:160:5: error: no previous prototype for function 'ps3_dump_file_write' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:201:5: error: no previous prototype for function 'ps3_dump_file_close' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:29:5: error: no previous prototype for function 'ps3_dump_local_time' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:51:5: error: no previous prototype for function 'ps3_dump_filename_build' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:77:5: error: no previous prototype for function 'ps3_dump_file_open' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:132:6: error: no previous prototype for function 'ps3_trigger_irq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:244:5: error: no previous prototype for function 'ps3_resp_status_convert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:404:6: error: no previous prototype for function 'ps3_io_recv_ok_stat_inc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:86:6: error: no previous prototype for function 'ps3_cmd_stat_content_clear' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_debug.c:884:5: error: no previous prototype for function 'ps3_dump_dir_length' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1582:5: error: no previous prototype for function 'ps3_scsi_private_init_pd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1664:5: error: no previous prototype for function 'ps3_scsi_private_init_vd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1633:5: error: no previous prototype for function 'ps3_sas_expander_phys_refresh' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:148:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_hba' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:37:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_switch' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:89:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_raid' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:308:5: error: no previous prototype for function 'ps3_hard_reset_to_ready' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:786:6: error: no previous prototype for function 'ps3_clean_mgr_cmd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: unused variable 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: unused variable 'PS3_INTERRUPT_CMD_ENABLE_MSIX' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: unused variable 'PS3_INTERRUPT_MASK_DISABLE' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: unused variable 'PS3_INTERRUPT_STATUS_EXIST_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:26:27: error: unused variable 'PS3_INTERRUPT_CLEAR_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: unused variable 'PS3_SSD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:29:27: error: unused variable 'PS3_HDD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_module_para.c:610:14: error: no previous prototype for function 'ps3_cli_ver_query' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1059:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2020:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2041:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2101:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:212:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2464:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2828:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2937:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3024:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3280:15: error: no previous prototype for function 'ps3_raid_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3335:6: error: no previous prototype for function 'ps3_qos_mgrq_resend' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:336:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3479:6: error: no previous prototype for function 'ps3_raid_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:352:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:364:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3822:15: error: no previous prototype for function 'ps3_raid_qos_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:750:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:877:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:893:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1174:5: error: no previous prototype for function 'ps3_range_check_and_insert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1232:5: error: no previous prototype for function 'ps3_r1x_hash_range_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1313:6: error: no previous prototype for function 'ps3_r1x_hash_range_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:579:5: error: no previous prototype for function 'ps3_r1x_hash_bit_check' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:679:6: error: no previous prototype for function 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:731:5: error: no previous prototype for function 'ps3_r1x_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:989:6: error: no previous prototype for function 'ps3_r1x_hash_bit_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:155:6: error: no previous prototype for function 'rbtDelNodeDo' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:205:6: error: no previous prototype for function 'ps3_recovery_irq_queue_destroy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2701:6: error: no previous prototype for function 'ps3_hard_recovery_state_finish' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:364:5: error: no previous prototype for function 'ps3_recovery_state_transfer' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:73:30: error: no previous prototype for function 'ps3_recovery_context_alloc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:83:6: error: no previous prototype for function 'ps3_recovery_context_free' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:89:6: error: no previous prototype for function 'ps3_recovery_context_delete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:408:5: error: no previous prototype for function 'ps3_sas_update_phy_info' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1111:5: error: no previous prototype for function 'ps3_wait_for_outstanding_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:877:6: error: no previous prototype for function 'ps3_set_task_manager_busy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsih.c:1959:1: error: unused function 'ps3_scsih_dev_id_get' [-Werror,-Wunused-function]
include/linux/minmax.h:20:35: warning: comparison of distinct pointer types lacks a cast
kismet: WARNING: unmet direct dependencies detected for BPF_NET_GLOBAL_PROG when selected by SCHED_TASK_RELATIONSHIP
kismet: WARNING: unmet direct dependencies detected for HARDLOCKUP_DETECTOR when selected by SDEI_WATCHDOG
kismet: WARNING: unmet direct dependencies detected for PCI_IOV when selected by CRYPTO_DEV_HISI_MIGRATION
kismet: WARNING: unmet direct dependencies detected for PGP_KEY_PARSER when selected by PGP_PRELOAD
kismet: WARNING: unmet direct dependencies detected for PGP_PRELOAD when selected by PGP_PRELOAD_PUBLIC_KEYS
kismet: WARNING: unmet direct dependencies detected for SERIAL_EARLYCON when selected by SERIAL_IMX_EARLYCON
kismet: WARNING: unmet direct dependencies detected for TASK_PLACEMENT_BY_CPU_RANGE when selected by BPF_SCHED
mm/damon/core-test.h:284:2: warning: comparison of distinct pointer types ('typeof (__left) *' (aka 'unsigned int *') and 'typeof (__right) *' (aka 'int *')) [-Wcompare-distinct-pointer-types]
mm/hugetlb.c:2223:9: warning: variable 'gfp' set but not used [-Wunused-but-set-variable]
mm/khugepaged.c:1703: warning: Function parameter or member 'reliable' not described in 'collapse_file'
mm/page_alloc.c:6794:23: warning: no previous prototype for function 'arch_memmap_init' [-Wmissing-prototypes]
mm/process_vm_access.c: linux/compat.h is included more than once.
Unverified Error/Warning (likely false positive, kindly check if interested):
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-conn-name: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-filters: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-in-sigs: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-in-types: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-out-sigs: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-out-types: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/idle-states.yaml: idle-state-name: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/clock/idt,versaclock5.yaml: idt,mode: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/clock/idt,versaclock5.yaml: idt,slew-percent: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml: allwinner,tcon-channel: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml: adi,reference-select: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: label: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: qcom,avg-samples: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: qcom,decimation: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: qcom,hw-settle-time: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: qcom,pre-scaling: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,adc-channel-clk-src: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,adc-channel-names: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,adc-channel-types: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,adc-channels: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,filter-order: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/ti,ads1015.yaml: ti,datarate: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/ti,ads1015.yaml: ti,gain: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/addac/adi,ad74413r.yaml: adi,ch-func: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,cold-junction-handle: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,custom-rtd: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,custom-steinhart: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,custom-thermistor: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,custom-thermocouple: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,excitation-current-nanoamp: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,ideal-factor-value: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,number-of-wires: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,rsense-handle: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,rtd-curve: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,sensor-type: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml: affinity: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml: allOf: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/leds-lp50xx.yaml: allOf: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/leds-lp55xx.yaml: chan-name: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/leds-lp55xx.yaml: led-cur: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/leds-lp55xx.yaml: max-cur: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml: color: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml: function: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml: rohm,led-compatible: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/media/i2c/imx219.yaml: link-frequencies: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/media/i2c/ov8856.yaml: link-frequencies: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-bus-width: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tAH: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tAS: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tAW: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tBP: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tSTRV: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml: slew-rate: Missing additionalProperties/unevaluatedProperties constraint
drivers/net/ethernet/huawei/hinic3/ossl_knl_linux.h: net/devlink.h is included more than once.
drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.o: warning: objtool: mlx5_chains_put_table()+0x38f: unreachable instruction
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-include-asm-atomic_lse.h:error:unknown-register-name-x0-in-asm
| |-- arch-arm64-include-asm-atomic_lse.h:error:unknown-register-name-x1-in-asm
| `-- arch-arm64-include-asm-atomic_lse.h:error:unknown-register-name-x2-in-asm
|-- arm64-allnoconfig
| |-- drivers-irqchip-irq-gic-v3-its.c:warning:no-previous-prototype-for-build_devid_pools
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-BPF_NET_GLOBAL_PROG-when-selected-by-SCHED_TASK_RELATIONSHIP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-DRM_PANEL_BRIDGE-when-selected-by-DRM_TOSHIBA_TC358762
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-HARDLOCKUP_DETECTOR-when-selected-by-SDEI_WATCHDOG
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-PCI_IOV-when-selected-by-CRYPTO_DEV_HISI_MIGRATION
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-PGP_KEY_PARSER-when-selected-by-PGP_PRELOAD
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-PGP_PRELOAD-when-selected-by-PGP_PRELOAD_PUBLIC_KEYS
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-SERIAL_EARLYCON-when-selected-by-SERIAL_IMX_EARLYCON
| `-- kismet:WARNING:unmet-direct-dependencies-detected-for-TASK_PLACEMENT_BY_CPU_RANGE-when-selected-by-BPF_SCHED
|-- arm64-defconfig
| |-- drivers-irqchip-irq-gic-v3-its.c:warning:no-previous-prototype-for-build_devid_pools
| `-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
|-- arm64-randconfig-001-20250530
| `-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
|-- arm64-randconfig-002-20250530
| |-- lib-gcc-aarch64-linux-..-plugin-include-config-elfos.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-defaults.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_clobbered-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_used-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:gimple_call_addr_fndecl-was-not-declared-in-this-scope
| `-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:is_gimple_reg-was-not-declared-in-this-scope
|-- arm64-randconfig-051-20250530
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- arm64-randconfig-052-20250530
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- arm64-randconfig-053-20250530
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- arm64-randconfig-054-20250530
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- arm64-randconfig-055-20250530
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- x86_64-allnoconfig
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_memsec.c::need-linux-version.h
| |-- drivers-net-ethernet-huawei-hinic3-ossl_knl_linux.h:net-devlink.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:linux-moduleparam.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_netdev.c:sxe_netdev.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:sxe_ipsec.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf.h:sxe_errno.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:sxevf.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:sxevf_hw.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:sxevf_hw.h-is-included-more-than-once.
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-BPF_NET_GLOBAL_PROG-when-selected-by-SCHED_TASK_RELATIONSHIP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-DRM_PANEL_BRIDGE-when-selected-by-DRM_TOSHIBA_TC358762
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-PGP_KEY_PARSER-when-selected-by-PGP_PRELOAD
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-PGP_PRELOAD-when-selected-by-PGP_PRELOAD_PUBLIC_KEYS
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-SERIAL_EARLYCON-when-selected-by-SERIAL_IMX_EARLYCON
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-TASK_PLACEMENT_BY_CPU_RANGE-when-selected-by-BPF_SCHED
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
| `-- mm-process_vm_access.c:linux-compat.h-is-included-more-than-once.
|-- x86_64-allyesconfig
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_cmd.c:warning:no-previous-prototype-for-function-cqm3_lb_send_cmd_box_async
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_dbg.c:warning:variable-cos_num-set-but-not-used
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_ethtool_stats.c:warning:no-previous-prototype-for-function-hinic3_rx_queue_stat_pack
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_ethtool_stats.c:warning:no-previous-prototype-for-function-hinic3_tx_queue_stat_pack
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-get_fecparam
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-hinic3_notify_all_vfs_bond_changed
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-hinic3_notify_vf_bond_status
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-print_port_info
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-set_fecparam
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_main.c:warning:no-previous-prototype-for-function-hinic3_need_proc_bond_event
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_main.c:warning:no-previous-prototype-for-function-hinic3_need_proc_link_event
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_netdev_ops.c:warning:variable-size-set-but-not-used
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_dev_mgmt.c:warning:no-previous-prototype-for-function-hinic3_write_oshr_info
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hw_api.c:warning:Function-parameter-or-member-instance-not-described-in-hinic3_sm_ctr_rd16_clear
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hw_comm.c:warning:no-previous-prototype-for-function-hinic3_is_optical_module_mode
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hwif.c:warning:no-previous-prototype-for-function-hinic3_global_func_id_hw
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-__set_vroce_func_state
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-hinic3_get_roce_uld_by_pdev
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-hinic3_pdev_is_virtfn
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-hinic3_set_func_state
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-slave_host_mgmt_vroce_work
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-slave_host_mgmt_work
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_sriov.c:warning:no-previous-prototype-for-function-hinic3_pci_sriov_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_phys_id_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_reg_test-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_all_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_auto_clear_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_cause_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_no_snoop_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_write_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pf_rst_done_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_auto_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_del-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_rss-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_lsc_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_mailbox_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-function-sxe_allow_inval_mac-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-function-sxe_multispeed_sfp_link_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_headers_cleanup-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_rx_buffer_page_offset_update-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-function-sxe_set_vf_link_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used-Werror-Wunused-but-set-variable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-function-sxe_txrx_ring_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_stop-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_link_state_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_ack_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_req_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_desc_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_tx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-function-sxevf_rx_ring_buffers_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete_exit-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-function-ps3_dump_context_show-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_file_name-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_log-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_close-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_open-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_write-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_filename_build-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_local_time-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_resp_status_convert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_trigger_irq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_cmd_stat_content_clear-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_io_recv_ok_stat_inc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-function-ps3_dump_dir_length-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_pd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_vd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-function-ps3_sas_expander_phys_refresh-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_hba-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_raid-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_switch-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-function-ps3_hard_reset_to_ready-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-function-ps3_clean_mgr_cmd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_HDD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CLEAR_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_ENABLE_MSIX-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_MASK_DISABLE-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_STATUS_EXIST_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_SSD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-function-ps3_cli_ver_query-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_cmd_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_reset-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clean-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_all_pd_rc_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_cmd_waitq_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_exclusive_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_mgrq_resend-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_pd_waitq_ratio_update-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_tg_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_vd_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_conflict_queue_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_check-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_range_check_and_insert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-function-rbtDelNodeDo-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_hard_recovery_state_finish-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_alloc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_delete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_irq_queue_destroy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_state_transfer-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-function-ps3_sas_update_phy_info-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_set_task_manager_busy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_wait_for_outstanding_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsih.c:error:unused-function-ps3_scsih_dev_id_get-Werror-Wunused-function
| |-- mm-damon-core-test.h:warning:comparison-of-distinct-pointer-types-(-typeof-(__left)-(aka-unsigned-int-)-and-typeof-(__right)-(aka-int-))
| |-- mm-hugetlb.c:warning:variable-gfp-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
|-- x86_64-buildonly-randconfig-001-20250530
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
|-- x86_64-buildonly-randconfig-002-20250530
| |-- mm-hugetlb.c:warning:variable-gfp-set-but-not-used
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
|-- x86_64-buildonly-randconfig-004-20250530
| |-- include-linux-minmax.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
| `-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
|-- x86_64-buildonly-randconfig-005-20250530
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
|-- x86_64-randconfig-161-20250530
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_phys_id_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_reg_test-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_all_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_auto_clear_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_cause_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_no_snoop_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_write_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pf_rst_done_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_auto_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_del-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_rss-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_lsc_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_mailbox_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-function-sxe_allow_inval_mac-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-function-sxe_multispeed_sfp_link_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_headers_cleanup-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_rx_buffer_page_offset_update-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-function-sxe_set_vf_link_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used-Werror-Wunused-but-set-variable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-function-sxe_txrx_ring_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_stop-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_link_state_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_ack_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_req_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_desc_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_tx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.o:warning:objtool:sxevf_work_cb:can-t-find-switch-jump-table
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-function-sxevf_rx_ring_buffers_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_free-Werror-Wmissing-prototypes
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-hugetlb.c:warning:variable-gfp-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
|-- x86_64-randconfig-r053-20250530
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_phys_id_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_reg_test-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_all_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_auto_clear_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_cause_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_no_snoop_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_write_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pf_rst_done_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_auto_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_del-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_rss-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_lsc_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_mailbox_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-function-sxe_allow_inval_mac-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-function-sxe_multispeed_sfp_link_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_headers_cleanup-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_rx_buffer_page_offset_update-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-function-sxe_set_vf_link_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used-Werror-Wunused-but-set-variable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-function-sxe_txrx_ring_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_stop-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_link_state_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_ack_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_req_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_desc_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_tx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.o:warning:objtool:sxevf_work_cb:can-t-find-switch-jump-table
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-function-sxevf_rx_ring_buffers_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_free-Werror-Wmissing-prototypes
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
`-- x86_64-rhel-9.4-rust
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_exit-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_init-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_init-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_phys_id_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_reg_test-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_all_irq_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_auto_clear_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_map-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_cause_get-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_get-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_no_snoop_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_write_clear-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pf_rst_done_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_auto_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_interval_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_map-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_del-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_rss-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_lsc_irq_handler-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_mailbox_irq_handler-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-function-sxe_allow_inval_mac-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-function-sxe_multispeed_sfp_link_configure-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_headers_cleanup-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_rx_buffer_page_offset_update-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-function-sxe_set_vf_link_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used-Werror-Wunused-but-set-variable
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-function-sxe_txrx_ring_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_event_irq_map-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_reset-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_ring_irq_map-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_stop-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_link_state_get-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_read-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_write-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_read-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_write-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_ack_irq_trigger-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_req_irq_trigger-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_ring_irq_interval_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_desc_configure-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_switch-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_specific_irq_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_tx_ring_switch-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-function-sxevf_rx_ring_buffers_alloc-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_alloc-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_free-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-mellanox-mlx5-core-lib-fs_chains.o:warning:objtool:mlx5_chains_put_table:unreachable-instruction
|-- drivers-net-ethernet-mellanox-mlxsw-spectrum_router.o:warning:objtool:mlxsw_sp_neigh_entry_update:unreachable-instruction
|-- mm-hugetlb.c:warning:variable-gfp-set-but-not-used
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
`-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
elapsed time: 728m
configs tested: 17
configs skipped: 128
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 defconfig gcc-15.1.0
arm64 randconfig-001-20250530 gcc-12.3.0
arm64 randconfig-002-20250530 gcc-5.5.0
arm64 randconfig-003-20250530 gcc-7.5.0
arm64 randconfig-004-20250530 clang-21
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250530 clang-20
x86_64 buildonly-randconfig-002-20250530 clang-20
x86_64 buildonly-randconfig-003-20250530 gcc-12
x86_64 buildonly-randconfig-004-20250530 gcc-11
x86_64 buildonly-randconfig-005-20250530 clang-20
x86_64 buildonly-randconfig-006-20250530 gcc-12
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS 1654/1654] include/linux/uaccess.h:112:17: warning: 'kmask' may be used uninitialized
by kernel test robot 30 May '25
by kernel test robot 30 May '25
30 May '25
Hi Oleg,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 8eff3fb546d3baa728542fd40cdbad086cd9227c
commit: b77633c8236f2383f8d994249b40ed1bd3d012c0 [1654/1654] signal: simplify set_user_sigmask/restore_user_sigmask
config: arm64-randconfig-004-20250530 (https://download.01.org/0day-ci/archive/20250530/202505302048.Z79haowV-lkp@…)
compiler: aarch64-linux-gcc (GCC) 12.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250530/202505302048.Z79haowV-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/202505302048.Z79haowV-lkp@intel.com/
Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
All warnings (new ones prefixed by >>):
| ^~~~~~~~~~~
In file included from include/asm-generic/termios.h:6,
from ./arch/arm64/include/generated/uapi/asm/termios.h:1,
from include/uapi/linux/termios.h:6,
from include/linux/tty.h:7,
from kernel/signal.c:23:
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from '__do_sys_sigaltstack' at kernel/signal.c:3635:13,
inlined from '__se_sys_sigaltstack' at kernel/signal.c:3631:1:
include/linux/uaccess.h:112:17: warning: 'new' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/compiler.h:251,
from include/asm-generic/bug.h:5,
from arch/arm64/include/asm/bug.h:37,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from kernel/signal.c:13:
include/linux/kasan-checks.h: In function '__se_sys_sigaltstack':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:3633:17: note: 'new' declared here
3633 | stack_t new, old;
| ^~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'do_compat_sigaltstack' at kernel/signal.c:3678:7:
include/linux/uaccess.h:112:17: warning: 'uss32' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'do_compat_sigaltstack':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:3677:32: note: 'uss32' declared here
3677 | compat_stack_t uss32;
| ^~~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from '__do_sys_rt_tgsigqueueinfo' at kernel/signal.c:3496:6,
inlined from '__se_sys_rt_tgsigqueueinfo' at kernel/signal.c:3491:1:
include/linux/uaccess.h:112:17: warning: 'info' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function '__se_sys_rt_tgsigqueueinfo':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:3494:19: note: 'info' declared here
3494 | siginfo_t info;
| ^~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from '__do_sys_rt_sigqueueinfo' at kernel/signal.c:3454:6,
inlined from '__se_sys_rt_sigqueueinfo' at kernel/signal.c:3450:1:
include/linux/uaccess.h:112:17: warning: 'info' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function '__se_sys_rt_sigqueueinfo':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:3453:19: note: 'info' declared here
3453 | siginfo_t info;
| ^~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from '__do_sys_sigprocmask' at kernel/signal.c:3783:7,
inlined from '__se_sys_sigprocmask' at kernel/signal.c:3774:1:
include/linux/uaccess.h:112:17: warning: 'new_set' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function '__se_sys_sigprocmask':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:3777:31: note: 'new_set' declared here
3777 | old_sigset_t old_set, new_set;
| ^~~~~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from '__do_sys_rt_sigprocmask' at kernel/signal.c:2887:7,
inlined from '__se_sys_rt_sigprocmask' at kernel/signal.c:2874:1:
include/linux/uaccess.h:112:17: warning: 'new_set' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function '__se_sys_rt_sigprocmask':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:2877:27: note: 'new_set' declared here
2877 | sigset_t old_set, new_set;
| ^~~~~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'set_user_sigmask' at kernel/signal.c:2836:6:
>> include/linux/uaccess.h:112:17: warning: 'kmask' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'set_user_sigmask':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:2830:18: note: 'kmask' declared here
2830 | sigset_t kmask;
| ^~~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from '__do_sys_rt_sigtimedwait' at kernel/signal.c:3281:6,
inlined from '__se_sys_rt_sigtimedwait' at kernel/signal.c:3268:1:
include/linux/uaccess.h:112:17: warning: 'these' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function '__se_sys_rt_sigtimedwait':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:3272:18: note: 'these' declared here
3272 | sigset_t these;
| ^~~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'copy_siginfo_from_user32' at kernel/signal.c:3125:6:
include/linux/uaccess.h:112:17: warning: 'from' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'copy_siginfo_from_user32':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:3123:31: note: 'from' declared here
3123 | struct compat_siginfo from;
| ^~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'restore_altstack' at kernel/signal.c:3648:6:
include/linux/uaccess.h:112:17: warning: 'new' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'restore_altstack':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:3647:17: note: 'new' declared here
3647 | stack_t new;
| ^~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from '__do_sys_rt_sigaction' at kernel/signal.c:3834:13,
inlined from '__se_sys_rt_sigaction' at kernel/signal.c:3822:1,
inlined from '__arm64_sys_rt_sigaction' at kernel/signal.c:3822:1:
include/linux/uaccess.h:112:17: warning: 'new_sa' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function '__arm64_sys_rt_sigaction':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:3827:28: note: 'new_sa' declared here
3827 | struct k_sigaction new_sa, old_sa;
| ^~~~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from '__do_sys_rt_sigsuspend' at kernel/signal.c:4053:6,
inlined from '__se_sys_rt_sigsuspend' at kernel/signal.c:4045:1,
inlined from '__arm64_sys_rt_sigsuspend' at kernel/signal.c:4045:1:
include/linux/uaccess.h:112:17: warning: 'newset' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function '__arm64_sys_rt_sigsuspend':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
kernel/signal.c:4047:18: note: 'newset' declared here
4047 | sigset_t newset;
| ^~~~~~
vim +/kmask +112 include/linux/uaccess.h
d597580d373774 Al Viro 2017-03-20 104
d597580d373774 Al Viro 2017-03-20 105 #ifdef INLINE_COPY_FROM_USER
d597580d373774 Al Viro 2017-03-20 106 static inline unsigned long
d597580d373774 Al Viro 2017-03-20 107 _copy_from_user(void *to, const void __user *from, unsigned long n)
d597580d373774 Al Viro 2017-03-20 108 {
d597580d373774 Al Viro 2017-03-20 109 unsigned long res = n;
9c5f6908de03a4 Al Viro 2017-06-29 110 might_fault();
4983cb67a383a7 Linus Torvalds 2019-02-14 111 if (likely(access_ok(from, n))) {
9c5f6908de03a4 Al Viro 2017-06-29 @112 kasan_check_write(to, n);
d597580d373774 Al Viro 2017-03-20 113 res = raw_copy_from_user(to, from, n);
9c5f6908de03a4 Al Viro 2017-06-29 114 }
d597580d373774 Al Viro 2017-03-20 115 if (unlikely(res))
d597580d373774 Al Viro 2017-03-20 116 memset(to + (n - res), 0, res);
d597580d373774 Al Viro 2017-03-20 117 return res;
d597580d373774 Al Viro 2017-03-20 118 }
d597580d373774 Al Viro 2017-03-20 119 #else
d597580d373774 Al Viro 2017-03-20 120 extern unsigned long
d597580d373774 Al Viro 2017-03-20 121 _copy_from_user(void *, const void __user *, unsigned long);
d597580d373774 Al Viro 2017-03-20 122 #endif
d597580d373774 Al Viro 2017-03-20 123
:::::: The code at line 112 was first introduced by commit
:::::: 9c5f6908de03a4f52ba7364b11fcd6116225480c copy_{from,to}_user(): move kasan checks and might_fault() out-of-line
:::::: TO: Al Viro <viro(a)zeniv.linux.org.uk>
:::::: CC: Al Viro <viro(a)zeniv.linux.org.uk>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS 1654/1654] drivers/ssb/.tmp_main.o: warning: objtool: missing symbol for section .exit.text
by kernel test robot 30 May '25
by kernel test robot 30 May '25
30 May '25
Hi Michael,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 8eff3fb546d3baa728542fd40cdbad086cd9227c
commit: b8b6069cf2087545fe53ec920e8353133e9a70bf [1654/1654] ssb: Remove home-grown printk wrappers
config: x86_64-buildonly-randconfig-001-20250530 (https://download.01.org/0day-ci/archive/20250530/202505301912.1CAdzzbQ-lkp@…)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250530/202505301912.1CAdzzbQ-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/202505301912.1CAdzzbQ-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/ssb/.tmp_main.o: warning: objtool: missing symbol for section .exit.text
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS 1654/1654] include/linux/uaccess.h:112:17: warning: 'bind' may be used uninitialized
by kernel test robot 30 May '25
by kernel test robot 30 May '25
30 May '25
Hi Jean-Philippe,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 8eff3fb546d3baa728542fd40cdbad086cd9227c
commit: 2dd8345826607c5d2d6528de872118da554015b6 [1654/1654] vfio: Add support for Shared Virtual Addressing
config: arm64-randconfig-004-20250530 (https://download.01.org/0day-ci/archive/20250530/202505301743.docKUh1h-lkp@…)
compiler: aarch64-linux-gcc (GCC) 12.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250530/202505301743.docKUh1h-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/202505301743.docKUh1h-lkp@intel.com/
Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
All warnings (new ones prefixed by >>):
In file included from include/linux/compat.h:19,
from drivers/vfio/vfio_iommu_type1.c:27:
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'vfio_iommu_type1_bind_process' at drivers/vfio/vfio_iommu_type1.c:1933:6:
include/linux/uaccess.h:112:17: warning: 'params' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/compiler.h:251,
from include/asm-generic/div64.h:25,
from ./arch/arm64/include/generated/asm/div64.h:1,
from include/linux/math64.h:6,
from include/linux/time64.h:5,
from include/linux/compat_time.h:6,
from include/linux/compat.h:10:
include/linux/kasan-checks.h: In function 'vfio_iommu_type1_bind_process':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
drivers/vfio/vfio_iommu_type1.c:1920:46: note: 'params' declared here
1920 | struct vfio_iommu_type1_bind_process params;
| ^~~~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'vfio_iommu_type1_unbind_process' at drivers/vfio/vfio_iommu_type1.c:2021:6:
include/linux/uaccess.h:112:17: warning: 'params' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'vfio_iommu_type1_unbind_process':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
drivers/vfio/vfio_iommu_type1.c:2014:46: note: 'params' declared here
2014 | struct vfio_iommu_type1_bind_process params;
| ^~~~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'vfio_iommu_type1_ioctl.part.0' at drivers/vfio/vfio_iommu_type1.c:2084:7:
include/linux/uaccess.h:112:17: warning: 'info' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl.part.0':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
drivers/vfio/vfio_iommu_type1.c:2080:46: note: 'info' declared here
2080 | struct vfio_iommu_type1_info info;
| ^~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'vfio_iommu_type1_ioctl.part.0' at drivers/vfio/vfio_iommu_type1.c:2104:7:
include/linux/uaccess.h:112:17: warning: 'map' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl.part.0':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
drivers/vfio/vfio_iommu_type1.c:2098:49: note: 'map' declared here
2098 | struct vfio_iommu_type1_dma_map map;
| ^~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'vfio_iommu_type1_ioctl.part.0' at drivers/vfio/vfio_iommu_type1.c:2118:7:
include/linux/uaccess.h:112:17: warning: 'unmap' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl.part.0':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
drivers/vfio/vfio_iommu_type1.c:2113:51: note: 'unmap' declared here
2113 | struct vfio_iommu_type1_dma_unmap unmap;
| ^~~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'vfio_iommu_type1_ioctl.part.0' at drivers/vfio/vfio_iommu_type1.c:2136:7:
>> include/linux/uaccess.h:112:17: warning: 'bind' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl.part.0':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
drivers/vfio/vfio_iommu_type1.c:2132:46: note: 'bind' declared here
2132 | struct vfio_iommu_type1_bind bind;
| ^~~~
In function '_copy_from_user',
inlined from 'copy_from_user' at include/linux/uaccess.h:144:7,
inlined from 'vfio_iommu_type1_ioctl.part.0' at drivers/vfio/vfio_iommu_type1.c:2155:7:
>> include/linux/uaccess.h:112:17: warning: 'bind' may be used uninitialized [-Wmaybe-uninitialized]
112 | kasan_check_write(to, n);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl.part.0':
include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here
7 | void kasan_check_write(const volatile void *p, unsigned int size);
| ^~~~~~~~~~~~~~~~~
drivers/vfio/vfio_iommu_type1.c:2151:46: note: 'bind' declared here
2151 | struct vfio_iommu_type1_bind bind;
| ^~~~
vim +/bind +112 include/linux/uaccess.h
d597580d373774 Al Viro 2017-03-20 104
d597580d373774 Al Viro 2017-03-20 105 #ifdef INLINE_COPY_FROM_USER
d597580d373774 Al Viro 2017-03-20 106 static inline unsigned long
d597580d373774 Al Viro 2017-03-20 107 _copy_from_user(void *to, const void __user *from, unsigned long n)
d597580d373774 Al Viro 2017-03-20 108 {
d597580d373774 Al Viro 2017-03-20 109 unsigned long res = n;
9c5f6908de03a4 Al Viro 2017-06-29 110 might_fault();
4983cb67a383a7 Linus Torvalds 2019-02-14 111 if (likely(access_ok(from, n))) {
9c5f6908de03a4 Al Viro 2017-06-29 @112 kasan_check_write(to, n);
d597580d373774 Al Viro 2017-03-20 113 res = raw_copy_from_user(to, from, n);
9c5f6908de03a4 Al Viro 2017-06-29 114 }
d597580d373774 Al Viro 2017-03-20 115 if (unlikely(res))
d597580d373774 Al Viro 2017-03-20 116 memset(to + (n - res), 0, res);
d597580d373774 Al Viro 2017-03-20 117 return res;
d597580d373774 Al Viro 2017-03-20 118 }
d597580d373774 Al Viro 2017-03-20 119 #else
d597580d373774 Al Viro 2017-03-20 120 extern unsigned long
d597580d373774 Al Viro 2017-03-20 121 _copy_from_user(void *, const void __user *, unsigned long);
d597580d373774 Al Viro 2017-03-20 122 #endif
d597580d373774 Al Viro 2017-03-20 123
:::::: The code at line 112 was first introduced by commit
:::::: 9c5f6908de03a4f52ba7364b11fcd6116225480c copy_{from,to}_user(): move kasan checks and might_fault() out-of-line
:::::: TO: Al Viro <viro(a)zeniv.linux.org.uk>
:::::: CC: Al Viro <viro(a)zeniv.linux.org.uk>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

30 May '25
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/ICBFCS
CVE: NA
--------------------------------
This introduces a kind of network optimization method named oenetcls. It
can configure the ntuple rule, and bind interrupt to the netdev queue
automatically.
Signed-off-by: Yue Haibing <yuehaibing(a)huawei.com>
Signed-off-by: Wang Liang <wangliang74(a)huawei.com>
Signed-off-by: Liu Jian <liujian56(a)huawei.com>
Signed-off-by: yuelg <yuelg(a)chinaunicom.cn>
---
arch/arm64/configs/openeuler_defconfig | 2 +
arch/x86/configs/openeuler_defconfig | 1 +
drivers/hooks/Kconfig | 10 +
drivers/hooks/vendor_hooks.c | 8 +
include/linux/netdevice.h | 2 +-
include/trace/hooks/oenetcls.h | 44 ++
net/Kconfig | 1 +
net/Makefile | 1 +
net/core/dev.c | 21 +
net/ipv4/af_inet.c | 5 +
net/ipv4/tcp.c | 10 +
net/oenetcls/Kconfig | 10 +
net/oenetcls/Makefile | 8 +
net/oenetcls/asmdefs.h | 61 ++
net/oenetcls/memcpy-sve.S | 157 ++++
net/oenetcls/oenetcls.h | 176 +++++
net/oenetcls/oenetcls_flow.c | 402 ++++++++++
net/oenetcls/oenetcls_l0.c | 193 +++++
net/oenetcls/oenetcls_main.c | 972 +++++++++++++++++++++++++
net/oenetcls/oenetcls_ntuple.c | 510 +++++++++++++
20 files changed, 2593 insertions(+), 1 deletion(-)
create mode 100644 include/trace/hooks/oenetcls.h
create mode 100644 net/oenetcls/Kconfig
create mode 100644 net/oenetcls/Makefile
create mode 100644 net/oenetcls/asmdefs.h
create mode 100644 net/oenetcls/memcpy-sve.S
create mode 100644 net/oenetcls/oenetcls.h
create mode 100644 net/oenetcls/oenetcls_flow.c
create mode 100644 net/oenetcls/oenetcls_l0.c
create mode 100644 net/oenetcls/oenetcls_main.c
create mode 100644 net/oenetcls/oenetcls_ntuple.c
diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig
index 4a11c9f061cc..c7c652a295e1 100644
--- a/arch/arm64/configs/openeuler_defconfig
+++ b/arch/arm64/configs/openeuler_defconfig
@@ -6260,6 +6260,8 @@ CONFIG_USB4=m
#
CONFIG_VENDOR_HOOKS=y
CONFIG_VENDOR_BOND_HOOKS=y
+CONFIG_OENETCLS_HOOKS=y
+CONFIG_OENETCLS=m
# end of Vendor Hooks
CONFIG_LIBNVDIMM=m
diff --git a/arch/x86/configs/openeuler_defconfig b/arch/x86/configs/openeuler_defconfig
index 4fed721fb07a..c9e9e1a76881 100644
--- a/arch/x86/configs/openeuler_defconfig
+++ b/arch/x86/configs/openeuler_defconfig
@@ -7323,6 +7323,7 @@ CONFIG_USB4=m
#
CONFIG_VENDOR_HOOKS=y
CONFIG_VENDOR_BOND_HOOKS=y
+# CONFIG_OENETCLS_HOOKS is not set
# end of Vendor Hooks
CONFIG_LIBNVDIMM=m
diff --git a/drivers/hooks/Kconfig b/drivers/hooks/Kconfig
index 6a00168e67ad..90b0f6ea4040 100644
--- a/drivers/hooks/Kconfig
+++ b/drivers/hooks/Kconfig
@@ -20,4 +20,14 @@ config VENDOR_BOND_HOOKS
Allow vendor modules to attach bonding driver hooks defined via
DECLARE_HOOK or DECLARE_RESTRICTED_HOOK.
+config OENETCLS_HOOKS
+ bool "Oenetcls driver Hooks"
+ depends on VENDOR_HOOKS
+ default n
+ help
+ Enable oenetcls vendor hooks
+ Allow vendor modules to attach oenetcls hooks defined via
+ DECLARE_HOOK or DECLARE_RESTRICTED_HOOK.
+ Use OENETCLS && OENETCLS_HOOKS to enable oenetcls feature.
+
endmenu
diff --git a/drivers/hooks/vendor_hooks.c b/drivers/hooks/vendor_hooks.c
index 85bda58159f6..d9b85b57a742 100644
--- a/drivers/hooks/vendor_hooks.c
+++ b/drivers/hooks/vendor_hooks.c
@@ -9,6 +9,7 @@
#define CREATE_TRACE_POINTS
#include <trace/hooks/vendor_hooks.h>
#include <trace/hooks/bonding.h>
+#include <trace/hooks/oenetcls.h>
/*
* Export tracepoints that act as a bare tracehook (ie: have no trace event
@@ -18,3 +19,10 @@
#ifdef CONFIG_VENDOR_BOND_HOOKS
EXPORT_TRACEPOINT_SYMBOL_GPL(vendor_bond_check_dev_link);
#endif
+
+#ifdef CONFIG_OENETCLS_HOOKS
+EXPORT_TRACEPOINT_SYMBOL_GPL(oecls_flow_update);
+EXPORT_TRACEPOINT_SYMBOL_GPL(oecls_set_cpu);
+EXPORT_TRACEPOINT_SYMBOL_GPL(oecls_timeout);
+EXPORT_TRACEPOINT_SYMBOL_GPL(ethtool_cfg_rxcls);
+#endif
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index df61a63a5550..4b7b6fa1dcb1 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -808,7 +808,7 @@ struct netdev_rx_queue {
struct xsk_buff_pool *pool;
#endif
- KABI_RESERVE(1)
+ KABI_USE(1, void *__rcu oecls_ftb)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
diff --git a/include/trace/hooks/oenetcls.h b/include/trace/hooks/oenetcls.h
new file mode 100644
index 000000000000..c38545d7a6a2
--- /dev/null
+++ b/include/trace/hooks/oenetcls.h
@@ -0,0 +1,44 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * oenetcls driver Hooks
+ *
+ * Copyright (c) 2025, Huawei Tech. Co., Ltd.
+ */
+
+#ifdef CONFIG_OENETCLS_HOOKS
+
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM oenetcls
+
+#define TRACE_INCLUDE_PATH trace/hooks
+#if !defined(_TRACE_OENETCLS_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_OENETCLS_H
+#include <linux/tracepoint.h>
+#include <trace/hooks/vendor_hooks.h>
+
+struct sock;
+struct sk_buff;
+struct net_device;
+
+DECLARE_HOOK(oecls_flow_update,
+TP_PROTO(struct sock *sk),
+TP_ARGS(sk));
+
+DECLARE_HOOK(oecls_set_cpu,
+TP_PROTO(struct sk_buff *skb),
+TP_ARGS(skb));
+
+DECLARE_HOOK(oecls_timeout,
+TP_PROTO(struct net_device *dev, u16 rxq_index, u32 flow_id, u16 filter_id, bool *ret),
+TP_ARGS(dev, rxq_index, flow_id, filter_id, ret));
+
+DECLARE_HOOK(ethtool_cfg_rxcls,
+TP_PROTO(struct sock *sk, int is_del),
+TP_ARGS(sk, is_del));
+
+#endif
+/* This part must be outside protection */
+#include <trace/define_trace.h>
+
+#endif
+
diff --git a/net/Kconfig b/net/Kconfig
index 51a934426f9f..071f8ee3b89f 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -67,6 +67,7 @@ source "net/xfrm/Kconfig"
source "net/iucv/Kconfig"
source "net/smc/Kconfig"
source "net/xdp/Kconfig"
+source "net/oenetcls/Kconfig"
config INET
bool "TCP/IP networking"
diff --git a/net/Makefile b/net/Makefile
index 45c03aa92ace..dc637db866e3 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -87,3 +87,4 @@ obj-$(CONFIG_QRTR) += qrtr/
obj-$(CONFIG_NET_NCSI) += ncsi/
obj-$(CONFIG_XDP_SOCKETS) += xdp/
obj-$(CONFIG_MPTCP) += mptcp/
+obj-$(CONFIG_OENETCLS) += oenetcls/
diff --git a/net/core/dev.c b/net/core/dev.c
index c49f3d306b5c..eda1975ef55b 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -149,6 +149,7 @@
#include <net/net_rship.h>
#include "net-sysfs.h"
+#include <trace/hooks/oenetcls.h>
#define MAX_GRO_SKBS 8
@@ -4484,6 +4485,11 @@ bool rps_may_expire_flow(struct net_device *dev, u16 rxq_index,
bool expire = true;
unsigned int cpu;
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_oecls_timeout(dev, rxq_index, flow_id, filter_id, &expire);
+ if (expire)
+ return true;
+#endif
rcu_read_lock();
flow_table = rcu_dereference(rxqueue->rps_flow_table);
if (flow_table && flow_id <= flow_table->mask) {
@@ -5819,6 +5825,11 @@ static int netif_receive_skb_internal(struct sk_buff *skb)
}
}
#endif
+
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_oecls_set_cpu(skb);
+#endif
+
ret = __netif_receive_skb(skb);
rcu_read_unlock();
return ret;
@@ -5853,6 +5864,12 @@ static void netif_receive_skb_list_internal(struct list_head *head)
}
}
#endif
+
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ list_for_each_entry_safe(skb, next, head, list)
+ trace_oecls_set_cpu(skb);
+#endif
+
__netif_receive_skb_list(head);
rcu_read_unlock();
}
@@ -9984,6 +10001,10 @@ int __netdev_update_features(struct net_device *dev)
return err < 0 ? 0 : 1;
}
+#if IS_ENABLED(CONFIG_OENETCLS)
+EXPORT_SYMBOL(__netdev_update_features);
+#endif
+
/**
* netdev_update_features - recalculate device features
* @dev: the device to check
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index c6ec22f314c4..b09b1d6575a4 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -119,6 +119,7 @@
#include <net/compat.h>
#include <trace/events/sock.h>
+#include <trace/hooks/oenetcls.h>
/* The inetsw table contains everything that inet_create needs to
* build a new socket.
@@ -232,6 +233,10 @@ int inet_listen(struct socket *sock, int backlog)
if (err)
goto out;
tcp_call_bpf(sk, BPF_SOCK_OPS_TCP_LISTEN_CB, 0, NULL);
+
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_ethtool_cfg_rxcls(sk, 0);
+#endif
}
err = 0;
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 2a5147a4d1af..f014fad55bbf 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -280,6 +280,7 @@
#include <asm/ioctls.h>
#include <net/busy_poll.h>
#include <net/net_rship.h>
+#include <trace/hooks/oenetcls.h>
DEFINE_PER_CPU(unsigned int, tcp_orphan_count);
EXPORT_PER_CPU_SYMBOL_GPL(tcp_orphan_count);
@@ -2176,6 +2177,10 @@ int tcp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int nonblock,
if (unlikely(flags & MSG_ERRQUEUE))
return inet_recv_error(sk, msg, len, addr_len);
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_oecls_flow_update(sk);
+#endif
+
if (sk_can_busy_loop(sk) && skb_queue_empty_lockless(&sk->sk_receive_queue) &&
(sk->sk_state == TCP_ESTABLISHED))
sk_busy_loop(sk, nonblock);
@@ -2750,6 +2755,11 @@ void __tcp_close(struct sock *sk, long timeout)
void tcp_close(struct sock *sk, long timeout)
{
lock_sock(sk);
+
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_ethtool_cfg_rxcls(sk, 1);
+#endif
+
__tcp_close(sk, timeout);
release_sock(sk);
if (!sk->sk_net_refcnt)
diff --git a/net/oenetcls/Kconfig b/net/oenetcls/Kconfig
new file mode 100644
index 000000000000..128b798d6b7f
--- /dev/null
+++ b/net/oenetcls/Kconfig
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: GPL-2.0-only
+config OENETCLS
+ tristate "Network classification"
+ depends on HISI_L0 && OENETCLS_HOOKS
+ default n
+ help
+ Allows to configure ntuple rule, and bind interrupt to netdev
+ automatically.
+ Use OENETCLS && OENETCLS_HOOKS to enable oenetcls feature.
+ Use parameter mode to decide running mode.
diff --git a/net/oenetcls/Makefile b/net/oenetcls/Makefile
new file mode 100644
index 000000000000..4d395d36a5fc
--- /dev/null
+++ b/net/oenetcls/Makefile
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+obj-$(CONFIG_OENETCLS) = oenetcls.o
+oenetcls-y := oenetcls_main.o oenetcls_ntuple.o oenetcls_flow.o oenetcls_l0.o
+ifeq ($(CONFIG_ARM64_SVE),y)
+oenetcls-y += memcpy-sve.o
+endif
+
diff --git a/net/oenetcls/asmdefs.h b/net/oenetcls/asmdefs.h
new file mode 100644
index 000000000000..8138a94c18af
--- /dev/null
+++ b/net/oenetcls/asmdefs.h
@@ -0,0 +1,61 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef _ASMDEFS_H
+#define _ASMDEFS_H
+
+/* Branch Target Identitication support. */
+#define BTI_C hint 34
+#define BTI_J hint 36
+/* Return address signing support (pac-ret). */
+#define PACIASP hint 25; .cfi_window_save
+#define AUTIASP hint 29; .cfi_window_save
+
+/* GNU_PROPERTY_AARCH64_* macros from elf.h. */
+#define FEATURE_1_AND 0xc0000000
+#define FEATURE_1_BTI 1
+#define FEATURE_1_PAC 2
+
+/* Add a NT_GNU_PROPERTY_TYPE_0 note. */
+#define GNU_PROPERTY(type, value) \
+ .section .note.gnu.property, "a"; \
+ .p2align 3; \
+ .word 4; \
+ .word 16; \
+ .word 5; \
+ .asciz "GNU"; \
+ .word type; \
+ .word 4; \
+ .word value; \
+ .word 0; \
+ .text
+
+#ifndef WANT_GNU_PROPERTY
+#define WANT_GNU_PROPERTY 1
+#endif
+
+#if WANT_GNU_PROPERTY
+/* Add property note with supported features to all asm files. */
+GNU_PROPERTY(FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_PAC)
+#endif
+
+#define ENTRY_ALIGN(name, alignment) \
+ .global name; \
+ .type name, %function; \
+ .align alignment; \
+name: \
+ .cfi_startproc; \
+ BTI_C;
+
+#define ENTRY(name) ENTRY_ALIGN(name, 6)
+
+#define ENTRY_ALIAS(name) \
+ .global name; \
+ .type name, %function; \
+ name:
+
+#define END(name) \
+ .cfi_endproc; \
+ .size name, .-name;
+
+#define L(l) .L ## l
+
+#endif
diff --git a/net/oenetcls/memcpy-sve.S b/net/oenetcls/memcpy-sve.S
new file mode 100644
index 000000000000..106e4c30294c
--- /dev/null
+++ b/net/oenetcls/memcpy-sve.S
@@ -0,0 +1,157 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include "asmdefs.h"
+
+.arch armv8-a+sve
+
+#define dstin x0
+#define src x1
+#define count x2
+#define dst x3
+#define srcend x4
+#define dstend x5
+#define tmp1 x6
+#define vlen x6
+
+#define A_q q0
+#define B_q q1
+#define C_q q2
+#define D_q q3
+#define E_q q4
+#define F_q q5
+#define G_q q6
+#define H_q q7
+
+/* This implementation handles overlaps and supports both memcpy and memmove
+ from a single entry point. It uses unaligned accesses and branchless
+ sequences to keep the code small, simple and improve performance.
+ SVE vectors are used to speedup small copies.
+
+ Copies are split into 3 main cases: small copies of up to 32 bytes, medium
+ copies of up to 128 bytes, and large copies. The overhead of the overlap
+ check is negligible since it is only required for large copies.
+
+ Large copies use a software pipelined loop processing 64 bytes per iteration.
+ The source pointer is 16-byte aligned to minimize unaligned accesses.
+ The loop tail is handled by always copying 64 bytes from the end.
+*/
+
+ENTRY_ALIAS (__memmove_aarch64_sve)
+ENTRY (__memcpy_aarch64_sve)
+ cmp count, 128
+ b.hi L(copy_long)
+ cntb vlen
+ cmp count, vlen, lsl 1
+ b.hi L(copy32_128)
+
+ whilelo p0.b, xzr, count
+ whilelo p1.b, vlen, count
+ ld1b z0.b, p0/z, [src, 0, mul vl]
+ ld1b z1.b, p1/z, [src, 1, mul vl]
+ st1b z0.b, p0, [dstin, 0, mul vl]
+ st1b z1.b, p1, [dstin, 1, mul vl]
+ ret
+
+ /* Medium copies: 33..128 bytes. */
+L(copy32_128):
+ add srcend, src, count
+ add dstend, dstin, count
+ ldp A_q, B_q, [src]
+ ldp C_q, D_q, [srcend, -32]
+ cmp count, 64
+ b.hi L(copy128)
+ stp A_q, B_q, [dstin]
+ stp C_q, D_q, [dstend, -32]
+ ret
+
+ /* Copy 65..128 bytes. */
+L(copy128):
+ ldp E_q, F_q, [src, 32]
+ cmp count, 96
+ b.ls L(copy96)
+ ldp G_q, H_q, [srcend, -64]
+ stp G_q, H_q, [dstend, -64]
+L(copy96):
+ stp A_q, B_q, [dstin]
+ stp E_q, F_q, [dstin, 32]
+ stp C_q, D_q, [dstend, -32]
+ ret
+
+ /* Copy more than 128 bytes. */
+L(copy_long):
+ add srcend, src, count
+ add dstend, dstin, count
+
+ /* Use backwards copy if there is an overlap. */
+ sub tmp1, dstin, src
+ cmp tmp1, count
+ b.lo L(copy_long_backwards)
+
+ /* Copy 16 bytes and then align src to 16-byte alignment. */
+ ldr D_q, [src]
+ and tmp1, src, 15
+ bic src, src, 15
+ sub dst, dstin, tmp1
+ add count, count, tmp1 /* Count is now 16 too large. */
+ ldp A_q, B_q, [src, 16]
+ str D_q, [dstin]
+ ldp C_q, D_q, [src, 48]
+ subs count, count, 128 + 16 /* Test and readjust count. */
+ b.ls L(copy64_from_end)
+L(loop64):
+ stp A_q, B_q, [dst, 16]
+ ldp A_q, B_q, [src, 80]
+ stp C_q, D_q, [dst, 48]
+ ldp C_q, D_q, [src, 112]
+ add src, src, 64
+ add dst, dst, 64
+ subs count, count, 64
+ b.hi L(loop64)
+
+ /* Write the last iteration and copy 64 bytes from the end. */
+L(copy64_from_end):
+ ldp E_q, F_q, [srcend, -64]
+ stp A_q, B_q, [dst, 16]
+ ldp A_q, B_q, [srcend, -32]
+ stp C_q, D_q, [dst, 48]
+ stp E_q, F_q, [dstend, -64]
+ stp A_q, B_q, [dstend, -32]
+ ret
+
+ /* Large backwards copy for overlapping copies.
+ Copy 16 bytes and then align srcend to 16-byte alignment. */
+L(copy_long_backwards):
+ cbz tmp1, L(return)
+ ldr D_q, [srcend, -16]
+ and tmp1, srcend, 15
+ bic srcend, srcend, 15
+ sub count, count, tmp1
+ ldp A_q, B_q, [srcend, -32]
+ str D_q, [dstend, -16]
+ ldp C_q, D_q, [srcend, -64]
+ sub dstend, dstend, tmp1
+ subs count, count, 128
+ b.ls L(copy64_from_start)
+
+L(loop64_backwards):
+ str B_q, [dstend, -16]
+ str A_q, [dstend, -32]
+ ldp A_q, B_q, [srcend, -96]
+ str D_q, [dstend, -48]
+ str C_q, [dstend, -64]!
+ ldp C_q, D_q, [srcend, -128]
+ sub srcend, srcend, 64
+ subs count, count, 64
+ b.hi L(loop64_backwards)
+
+ /* Write the last iteration and copy 64 bytes from the start. */
+L(copy64_from_start):
+ ldp E_q, F_q, [src, 32]
+ stp A_q, B_q, [dstend, -32]
+ ldp A_q, B_q, [src]
+ stp C_q, D_q, [dstend, -64]
+ stp E_q, F_q, [dstin, 32]
+ stp A_q, B_q, [dstin]
+L(return):
+ ret
+
+END (__memcpy_aarch64_sve)
diff --git a/net/oenetcls/oenetcls.h b/net/oenetcls/oenetcls.h
new file mode 100644
index 000000000000..72aeedcaf0a0
--- /dev/null
+++ b/net/oenetcls/oenetcls.h
@@ -0,0 +1,176 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef _NET_OENETCLS_H
+#define _NET_OENETCLS_H
+#include <linux/if.h>
+#include <linux/mutex.h>
+#include <linux/cpufeature.h>
+
+#define OECLS_MAX_NETDEV_NUM 8
+#define OECLS_MAX_RXQ_NUM_PER_DEV 256
+#define OECLS_MAX_NUMA_NUM 16
+#define OECLS_MAX_CPU_NUM 1024
+
+#define OECLS_TIMEOUT (5 * HZ)
+#define OECLS_NO_FILTER 0xffff
+#define OECLS_NO_CPU 0xffff
+
+struct oecls_netdev_queue_info {
+ int irq;
+ int affinity_cpu;
+};
+
+struct oecls_netdev_info {
+ char dev_name[IFNAMSIZ];
+ struct net_device *netdev;
+ int rxq_num;
+ struct oecls_netdev_queue_info rxq[OECLS_MAX_RXQ_NUM_PER_DEV];
+ int old_filter_state;
+};
+
+struct oecls_numa_bound_dev_info {
+ DECLARE_BITMAP(bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV);
+};
+
+struct oecls_numa_info {
+ DECLARE_BITMAP(avail_cpus, OECLS_MAX_CPU_NUM);
+ struct oecls_numa_bound_dev_info bound_dev[OECLS_MAX_NETDEV_NUM];
+};
+
+struct cmd_context {
+ char netdev[IFNAMSIZ];
+ u32 dip4;
+ u16 dport;
+ u16 action;
+ u32 ruleid;
+ u32 del_ruleid;
+ int ret_loc;
+};
+
+#define OECLS_SK_RULE_HASHSIZE 256
+#define OECLS_SK_RULE_HASHMASK (OECLS_SK_RULE_HASHSIZE - 1)
+
+struct oecls_sk_rule_list {
+ struct hlist_head hash[OECLS_SK_RULE_HASHSIZE];
+ /* Mutex to synchronize access to ntuple rule locking */
+ struct mutex mutex;
+};
+
+struct oecls_sk_rule {
+ struct hlist_node node;
+ int devid;
+ void *sk;
+ int dip4;
+ int dport;
+ int action;
+ int ruleid;
+ int nid;
+};
+
+struct oecls_dev_flow {
+ unsigned short cpu;
+ unsigned short filter;
+ unsigned int last_qtail;
+ int isvalid;
+ unsigned long timeout;
+};
+
+struct oecls_dev_flow_table {
+ unsigned int mask;
+ struct rcu_head rcu;
+ struct oecls_dev_flow flows[];
+};
+
+struct oecls_sock_flow_table {
+ u32 mask;
+ u32 ents[] ____cacheline_aligned_in_smp;
+};
+
+#define OECLS_DEV_FLOW_TABLE_NUM 0x1000
+#define OECLS_SOCK_FLOW_TABLE_NUM 0x100000
+#define OECLS_DEV_FLOW_TABLE_SIZE(_num) (sizeof(struct oecls_dev_flow_table) + \
+ ((_num) * sizeof(struct oecls_dev_flow)))
+#define OECLS_SOCK_FLOW_TABLE_SIZE(_num) (offsetof(struct oecls_sock_flow_table, ents[_num]))
+
+#define ETH_ALL_FLAGS (ETH_FLAG_LRO | ETH_FLAG_RXVLAN | ETH_FLAG_TXVLAN | \
+ ETH_FLAG_NTUPLE | ETH_FLAG_RXHASH)
+#define ETH_ALL_FEATURES (NETIF_F_LRO | NETIF_F_HW_VLAN_CTAG_RX | \
+ NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_NTUPLE | \
+ NETIF_F_RXHASH)
+
+struct rmgr_ctrl {
+ int driver_select;
+ unsigned long *slot;
+ __u32 n_rules;
+ __u32 size;
+};
+
+extern int match_ip_flag;
+extern int debug;
+extern int oecls_netdev_num;
+extern int oecls_numa_num;
+
+#define oecls_debug(fmt, ...) \
+ do { \
+ if (debug) \
+ trace_printk(fmt, ## __VA_ARGS__); \
+ } while (0)
+
+#define oecls_error(fmt, ...) \
+ do { \
+ pr_err("oenetcls [%s:%d]: " fmt, __FILE__, __LINE__, ## __VA_ARGS__); \
+ trace_printk(fmt, ## __VA_ARGS__); \
+ } while (0)
+
+struct oecls_netdev_info *get_oecls_netdev_info(unsigned int index);
+
+#define for_each_oecls_netdev(devid, oecls_dev) \
+ for (devid = 0, oecls_dev = get_oecls_netdev_info(devid); \
+ (devid < oecls_netdev_num) && oecls_dev; \
+ devid++, oecls_dev = get_oecls_netdev_info(devid))
+
+struct oecls_numa_info *get_oecls_numa_info(unsigned int nid);
+
+#define for_each_oecls_numa(nid, numa_info) \
+ for (nid = 0, numa_info = get_oecls_numa_info(nid); \
+ (nid < oecls_numa_num) && numa_info; \
+ nid++, numa_info = get_oecls_numa_info(nid))
+
+#ifdef CONFIG_ARM64_SVE
+void *__memcpy_aarch64_sve(void *, const void *, size_t);
+#define memcpy_r(dst, src, len) \
+ do { \
+ if (system_supports_sve()) \
+ __memcpy_aarch64_sve(dst, src, len); \
+ else \
+ memcpy(dst, src, len); \
+ } while (0)
+#else
+#define memcpy_r(dst, src, len) memcpy(dst, src, len)
+#endif
+
+int check_appname(char *task_name);
+int send_ethtool_ioctl(struct cmd_context *ctx, void *cmd);
+int alloc_rxq_id(int nid, int devid);
+void free_rxq_id(int nid, int devid, int rxq_id);
+void oecls_ntuple_res_init(void);
+void oecls_ntuple_res_clean(void);
+void oecls_flow_res_init(void);
+void oecls_flow_res_clean(void);
+
+#define L0_MAX_PAGE_SIZE (8192)
+#define L0_MAX_PAGE_NUM (4096)
+
+struct l0_vma_data {
+ struct page *page;
+ unsigned long size;
+ int nid;
+};
+
+void clean_oecls_l0_cache(void);
+void init_oecls_l0_cache(void);
+void *alloc_from_l0(int size);
+void free_to_l0(void *addr);
+int l3t_shared_lock(int nid, unsigned long pfn, unsigned long size);
+int l3t_shared_unlock(int nid, unsigned long pfn, unsigned long size);
+
+#endif /* _NET_OENETCLS_H */
diff --git a/net/oenetcls/oenetcls_flow.c b/net/oenetcls/oenetcls_flow.c
new file mode 100644
index 000000000000..c35ce5aca416
--- /dev/null
+++ b/net/oenetcls/oenetcls_flow.c
@@ -0,0 +1,402 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/inetdevice.h>
+#include <linux/netdevice.h>
+#include <linux/rtnetlink.h>
+#include <linux/irq.h>
+#include <linux/irqdesc.h>
+#include <linux/inet.h>
+#include <net/sock.h>
+#include <trace/hooks/oenetcls.h>
+#include "oenetcls.h"
+
+static u32 oecls_cpu_mask;
+static struct oecls_sock_flow_table __rcu *oecls_sock_flow_table;
+static DEFINE_MUTEX(oecls_sock_flow_mutex);
+static DEFINE_SPINLOCK(oecls_dev_flow_lock);
+
+bool is_oecls_config_netdev(const char *name)
+{
+ struct oecls_netdev_info *netdev_info;
+ int netdev_loop;
+
+ for_each_oecls_netdev(netdev_loop, netdev_info)
+ if (strcmp(netdev_info->dev_name, name) == 0)
+ return true;
+
+ return false;
+}
+
+static void oecls_timeout(void *data, struct net_device *dev, u16 rxq_index,
+ u32 flow_id, u16 filter_id, bool *ret)
+{
+ struct netdev_rx_queue *rxqueue = dev->_rx + rxq_index;
+ struct oecls_dev_flow_table *flow_table;
+ struct oecls_dev_flow *rflow;
+ bool expire = true;
+ unsigned int cpu;
+
+ rcu_read_lock();
+ flow_table = rcu_dereference(rxqueue->oecls_ftb);
+ if (flow_table && flow_id <= flow_table->mask) {
+ rflow = &flow_table->flows[flow_id];
+ cpu = READ_ONCE(rflow->cpu);
+ oecls_debug("dev:%s, rxq:%d, flow_id:%u, filter_id:%d/%d, cpu:%d", dev->name,
+ rxq_index, flow_id, filter_id, rflow->filter, cpu);
+
+ if (rflow->filter == filter_id && cpu < nr_cpu_ids) {
+ if (time_before(jiffies, rflow->timeout + OECLS_TIMEOUT)) {
+ expire = false;
+ } else {
+ rflow->isvalid = 0;
+ WRITE_ONCE(rflow->cpu, OECLS_NO_CPU);
+ }
+ }
+ }
+ rcu_read_unlock();
+ oecls_debug("%s, dev:%s, rxq:%d, flow_id:%u, filter_id:%d, expire:%d\n", __func__,
+ dev->name, rxq_index, flow_id, filter_id, expire);
+ *ret = expire;
+}
+
+static void oecls_flow_update(void *data, struct sock *sk)
+{
+ struct oecls_sock_flow_table *tb;
+ unsigned int hash, index;
+ u32 val;
+ u32 cpu = raw_smp_processor_id();
+
+ if (sk->sk_state != TCP_ESTABLISHED)
+ return;
+
+ if (check_appname(current->comm))
+ return;
+
+ rcu_read_lock();
+ tb = rcu_dereference(oecls_sock_flow_table);
+ hash = READ_ONCE(sk->sk_rxhash);
+ if (tb && hash) {
+ index = hash & tb->mask;
+ val = hash & ~oecls_cpu_mask;
+ val |= cpu;
+
+ if (READ_ONCE(tb->ents[index]) != val) {
+ WRITE_ONCE(tb->ents[index], val);
+
+ oecls_debug("[%s] sk:%p, hash:0x%x, index:0x%x, val:0x%x, cpu:%d\n",
+ current->comm, sk, hash, index, val, cpu);
+ }
+ }
+ rcu_read_unlock();
+}
+
+static int flow_get_queue_idx(struct net_device *dev, int nid, struct sk_buff *skb)
+{
+ struct oecls_netdev_info *netdev_info;
+ int netdev_loop;
+ u32 hash, index;
+ struct oecls_numa_info *numa_info;
+ struct oecls_numa_bound_dev_info *bound_dev = NULL;
+ int rxq_id, rxq_num, i;
+
+ numa_info = get_oecls_numa_info(nid);
+ if (!numa_info)
+ return -1;
+
+ for_each_oecls_netdev(netdev_loop, netdev_info) {
+ if (strcmp(netdev_info->dev_name, dev->name) == 0) {
+ bound_dev = &numa_info->bound_dev[netdev_loop];
+ break;
+ }
+ }
+
+ if (!bound_dev)
+ return -1;
+ rxq_num = bitmap_weight(bound_dev->bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV);
+ if (rxq_num == 0)
+ return -1;
+
+ hash = skb_get_hash(skb);
+ index = hash % rxq_num;
+
+ i = 0;
+ for_each_set_bit(rxq_id, bound_dev->bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV)
+ if (index == i++)
+ return rxq_id;
+
+ return -1;
+}
+
+static void set_oecls_cpu(struct net_device *dev, struct sk_buff *skb,
+ struct oecls_dev_flow *old_rflow, int old_rxq_id, u16 next_cpu)
+{
+ struct netdev_rx_queue *rxqueue;
+ struct oecls_dev_flow_table *dtb;
+ struct oecls_dev_flow *rflow;
+ u32 flow_id, hash;
+ u16 rxq_index;
+ int rc;
+
+ if (!skb_rx_queue_recorded(skb) || !dev->rx_cpu_rmap ||
+ !(dev->features & NETIF_F_NTUPLE))
+ return;
+
+ rxq_index = flow_get_queue_idx(dev, cpu_to_node(next_cpu), skb);
+ if (rxq_index == skb_get_rx_queue(skb) || rxq_index < 0)
+ return;
+
+ rxqueue = dev->_rx + rxq_index;
+ dtb = rcu_dereference(rxqueue->oecls_ftb);
+ if (!dtb)
+ return;
+
+ hash = skb_get_hash(skb);
+ flow_id = hash & dtb->mask;
+ rflow = &dtb->flows[flow_id];
+ if (rflow->isvalid && rflow->cpu == next_cpu) {
+ rflow->timeout = jiffies;
+ return;
+ }
+
+ rc = dev->netdev_ops->ndo_rx_flow_steer(dev, skb, rxq_index, flow_id);
+ oecls_debug("skb:%p, rxq:%d, hash:0x%x, flow_id:%u, old_rxq_id:%d, next_cpu:%d, rc:%d\n",
+ skb, rxq_index, hash, flow_id, old_rxq_id, next_cpu, rc);
+ if (rc < 0)
+ return;
+
+ rflow->filter = rc;
+ rflow->isvalid = 1;
+ rflow->timeout = jiffies;
+ if (old_rflow->filter == rflow->filter)
+ old_rflow->filter = OECLS_NO_FILTER;
+ rflow->cpu = next_cpu;
+}
+
+static void __oecls_set_cpu(struct sk_buff *skb, struct net_device *ndev,
+ struct oecls_sock_flow_table *tb, struct oecls_dev_flow_table *dtb,
+ int old_rxq_id)
+{
+ struct oecls_dev_flow *rflow;
+ u32 last_recv_cpu, hash, val;
+ u32 tcpu = 0;
+ u32 cpu = raw_smp_processor_id();
+
+ skb_reset_network_header(skb);
+ hash = skb_get_hash(skb);
+ if (!hash)
+ return;
+
+ val = READ_ONCE(tb->ents[hash & tb->mask]);
+ last_recv_cpu = val & oecls_cpu_mask;
+ rflow = &dtb->flows[hash & dtb->mask];
+ tcpu = rflow->cpu;
+
+ if ((val ^ hash) & ~oecls_cpu_mask)
+ return;
+
+ if (cpu_to_node(cpu) == cpu_to_node(last_recv_cpu))
+ return;
+
+ if (tcpu >= nr_cpu_ids)
+ set_oecls_cpu(ndev, skb, rflow, old_rxq_id, last_recv_cpu);
+}
+
+static void oecls_set_cpu(void *data, struct sk_buff *skb)
+{
+ struct net_device *ndev = skb->dev;
+ struct oecls_sock_flow_table *stb;
+ struct oecls_dev_flow_table *dtb;
+ struct netdev_rx_queue *rxqueue;
+ int rxq_id = -1;
+
+ if (!ndev)
+ return;
+
+ if (!is_oecls_config_netdev(ndev->name))
+ return;
+
+ rxqueue = ndev->_rx;
+ if (skb_rx_queue_recorded(skb)) {
+ rxq_id = skb_get_rx_queue(skb);
+ if (rxq_id >= ndev->real_num_rx_queues) {
+ oecls_debug("ndev:%s, rxq:%d, real_num:%d\n", ndev->name,
+ rxq_id, ndev->real_num_rx_queues);
+ return;
+ }
+ rxqueue += rxq_id;
+ }
+
+ // oecls_debug("skb:%px, dev:%s, rxq_id:%d\n", skb, ndev->name, rxq_id);
+ if (rxq_id < 0)
+ return;
+
+ rcu_read_lock();
+ stb = rcu_dereference(oecls_sock_flow_table);
+ dtb = rcu_dereference(rxqueue->oecls_ftb);
+ if (stb && dtb)
+ __oecls_set_cpu(skb, ndev, stb, dtb, rxq_id);
+
+ rcu_read_unlock();
+}
+
+static void oecls_dev_flow_table_free(struct rcu_head *rcu)
+{
+ struct oecls_dev_flow_table *table = container_of(rcu,
+ struct oecls_dev_flow_table, rcu);
+ vfree(table);
+}
+
+static void oecls_dev_flow_table_cleanup(struct net_device *netdev, int qid)
+{
+ struct oecls_dev_flow_table *dtb;
+ struct netdev_rx_queue *queue;
+ int i;
+
+ spin_lock(&oecls_dev_flow_lock);
+ for (i = 0; i < qid; i++) {
+ queue = netdev->_rx + i;
+ dtb = rcu_dereference_protected(queue->oecls_ftb,
+ lockdep_is_held(&oecls_dev_flow_lock));
+ rcu_assign_pointer(queue->oecls_ftb, NULL);
+ }
+ spin_unlock(&oecls_dev_flow_lock);
+ call_rcu(&dtb->rcu, oecls_dev_flow_table_free);
+}
+
+static int oecls_dev_flow_table_release(void)
+{
+ struct oecls_netdev_info *netdev_info;
+ int netdev_loop;
+ struct net_device *netdev;
+
+ for_each_oecls_netdev(netdev_loop, netdev_info) {
+ netdev = netdev_info->netdev;
+ if (!netdev)
+ continue;
+ oecls_dev_flow_table_cleanup(netdev, netdev->num_rx_queues);
+ }
+
+ return 0;
+}
+
+static int _oecls_dev_flow_table_init(struct net_device *netdev)
+{
+ struct oecls_dev_flow_table *table;
+ int size = OECLS_DEV_FLOW_TABLE_NUM;
+ struct netdev_rx_queue *queue;
+ int i, j, ret = 0;
+
+ size = roundup_pow_of_two(size);
+ oecls_debug("dev:%s, num_rx_queues:%d, mask:0x%x\n", netdev->name, netdev->num_rx_queues,
+ size - 1);
+
+ for (i = 0; i < netdev->num_rx_queues; i++) {
+ table = vmalloc(OECLS_DEV_FLOW_TABLE_SIZE(size));
+ if (!table) {
+ ret = -ENOMEM;
+ goto fail;
+ }
+
+ table->mask = size - 1;
+ for (j = 0; j < size; j++) {
+ table->flows[j].cpu = OECLS_NO_CPU;
+ table->flows[j].isvalid = 0;
+ }
+
+ queue = netdev->_rx + i;
+
+ spin_lock(&oecls_dev_flow_lock);
+ rcu_assign_pointer(queue->oecls_ftb, table);
+ spin_unlock(&oecls_dev_flow_lock);
+ }
+ return ret;
+fail:
+ oecls_dev_flow_table_cleanup(netdev, i);
+ return ret;
+}
+
+static int oecls_dev_flow_table_init(void)
+{
+ struct oecls_netdev_info *netdev_info;
+ int netdev_loop;
+ struct net_device *ndev;
+ int i, err;
+
+ for_each_oecls_netdev(netdev_loop, netdev_info) {
+ ndev = netdev_info->netdev;
+ if (!ndev)
+ continue;
+ err = _oecls_dev_flow_table_init(ndev);
+ if (err)
+ goto out;
+ }
+
+ return 0;
+out:
+ for (i = 0; i < netdev_loop; i++) {
+ netdev_info = get_oecls_netdev_info(i);
+ ndev = netdev_info->netdev;
+ if (!ndev)
+ continue;
+ oecls_dev_flow_table_cleanup(ndev, ndev->num_rx_queues);
+ }
+ return err;
+}
+
+static int oecls_sock_flow_table_release(void)
+{
+ struct oecls_sock_flow_table *tb;
+
+ mutex_lock(&oecls_sock_flow_mutex);
+ tb = rcu_dereference_protected(oecls_sock_flow_table,
+ lockdep_is_held(&oecls_sock_flow_mutex));
+ if (tb)
+ rcu_assign_pointer(oecls_sock_flow_table, NULL);
+ mutex_unlock(&oecls_sock_flow_mutex);
+ synchronize_rcu();
+ vfree(tb);
+
+ unregister_trace_oecls_flow_update(&oecls_flow_update, NULL);
+ unregister_trace_oecls_set_cpu(&oecls_set_cpu, NULL);
+ unregister_trace_oecls_timeout(&oecls_timeout, NULL);
+ return 0;
+}
+
+static int oecls_sock_flow_table_init(void)
+{
+ struct oecls_sock_flow_table *table;
+ int size = OECLS_SOCK_FLOW_TABLE_NUM;
+ int i;
+
+ size = roundup_pow_of_two(size);
+ table = vmalloc(OECLS_SOCK_FLOW_TABLE_SIZE(size));
+ if (!table)
+ return -ENOMEM;
+
+ oecls_cpu_mask = roundup_pow_of_two(nr_cpu_ids) - 1;
+ oecls_debug("nr_cpu_ids:%d, oecls_cpu_mask:0x%x\n", nr_cpu_ids, oecls_cpu_mask);
+
+ table->mask = size - 1;
+ for (i = 0; i < size; i++)
+ table->ents[i] = OECLS_NO_CPU;
+
+ mutex_lock(&oecls_sock_flow_mutex);
+ rcu_assign_pointer(oecls_sock_flow_table, table);
+ mutex_unlock(&oecls_sock_flow_mutex);
+
+ register_trace_oecls_flow_update(oecls_flow_update, NULL);
+ register_trace_oecls_set_cpu(&oecls_set_cpu, NULL);
+ register_trace_oecls_timeout(&oecls_timeout, NULL);
+ return 0;
+}
+
+void oecls_flow_res_init(void)
+{
+ oecls_sock_flow_table_init();
+ oecls_dev_flow_table_init();
+}
+
+void oecls_flow_res_clean(void)
+{
+ oecls_sock_flow_table_release();
+ oecls_dev_flow_table_release();
+}
diff --git a/net/oenetcls/oenetcls_l0.c b/net/oenetcls/oenetcls_l0.c
new file mode 100644
index 000000000000..b820a1cf96bd
--- /dev/null
+++ b/net/oenetcls/oenetcls_l0.c
@@ -0,0 +1,193 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/fs.h>
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/miscdevice.h>
+#include <linux/kallsyms.h>
+#include <linux/mm.h>
+#include <linux/gfp.h>
+#include <linux/mempolicy.h>
+#include <linux/pfn_t.h>
+#include <linux/delay.h>
+#include "oenetcls.h"
+
+static struct vm_area_struct *oecls_l0_cache __ro_after_init;
+static void *oecls_l0_cache_head;
+static atomic_t alloc_num_l0 = ATOMIC_INIT(0);
+static int cur_offset_l0;
+static u8 slot_l0[L0_MAX_PAGE_NUM] = { 0 };
+
+void *alloc_from_l0(int size)
+{
+ int i;
+ void *addr = NULL;
+
+ if (!oecls_l0_cache_head)
+ return kzalloc(size, GFP_ATOMIC);
+
+ if (size > L0_MAX_PAGE_SIZE) {
+ oecls_error("size(%d) >= max_size(%d)!\n", size, L0_MAX_PAGE_SIZE);
+ return NULL;
+ }
+
+ if (atomic_read(&alloc_num_l0) >= L0_MAX_PAGE_NUM) {
+ oecls_error("alloc_num_l0:%d exceed max num!\n", atomic_read(&alloc_num_l0));
+ return NULL;
+ }
+
+ for (i = 0; i < L0_MAX_PAGE_NUM; i++) {
+ cur_offset_l0 = (cur_offset_l0 + 1) % L0_MAX_PAGE_NUM;
+ if (slot_l0[cur_offset_l0] == 0) {
+ addr = oecls_l0_cache_head + cur_offset_l0 * L0_MAX_PAGE_SIZE;
+ atomic_inc(&alloc_num_l0);
+ slot_l0[cur_offset_l0] = 1;
+ break;
+ }
+ }
+
+ if (!addr)
+ oecls_error("app:%s, pid:%d alloc fail!\n", current->comm, current->pid);
+ return addr;
+}
+
+void free_to_l0(void *addr)
+{
+ int offset = 0;
+
+ if (!addr)
+ return;
+
+ if (!oecls_l0_cache_head) {
+ kfree(addr);
+ return;
+ }
+
+ if (atomic_read(&alloc_num_l0) <= 0) {
+ oecls_error("alloc_num_l0:%d <= 0!\n", atomic_read(&alloc_num_l0));
+ return;
+ }
+
+ offset = (addr - oecls_l0_cache_head) / L0_MAX_PAGE_SIZE;
+ if (offset >= L0_MAX_PAGE_NUM) {
+ oecls_error("app:%s, pid:%d, offset:%d\n", current->comm, current->pid, offset);
+ return;
+ }
+
+ slot_l0[offset] = 0;
+ atomic_dec(&alloc_num_l0);
+}
+
+static int get_node_node(struct vm_area_struct *vma)
+{
+ struct mempolicy *pol;
+ nodemask_t *nmask;
+ int nid;
+
+ nid = get_vma_policy_node(vma, vma->vm_start, GFP_KERNEL, &pol, &nmask);
+ if (pol->mode == MPOL_BIND || pol->mode == MPOL_PREFERRED_MANY)
+ nid = first_node(*nmask);
+
+ return nid;
+}
+
+static int oecls_l0_cache_mmap(struct file *filp, struct vm_area_struct *vma)
+{
+ unsigned long cont_size = PAGE_ALIGN(vma->vm_end - vma->vm_start);
+ struct page *page = NULL;
+ struct l0_vma_data *data;
+ int page_cnt, nid;
+ int ret = 0;
+
+ if ((vma->vm_start % PMD_SIZE) || (vma->vm_end % PMD_SIZE)) {
+ oecls_error("error vma_start: %#lx, vma_end: %#lx\n", vma->vm_start, vma->vm_end);
+ return -EINVAL;
+ }
+
+ data = kzalloc(sizeof(*data), GFP_KERNEL);
+ if (!data) {
+ oecls_error("kzalloc l0_vma_data fail!\n");
+ return -ENOMEM;
+ }
+
+ page_cnt = cont_size >> PAGE_SHIFT;
+ nid = get_node_node(vma);
+#ifdef CONFIG_CONTIG_ALLOC
+ page = alloc_contig_pages(page_cnt, GFP_KERNEL, nid, NULL);
+#endif
+ if (!page) {
+ ret = -ENOMEM;
+ oecls_error("alloc_contig_pages fail! page_cnt:%d, nid:%d\n", page_cnt, nid);
+ goto free_data;
+ }
+
+#if IS_ENABLED(CONFIG_HISI_L3T)
+ ret = l3t_shared_lock(nid, page_to_pfn(page), cont_size);
+#endif
+ if (ret) {
+ ret = -EOPNOTSUPP;
+ oecls_error("l3t_shared_lock fail! ret: %d\n", ret);
+ goto free_page;
+ }
+
+ data->page = page;
+ data->size = cont_size;
+ data->nid = nid;
+ vma->vm_private_data = data;
+ return 0;
+free_page:
+ free_contig_range(page_to_pfn(page), page_cnt);
+free_data:
+ kfree(data);
+ return ret;
+}
+
+void init_oecls_l0_cache(void)
+{
+ int ret = 0;
+ struct l0_vma_data *sbkpages;
+
+ oecls_l0_cache = kzalloc(sizeof(*oecls_l0_cache), GFP_KERNEL);
+ if (!oecls_l0_cache) {
+ oecls_error("kzalloc oecls_l0_cache fail!\n");
+ return;
+ }
+ oecls_l0_cache->vm_start = 0;
+ oecls_l0_cache->vm_end = L0_MAX_PAGE_NUM * L0_MAX_PAGE_SIZE;
+
+ ret = oecls_l0_cache_mmap(NULL, oecls_l0_cache);
+ if (ret != 0) {
+ kfree(oecls_l0_cache);
+ oecls_l0_cache = NULL;
+ return;
+ }
+ sbkpages = (struct l0_vma_data *)(oecls_l0_cache->vm_private_data);
+ oecls_l0_cache_head = page_to_virt(sbkpages->page);
+
+ atomic_set(&alloc_num_l0, 0);
+ oecls_debug("l0_cache:%p, l0_cache_head:%p\n", oecls_l0_cache, oecls_l0_cache_head);
+}
+
+void clean_oecls_l0_cache(void)
+{
+ struct l0_vma_data *sbkpages;
+
+ if (!oecls_l0_cache)
+ return;
+
+ oecls_debug("alloc_num_l0:%d\n", atomic_read(&alloc_num_l0));
+ while (atomic_read(&alloc_num_l0) != 0)
+ mdelay(1);
+
+ sbkpages = (struct l0_vma_data *)(oecls_l0_cache->vm_private_data);
+ if (sbkpages) {
+#if IS_ENABLED(CONFIG_HISI_L3T)
+ l3t_shared_unlock(sbkpages->nid, page_to_pfn(sbkpages->page), sbkpages->size);
+#endif
+ free_contig_range(page_to_pfn(sbkpages->page), sbkpages->size >> PAGE_SHIFT);
+ kfree(sbkpages);
+ oecls_l0_cache_head = NULL;
+ }
+
+ kfree(oecls_l0_cache);
+}
diff --git a/net/oenetcls/oenetcls_main.c b/net/oenetcls/oenetcls_main.c
new file mode 100644
index 000000000000..8cf5d02bb5b9
--- /dev/null
+++ b/net/oenetcls/oenetcls_main.c
@@ -0,0 +1,972 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/module.h>
+#include <linux/netdevice.h>
+#include <linux/netdev_features.h>
+#include <linux/ethtool.h>
+#include <linux/irq.h>
+#include <linux/irqdesc.h>
+#include <linux/rtnetlink.h>
+#include "oenetcls.h"
+
+int oecls_netdev_num;
+static struct oecls_netdev_info oecls_netdev_info_table[OECLS_MAX_NETDEV_NUM];
+
+int oecls_numa_num;
+static struct oecls_numa_info oecls_numa_info_table[OECLS_MAX_NUMA_NUM];
+
+int debug;
+module_param(debug, int, 0644);
+MODULE_PARM_DESC(debug, "debug switch");
+
+static int mode;
+module_param(mode, int, 0444);
+MODULE_PARM_DESC(mode, "mode, default 0");
+
+static char ifname[64] = { 0 };
+module_param_string(ifname, ifname, sizeof(ifname), 0444);
+MODULE_PARM_DESC(ifname, "ifname");
+
+static char appname[64] = "redis-server";
+module_param_string(appname, appname, sizeof(appname), 0644);
+MODULE_PARM_DESC(appname, "appname, default redis-server");
+
+int match_ip_flag = 1;
+module_param(match_ip_flag, int, 0644);
+MODULE_PARM_DESC(match_ip_flag, "match ip flag");
+
+static int strategy;
+module_param(strategy, int, 0444);
+MODULE_PARM_DESC(strategy, "strategy, default 0");
+
+static bool check_params(void)
+{
+ if (mode != 0 && mode != 1)
+ return false;
+
+ if (strlen(ifname) == 0)
+ return false;
+
+ return true;
+}
+
+int check_appname(char *task_name)
+{
+ char *start = appname;
+ char *end;
+
+ if (!strlen(appname))
+ return 0;
+
+ // support appname: app1#app2#appN
+ while (*start != '\0') {
+ end = strchr(start, '#');
+ if (end == start) {
+ start++;
+ continue;
+ }
+
+ if (!end) {
+ if (!strncmp(task_name, start, strlen(start)))
+ return 0;
+ break;
+ }
+
+ if (!strncmp(task_name, start, end - start))
+ return 0;
+ start = end + 1;
+ }
+ return -EOPNOTSUPP;
+}
+
+static u32 __ethtool_get_flags(struct net_device *dev)
+{
+ u32 flags = 0;
+
+ if (dev->features & NETIF_F_LRO)
+ flags |= ETH_FLAG_LRO;
+ if (dev->features & NETIF_F_HW_VLAN_CTAG_RX)
+ flags |= ETH_FLAG_RXVLAN;
+ if (dev->features & NETIF_F_HW_VLAN_CTAG_TX)
+ flags |= ETH_FLAG_TXVLAN;
+ if (dev->features & NETIF_F_NTUPLE)
+ flags |= ETH_FLAG_NTUPLE;
+ if (dev->features & NETIF_F_RXHASH)
+ flags |= ETH_FLAG_RXHASH;
+
+ return flags;
+}
+
+static int __ethtool_set_flags(struct net_device *dev, u32 data)
+{
+ netdev_features_t features = 0, changed;
+
+ if (data & ~ETH_ALL_FLAGS)
+ return -EINVAL;
+
+ if (data & ETH_FLAG_LRO)
+ features |= NETIF_F_LRO;
+ if (data & ETH_FLAG_RXVLAN)
+ features |= NETIF_F_HW_VLAN_CTAG_RX;
+ if (data & ETH_FLAG_TXVLAN)
+ features |= NETIF_F_HW_VLAN_CTAG_TX;
+ if (data & ETH_FLAG_NTUPLE)
+ features |= NETIF_F_NTUPLE;
+ if (data & ETH_FLAG_RXHASH)
+ features |= NETIF_F_RXHASH;
+
+ /* allow changing only bits set in hw_features */
+ changed = (features ^ dev->features) & ETH_ALL_FEATURES;
+ if (changed & ~dev->hw_features)
+ return (changed & dev->hw_features) ? -EINVAL : -EOPNOTSUPP;
+
+ dev->wanted_features =
+ (dev->wanted_features & ~changed) | (features & changed);
+
+ __netdev_update_features(dev);
+
+ return 0;
+}
+
+static void ethtool_rxnfc_copy_to_user(void *useraddr,
+ const struct ethtool_rxnfc *rxnfc,
+ size_t size, const u32 *rule_buf)
+{
+ memcpy_r(useraddr, rxnfc, size);
+ useraddr += offsetof(struct ethtool_rxnfc, rule_locs);
+
+ if (rule_buf)
+ memcpy_r(useraddr, rule_buf, rxnfc->rule_cnt * sizeof(u32));
+}
+
+static noinline_for_stack int ethtool_set_rxnfc(struct net_device *dev,
+ u32 cmd, void *useraddr)
+{
+ struct ethtool_rxnfc info;
+ size_t info_size = sizeof(info);
+ int rc;
+
+ if (!dev->ethtool_ops->set_rxnfc)
+ return -EOPNOTSUPP;
+
+ if (cmd == ETHTOOL_SRXFH)
+ info_size = (offsetof(struct ethtool_rxnfc, data) +
+ sizeof(info.data));
+
+ memcpy_r(&info, useraddr, info_size);
+ rc = dev->ethtool_ops->set_rxnfc(dev, &info);
+ if (rc)
+ return rc;
+
+ if (cmd == ETHTOOL_SRXCLSRLINS)
+ ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, NULL);
+
+ return 0;
+}
+
+static noinline_for_stack int ethtool_get_rxnfc(struct net_device *dev,
+ u32 cmd, void *useraddr)
+{
+ struct ethtool_rxnfc info;
+ size_t info_size = sizeof(info);
+ const struct ethtool_ops *ops = dev->ethtool_ops;
+ int ret;
+ void *rule_buf = NULL;
+
+ if (!ops->get_rxnfc)
+ return -EOPNOTSUPP;
+
+ if (cmd == ETHTOOL_GRXFH)
+ info_size = (offsetof(struct ethtool_rxnfc, data) +
+ sizeof(info.data));
+
+ memcpy_r(&info, useraddr, info_size);
+
+ /* If FLOW_RSS was requested then user-space must be using the
+ * new definition, as FLOW_RSS is newer.
+ */
+ if (cmd == ETHTOOL_GRXFH && info.flow_type & FLOW_RSS) {
+ info_size = sizeof(info);
+ memcpy_r(&info, useraddr, info_size);
+ /* Since malicious users may modify the original data,
+ * we need to check whether FLOW_RSS is still requested.
+ */
+ if (!(info.flow_type & FLOW_RSS))
+ return -EINVAL;
+ }
+
+ if (info.cmd != cmd)
+ return -EINVAL;
+
+ if (info.cmd == ETHTOOL_GRXCLSRLALL) {
+ if (info.rule_cnt > 0) {
+ if (info.rule_cnt <= KMALLOC_MAX_SIZE / sizeof(u32))
+ rule_buf = kcalloc(info.rule_cnt, sizeof(u32),
+ GFP_KERNEL);
+ if (!rule_buf)
+ return -ENOMEM;
+ }
+ }
+
+ ret = ops->get_rxnfc(dev, &info, rule_buf);
+ if (ret < 0)
+ goto err_out;
+
+ ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, rule_buf);
+err_out:
+ kfree(rule_buf);
+
+ return ret;
+}
+
+static noinline_for_stack int ethtool_get_channels(struct net_device *dev,
+ void *useraddr)
+{
+ struct ethtool_channels channels = { .cmd = ETHTOOL_GCHANNELS };
+
+ if (!dev->ethtool_ops->get_channels)
+ return -EOPNOTSUPP;
+
+ dev->ethtool_ops->get_channels(dev, &channels);
+
+ memcpy_r(useraddr, &channels, sizeof(channels));
+ return 0;
+}
+
+static int ethtool_get_value(struct net_device *dev, char *useraddr,
+ u32 cmd, u32 (*actor)(struct net_device *))
+{
+ struct ethtool_value edata = { .cmd = cmd };
+
+ if (!actor)
+ return -EOPNOTSUPP;
+
+ edata.data = actor(dev);
+
+ memcpy_r(useraddr, &edata, sizeof(edata));
+ return 0;
+}
+
+static int ethtool_set_value(struct net_device *dev, char *useraddr,
+ int (*actor)(struct net_device *, u32))
+{
+ struct ethtool_value edata;
+
+ if (!actor)
+ return -EOPNOTSUPP;
+
+ memcpy_r(&edata, useraddr, sizeof(edata));
+
+ return actor(dev, edata.data);
+}
+
+static int dev_ethtool_kern(struct net *net, struct ifreq *ifr)
+{
+ struct net_device *dev = __dev_get_by_name(net, ifr->ifr_name);
+ void *useraddr = ifr->ifr_data;
+ u32 ethcmd, sub_cmd;
+ int rc;
+ netdev_features_t old_features;
+
+ if (!dev || !netif_device_present(dev))
+ return -ENODEV;
+
+ memcpy_r(ðcmd, useraddr, sizeof(ethcmd));
+
+ if (ethcmd == ETHTOOL_PERQUEUE)
+ memcpy_r(&sub_cmd, useraddr + sizeof(ethcmd), sizeof(sub_cmd));
+ else
+ sub_cmd = ethcmd;
+
+ /* Allow some commands to be done by anyone */
+ switch (sub_cmd) {
+ case ETHTOOL_GFLAGS:
+ case ETHTOOL_GRXFH:
+ case ETHTOOL_GRXRINGS:
+ case ETHTOOL_GRXCLSRLCNT:
+ case ETHTOOL_GRXCLSRULE:
+ case ETHTOOL_GRXCLSRLALL:
+ case ETHTOOL_GCHANNELS:
+ break;
+ default:
+ if (!ns_capable(net->user_ns, CAP_NET_ADMIN))
+ return -EPERM;
+ }
+
+ if (dev->ethtool_ops->begin) {
+ rc = dev->ethtool_ops->begin(dev);
+ if (rc < 0)
+ return rc;
+ }
+ old_features = dev->features;
+
+ switch (ethcmd) {
+ case ETHTOOL_GFLAGS:
+ rc = ethtool_get_value(dev, useraddr, ethcmd,
+ __ethtool_get_flags);
+ break;
+ case ETHTOOL_SFLAGS:
+ rc = ethtool_set_value(dev, useraddr, __ethtool_set_flags);
+ break;
+ case ETHTOOL_GRXFH:
+ case ETHTOOL_GRXRINGS:
+ case ETHTOOL_GRXCLSRLCNT:
+ case ETHTOOL_GRXCLSRULE:
+ case ETHTOOL_GRXCLSRLALL:
+ rc = ethtool_get_rxnfc(dev, ethcmd, useraddr);
+ break;
+ case ETHTOOL_SRXFH:
+ case ETHTOOL_SRXCLSRLDEL:
+ case ETHTOOL_SRXCLSRLINS:
+ rc = ethtool_set_rxnfc(dev, ethcmd, useraddr);
+ break;
+ case ETHTOOL_GCHANNELS:
+ rc = ethtool_get_channels(dev, useraddr);
+ break;
+ default:
+ rc = -EOPNOTSUPP;
+ }
+
+ if (dev->ethtool_ops->complete)
+ dev->ethtool_ops->complete(dev);
+
+ if (old_features != dev->features)
+ netdev_features_change(dev);
+
+ return rc;
+}
+
+int send_ethtool_ioctl(struct cmd_context *ctx, void *cmd)
+{
+ struct ifreq ifr = {0};
+ int ret;
+
+ strncpy(ifr.ifr_name, ctx->netdev, sizeof(ctx->netdev));
+ ifr.ifr_data = cmd;
+
+ rtnl_lock();
+ ret = dev_ethtool_kern(&init_net, &ifr);
+ rtnl_unlock();
+
+ return ret;
+}
+
+struct oecls_netdev_info *get_oecls_netdev_info(unsigned int index)
+{
+ if (index >= OECLS_MAX_NETDEV_NUM)
+ return NULL;
+ return &oecls_netdev_info_table[index];
+}
+
+static struct oecls_netdev_info *alloc_oecls_netdev_info(void)
+{
+ if (oecls_netdev_num >= OECLS_MAX_NETDEV_NUM)
+ return NULL;
+
+ return &oecls_netdev_info_table[oecls_netdev_num++];
+}
+
+static bool check_irq_name(const char *irq_name, struct oecls_netdev_info *oecls_dev)
+{
+ if (!strstr(irq_name, "TxRx") && !strstr(irq_name, "comp") && !strstr(irq_name, "rx"))
+ return false;
+
+ if (strstr(irq_name, oecls_dev->dev_name))
+ return true;
+
+ if (oecls_dev->netdev->dev.parent &&
+ strstr(irq_name, dev_name(oecls_dev->netdev->dev.parent)))
+ return true;
+
+ return false;
+}
+
+static void get_netdev_queue_info(struct oecls_netdev_info *oecls_dev)
+{
+ struct oecls_netdev_queue_info *rxq_info;
+ struct irq_desc *desc;
+ int irq;
+
+ for_each_irq_desc(irq, desc) {
+ if (!desc->action)
+ continue;
+ if (!desc->action->name)
+ continue;
+ if (!check_irq_name(desc->action->name, oecls_dev))
+ continue;
+
+ oecls_debug("irq=%d, [%s], rxq_id=%d\n", irq, desc->action->name,
+ oecls_dev->rxq_num);
+
+ if (oecls_dev->rxq_num >= OECLS_MAX_RXQ_NUM_PER_DEV)
+ break;
+ rxq_info = &oecls_dev->rxq[oecls_dev->rxq_num++];
+ rxq_info->irq = irq;
+ }
+}
+
+static int oecls_filter_enable(const char *dev_name, bool *old_state)
+{
+ struct ethtool_value eval = {0};
+ struct cmd_context ctx = {0};
+ int ret;
+
+ strncpy(ctx.netdev, dev_name, IFNAMSIZ);
+
+ eval.cmd = ETHTOOL_GFLAGS;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("get %s flags fail, ret:%d\n", dev_name, ret);
+ return ret;
+ }
+ if (eval.data & ETH_FLAG_NTUPLE) {
+ *old_state = true;
+ oecls_debug("%s ntuple is already on\n", dev_name);
+ return 0;
+ }
+
+ // Set ntuple feature
+ eval.cmd = ETHTOOL_SFLAGS;
+ eval.data |= ETH_FLAG_NTUPLE;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("set %s flags fail, ret:%d\n", dev_name, ret);
+ return ret;
+ }
+
+ // Get ntuple feature
+ eval.cmd = ETHTOOL_GFLAGS;
+ eval.data = 0;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("get %s flags fail, ret:%d\n", dev_name, ret);
+ return ret;
+ }
+ if (!(eval.data & ETH_FLAG_NTUPLE)) {
+ oecls_error("enable ntuple feature fail!\n");
+ return -EOPNOTSUPP;
+ }
+
+ return 0;
+}
+
+static void oecls_filter_restore(const char *dev_name, bool old_state)
+{
+ struct ethtool_value eval = {0};
+ struct cmd_context ctx = {0};
+ bool cur_filter_state;
+ int ret;
+
+ strncpy(ctx.netdev, dev_name, IFNAMSIZ);
+
+ eval.cmd = ETHTOOL_GFLAGS;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("get %s flags fail, ret:%d\n", dev_name, ret);
+ return;
+ }
+
+ cur_filter_state = (eval.data & ETH_FLAG_NTUPLE) ? true : false;
+ if (cur_filter_state == old_state)
+ return;
+
+ // Set ntuple feature
+ eval.cmd = ETHTOOL_SFLAGS;
+ if (old_state)
+ eval.data |= ETH_FLAG_NTUPLE;
+ else
+ eval.data &= ~ETH_FLAG_NTUPLE;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("set %s flags fail, ret:%d\n", dev_name, ret);
+ return;
+ }
+}
+
+static int init_single_oecls_dev(char *if_name, unsigned int length)
+{
+ struct oecls_netdev_info *oecls_dev;
+ char dev_name[IFNAMSIZ] = { 0 };
+ struct net_device *netdev;
+ int cpy_len = length < IFNAMSIZ ? length : IFNAMSIZ;
+ bool old_state = false;
+ int ret;
+
+ strncpy(dev_name, if_name, cpy_len);
+ netdev = dev_get_by_name(&init_net, dev_name);
+ if (!netdev) {
+ oecls_error("dev [%s] is not exist!\n", dev_name);
+ return -ENODEV;
+ }
+
+ if (!(netdev->flags & IFF_UP)) {
+ ret = -ENETDOWN;
+ oecls_error("dev:%s not up! flags=%d.\n", dev_name, netdev->flags);
+ goto out;
+ }
+
+ if (netdev->flags & IFF_LOOPBACK) {
+ ret = -EOPNOTSUPP;
+ oecls_error("Do not support loopback.\n");
+ goto out;
+ }
+
+ ret = oecls_filter_enable(dev_name, &old_state);
+ if (ret) {
+ oecls_error("dev [%s] not support ntuple! ret=%d\n", dev_name, ret);
+ goto out;
+ }
+
+ oecls_dev = alloc_oecls_netdev_info();
+ if (!oecls_dev) {
+ ret = -ENOMEM;
+ oecls_filter_restore(dev_name, old_state);
+ oecls_error("alloc oecls_dev fail! oecls_netdev_num:%d\n", oecls_netdev_num);
+ goto out;
+ }
+
+ memcpy_r(oecls_dev->dev_name, dev_name, IFNAMSIZ);
+ oecls_dev->old_filter_state = old_state;
+ oecls_dev->netdev = netdev;
+ get_netdev_queue_info(oecls_dev);
+ return 0;
+
+out:
+ dev_put(netdev);
+ return ret;
+}
+
+static void clean_oecls_netdev_info(void)
+{
+ struct oecls_netdev_info *oecls_dev;
+ struct net_device *netdev;
+ int devid;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ oecls_filter_restore(oecls_dev->dev_name, oecls_dev->old_filter_state);
+ netdev = oecls_dev->netdev;
+ if (netdev) {
+ oecls_dev->netdev = NULL;
+ dev_put(netdev);
+ }
+ }
+
+ oecls_netdev_num = 0;
+}
+
+static int init_oecls_netdev_info(char *netdev_str)
+{
+ char *start = netdev_str;
+ char *end;
+ int err = -ENODEV;
+
+ while (*start != '\0') {
+ // skip start #
+ end = strchr(start, '#');
+ if (end == start) {
+ start++;
+ continue;
+ }
+
+ // find the last ifname
+ if (!end) {
+ err = init_single_oecls_dev(start, strlen(start));
+ break;
+ }
+
+ err = init_single_oecls_dev(start, end - start);
+ if (err)
+ break;
+ start = end + 1;
+ }
+
+ return err;
+}
+
+struct oecls_numa_info *get_oecls_numa_info(unsigned int nid)
+{
+ if (nid >= OECLS_MAX_NUMA_NUM)
+ return NULL;
+ return &oecls_numa_info_table[nid];
+}
+
+static void clean_oecls_numa_info(void)
+{
+ oecls_numa_num = 0;
+}
+
+static void init_numa_avail_cpus(int nid, struct oecls_numa_info *numa_info)
+{
+ int cpu;
+
+ oecls_debug("numa node %d: %*pb, %*pbl\n", nid, cpumask_pr_args(cpumask_of_node(nid)),
+ cpumask_pr_args(cpumask_of_node(nid)));
+
+ bitmap_zero(numa_info->avail_cpus, OECLS_MAX_CPU_NUM);
+ for_each_cpu(cpu, cpumask_of_node(nid)) {
+ if (cpu >= OECLS_MAX_CPU_NUM)
+ return;
+ set_bit(cpu, numa_info->avail_cpus);
+ }
+}
+
+static void init_numa_rxq_bitmap(int nid, struct oecls_numa_info *numa_info)
+{
+ struct oecls_numa_bound_dev_info *bound_dev;
+ struct oecls_netdev_info *oecls_dev;
+ int bound_rxq_num;
+ int rxq_id;
+ int devid;
+ int cpu;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ bound_rxq_num = 0;
+ bound_dev = &numa_info->bound_dev[devid];
+ bitmap_zero(bound_dev->bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV);
+
+ for (rxq_id = 0; rxq_id < oecls_dev->rxq_num; rxq_id++) {
+ cpu = oecls_dev->rxq[rxq_id].affinity_cpu;
+ if (cpu_to_node(cpu) == nid) {
+ set_bit(rxq_id, bound_dev->bitmap_rxq);
+ bound_rxq_num++;
+ }
+ }
+
+ oecls_debug("nid:%d, dev_id:%d, dev:%s, rxq_num:%d, bit_num:%d, bitmap_rxq:%*pbl\n",
+ nid, devid, oecls_dev->dev_name, oecls_dev->rxq_num,
+ bound_rxq_num, OECLS_MAX_RXQ_NUM_PER_DEV, bound_dev->bitmap_rxq);
+ }
+}
+
+int alloc_rxq_id(int nid, int devid)
+{
+ struct oecls_numa_bound_dev_info *bound_dev;
+ struct oecls_numa_info *numa_info;
+ int rxq_id;
+
+ numa_info = get_oecls_numa_info(nid);
+ if (!numa_info) {
+ oecls_error("error nid:%d\n", nid);
+ return -EINVAL;
+ }
+
+ if (devid >= OECLS_MAX_NETDEV_NUM) {
+ oecls_error("error bound_dev index:%d\n", devid);
+ return -EINVAL;
+ }
+ bound_dev = &numa_info->bound_dev[devid];
+
+ rxq_id = find_first_bit(bound_dev->bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV);
+ if (rxq_id >= OECLS_MAX_RXQ_NUM_PER_DEV) {
+ oecls_error("error rxq_id:%d\n", rxq_id);
+ return -EINVAL;
+ }
+
+ clear_bit(rxq_id, bound_dev->bitmap_rxq);
+ oecls_debug("alloc nid:%d, dev_id:%d, rxq_id:%d\n", nid, devid, rxq_id);
+ return rxq_id;
+}
+
+void free_rxq_id(int nid, int devid, int rxq_id)
+{
+ struct oecls_numa_bound_dev_info *bound_dev;
+ struct oecls_numa_info *numa_info;
+
+ numa_info = get_oecls_numa_info(nid);
+ if (!numa_info) {
+ oecls_error("error nid:%d\n", nid);
+ return;
+ }
+
+ if (devid >= OECLS_MAX_NETDEV_NUM) {
+ oecls_error("error bound_dev index:%d\n", devid);
+ return;
+ }
+ bound_dev = &numa_info->bound_dev[devid];
+
+ if (rxq_id >= OECLS_MAX_RXQ_NUM_PER_DEV) {
+ oecls_error("error rxq_id:%d\n", rxq_id);
+ return;
+ }
+
+ if (test_bit(rxq_id, bound_dev->bitmap_rxq)) {
+ oecls_error("error nid:%d, devid:%d, rxq_id:%d\n", nid, devid, rxq_id);
+ return;
+ }
+
+ set_bit(rxq_id, bound_dev->bitmap_rxq);
+ oecls_debug("free nid:%d, dev_id:%d, rxq_id:%d\n", nid, devid, rxq_id);
+}
+
+static void init_oecls_numa_info(void)
+{
+ struct oecls_numa_info *numa_info;
+ unsigned int numa_num;
+ int nid;
+
+ numa_num = num_online_nodes();
+ if (numa_num > OECLS_MAX_NUMA_NUM) {
+ oecls_error("online numa num:%d is too much!\n", numa_num);
+ numa_num = OECLS_MAX_NUMA_NUM;
+ }
+ oecls_numa_num = numa_num;
+ oecls_debug("set oecls_numa_num=%d\n", numa_num);
+
+ for_each_oecls_numa(nid, numa_info)
+ init_numa_avail_cpus(nid, numa_info);
+}
+
+static int alloc_available_cpu(int nid, struct oecls_numa_info *numa_info)
+{
+ int cpu;
+
+ cpu = find_first_bit(numa_info->avail_cpus, OECLS_MAX_CPU_NUM);
+ if (cpu >= OECLS_MAX_CPU_NUM) {
+ oecls_error("no available cpus: nid=%d, cpu=%d\n", nid, cpu);
+ return -1;
+ }
+
+ clear_bit(cpu, numa_info->avail_cpus);
+ return cpu;
+}
+
+static void add_netdev_irq_affinity_cpu(struct oecls_netdev_info *oecls_dev, int rxq_id, int cpu)
+{
+ struct oecls_netdev_queue_info *rxq_info;
+
+ if (rxq_id >= OECLS_MAX_RXQ_NUM_PER_DEV)
+ return;
+
+ rxq_info = &oecls_dev->rxq[rxq_id];
+ rxq_info->affinity_cpu = cpu;
+}
+
+static void config_affinity_strategy_default(struct oecls_netdev_info *oecls_dev)
+{
+ struct oecls_numa_info *numa_info;
+ int rxq_num = oecls_dev->rxq_num;
+ int rxq_per_numa = rxq_num / oecls_numa_num;
+ int remain = rxq_num - rxq_per_numa * oecls_numa_num;
+ int numa_rxq_id;
+ int rxq_id;
+ int nid;
+ int cpu;
+
+ oecls_debug("dev=%s, rxq_num=%d, rxq_per_numa=%d, remain=%d\n", oecls_dev->dev_name,
+ rxq_num, rxq_per_numa, remain);
+
+ // average config rxq to every numa
+ for_each_oecls_numa(nid, numa_info) {
+ for (numa_rxq_id = 0; numa_rxq_id < rxq_per_numa; numa_rxq_id++) {
+ cpu = alloc_available_cpu(nid, numa_info);
+ if (cpu < 0)
+ break;
+
+ rxq_id = rxq_per_numa * nid + numa_rxq_id;
+ add_netdev_irq_affinity_cpu(oecls_dev, rxq_id, cpu);
+ }
+ }
+
+ if (!remain)
+ return;
+
+ // config remain rxq to every numa
+ numa_rxq_id = 0;
+ for_each_oecls_numa(nid, numa_info) {
+ if (numa_rxq_id >= remain)
+ break;
+ cpu = alloc_available_cpu(nid, numa_info);
+ if (cpu < 0)
+ break;
+
+ rxq_id = rxq_per_numa * oecls_numa_num + numa_rxq_id;
+ numa_rxq_id++;
+ add_netdev_irq_affinity_cpu(oecls_dev, rxq_id, cpu);
+ }
+}
+
+static void config_affinity_strategy_cluster(struct oecls_netdev_info *oecls_dev)
+{
+ int cluster_cpu_num = 8;
+ int cluster_num = num_online_cpus() / cluster_cpu_num;
+ int cluster_cpu_id = 0;
+ int rxq_id = 0;
+ int cluster;
+ int cpu;
+
+ // average config rxq to every cluster
+ while (rxq_id < oecls_dev->rxq_num) {
+ for (cluster = 0; cluster < cluster_num; cluster++) {
+ cpu = cluster * cluster_cpu_num + cluster_cpu_id;
+ if (rxq_id >= oecls_dev->rxq_num)
+ break;
+ add_netdev_irq_affinity_cpu(oecls_dev, rxq_id++, cpu);
+ }
+ cluster_cpu_id++;
+ }
+}
+
+static void config_affinity_strategy_16cores(struct oecls_netdev_info *oecls_dev)
+{
+ struct oecls_numa_info *numa_info;
+ int numa_start_cpu;
+ int numa_cpu_id;
+ int rxq_id = 0;
+ int nid;
+ int cpu;
+
+ // only use 16 cores of one numa
+ for_each_oecls_numa(nid, numa_info) {
+ numa_start_cpu = find_first_bit(numa_info->avail_cpus, OECLS_MAX_CPU_NUM);
+ for (numa_cpu_id = 0; numa_cpu_id < 16; numa_cpu_id++) {
+ cpu = numa_start_cpu + numa_cpu_id;
+
+ if (rxq_id >= oecls_dev->rxq_num)
+ break;
+ add_netdev_irq_affinity_cpu(oecls_dev, rxq_id++, cpu);
+ }
+ }
+}
+
+static void config_affinity_strategy(void)
+{
+ struct oecls_netdev_info *oecls_dev;
+ int devid;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ switch (strategy) {
+ case 0:
+ config_affinity_strategy_default(oecls_dev);
+ break;
+ case 1:
+ config_affinity_strategy_cluster(oecls_dev);
+ break;
+ case 2:
+ config_affinity_strategy_16cores(oecls_dev);
+ break;
+ default:
+ config_affinity_strategy_default(oecls_dev);
+ break;
+ }
+ }
+}
+
+static inline void irq_set_affinity_wrapper(int rxq, int irq, int cpu)
+{
+ int err = 0;
+
+ err = irq_set_affinity(irq, get_cpu_mask(cpu));
+ oecls_debug("rxq=%d, irq=%d, cpu=%d, err=%d\n", rxq, irq, cpu, err);
+}
+
+static void enable_affinity_strategy(void)
+{
+ struct oecls_netdev_queue_info *rxq_info;
+ struct oecls_netdev_info *oecls_dev;
+ int rxq_id;
+ int devid;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ for (rxq_id = 0; rxq_id < oecls_dev->rxq_num; rxq_id++) {
+ rxq_info = &oecls_dev->rxq[rxq_id];
+ irq_set_affinity_wrapper(rxq_id, rxq_info->irq, rxq_info->affinity_cpu);
+ }
+ }
+}
+
+static inline void netif_set_xps_queue_wrapper(struct net_device *netdev, int rxq_id,
+ const struct cpumask *cpu_mask)
+{
+ int err = 0;
+
+ err = netif_set_xps_queue(netdev, cpu_mask, rxq_id);
+ oecls_debug("name=%s, rxq_id=%d, mask=%*pbl, err=%d\n", netdev->name, rxq_id,
+ cpumask_pr_args(cpu_mask), err);
+}
+
+static void set_netdev_xps_queue(bool enable)
+{
+ const struct cpumask clear_mask = { 0 };
+ struct oecls_netdev_info *oecls_dev;
+ const struct cpumask *cpu_mask;
+ int rxq_id;
+ int devid;
+ int cpu;
+ int nid;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ for (rxq_id = 0; rxq_id < oecls_dev->rxq_num; rxq_id++) {
+ cpu = oecls_dev->rxq[rxq_id].affinity_cpu;
+ nid = cpu_to_node(cpu);
+ if (enable)
+ cpu_mask = cpumask_of_node(nid);
+ else
+ cpu_mask = &clear_mask;
+
+ netif_set_xps_queue_wrapper(oecls_dev->netdev, rxq_id, cpu_mask);
+ }
+ }
+}
+
+static __init int oecls_init(void)
+{
+ struct oecls_numa_info *numa_info;
+ int nid;
+ int err;
+
+ oecls_debug("[init] mode=%d, ifname=[%s]\n", mode, ifname);
+ if (!check_params())
+ return -EINVAL;
+
+ init_oecls_l0_cache();
+ init_oecls_numa_info();
+ err = init_oecls_netdev_info(ifname);
+ if (err)
+ goto out;
+
+ // Set irq affinity
+ config_affinity_strategy();
+ enable_affinity_strategy();
+
+ // Calculate rxq bounded to one numa
+ for_each_oecls_numa(nid, numa_info)
+ init_numa_rxq_bitmap(nid, numa_info);
+
+#ifdef CONFIG_XPS
+ set_netdev_xps_queue(true);
+#endif
+
+ if (mode == 0)
+ oecls_ntuple_res_init();
+ else
+ oecls_flow_res_init();
+
+ return 0;
+out:
+ clean_oecls_netdev_info();
+ clean_oecls_numa_info();
+ clean_oecls_l0_cache();
+ return err;
+}
+
+static __exit void oecls_exit(void)
+{
+ oecls_debug("[exit] mode=%d\n", mode);
+ if (mode == 0)
+ oecls_ntuple_res_clean();
+ else
+ oecls_flow_res_clean();
+
+#ifdef CONFIG_XPS
+ set_netdev_xps_queue(false);
+#endif
+
+ clean_oecls_netdev_info();
+ clean_oecls_numa_info();
+ clean_oecls_l0_cache();
+}
+
+module_init(oecls_init);
+module_exit(oecls_exit);
+
+MODULE_DESCRIPTION("oenetcls");
+MODULE_LICENSE("GPL v2");
diff --git a/net/oenetcls/oenetcls_ntuple.c b/net/oenetcls/oenetcls_ntuple.c
new file mode 100644
index 000000000000..38d1f5df6ff1
--- /dev/null
+++ b/net/oenetcls/oenetcls_ntuple.c
@@ -0,0 +1,510 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/inetdevice.h>
+#include <linux/netdevice.h>
+#include <linux/rtnetlink.h>
+#include <linux/irq.h>
+#include <linux/irqdesc.h>
+#include <linux/inet.h>
+#include <linux/jhash.h>
+#include <net/sock.h>
+#include <trace/hooks/oenetcls.h>
+#include "oenetcls.h"
+
+struct oecls_sk_rule_list oecls_sk_rules;
+
+static void init_oecls_sk_rules(void)
+{
+ unsigned int i;
+
+ for (i = 0; i < OECLS_SK_RULE_HASHSIZE; i++)
+ INIT_HLIST_HEAD(oecls_sk_rules.hash + i);
+ mutex_init(&oecls_sk_rules.mutex);
+}
+
+static struct hlist_head *oecls_sk_rule_hash(u32 dip4, u16 dport)
+{
+ return oecls_sk_rules.hash + (jhash_2words(dip4, dport, 0) & OECLS_SK_RULE_HASHMASK);
+}
+
+static void add_sk_rule(int devid, u32 dip4, u16 dport, void *sk, int action,
+ int ruleid, int nid)
+{
+ struct hlist_head *hlist = oecls_sk_rule_hash(dip4, dport);
+ struct oecls_sk_rule *rule;
+
+ rule = alloc_from_l0(sizeof(struct oecls_sk_rule));
+ if (!rule)
+ return;
+ oecls_debug("alloc rule=%p\n", rule);
+
+ rule->sk = sk;
+ rule->dip4 = dip4;
+ rule->dport = dport;
+ rule->devid = devid;
+ rule->action = action;
+ rule->ruleid = ruleid;
+ rule->nid = nid;
+ hlist_add_head(&rule->node, hlist);
+}
+
+static void del_sk_rule(struct oecls_sk_rule *rule)
+{
+ hlist_del_init(&rule->node);
+ oecls_debug("del rule=%p\n", rule);
+ free_to_l0(rule);
+}
+
+static struct oecls_sk_rule *get_sk_rule(int devid, u32 dip4, u16 dport)
+{
+ struct hlist_head *hlist = oecls_sk_rule_hash(dip4, dport);
+ struct oecls_sk_rule *rule = NULL;
+
+ hlist_for_each_entry(rule, hlist, node) {
+ if (rule->devid == devid && rule->dip4 == dip4 && rule->dport == dport)
+ break;
+ }
+ return rule;
+}
+
+static bool reuseport_check(int devid, u32 dip4, u16 dport)
+{
+ return !!get_sk_rule(devid, dip4, dport);
+}
+
+static u32 get_first_ip4_addr(struct net *net)
+{
+ struct in_device *in_dev;
+ struct net_device *dev;
+ struct in_ifaddr *ifa;
+ u32 dip4 = 0;
+
+ rtnl_lock();
+ rcu_read_lock();
+ for_each_netdev(net, dev) {
+ if (dev->flags & IFF_LOOPBACK || !(dev->flags & IFF_UP))
+ continue;
+ in_dev = __in_dev_get_rcu(dev);
+ if (!in_dev)
+ continue;
+
+ in_dev_for_each_ifa_rcu(ifa, in_dev) {
+ if (!strcmp(dev->name, ifa->ifa_label)) {
+ dip4 = ifa->ifa_local;
+ oecls_debug("dev: %s, dip4: 0x%x\n", dev->name, dip4);
+ goto out;
+ }
+ }
+ }
+out:
+ rcu_read_unlock();
+ rtnl_unlock();
+ return dip4;
+}
+
+static void get_sk_rule_addr(struct sock *sk, u32 *dip4, u16 *dport)
+{
+ *dport = htons(sk->sk_num);
+
+ if (!match_ip_flag) {
+ *dip4 = 0;
+ return;
+ }
+
+ if (sk->sk_rcv_saddr)
+ *dip4 = sk->sk_rcv_saddr;
+ else
+ *dip4 = get_first_ip4_addr(sock_net(sk));
+}
+
+static int rxclass_rule_del(struct cmd_context *ctx, __u32 loc)
+{
+ struct ethtool_rxnfc nfccmd;
+ int err;
+
+ nfccmd.cmd = ETHTOOL_SRXCLSRLDEL;
+ nfccmd.fs.location = loc;
+ err = send_ethtool_ioctl(ctx, &nfccmd);
+ if (err < 0)
+ oecls_debug("rmgr: Cannot delete RX class rule, loc:%u\n", loc);
+ return err;
+}
+
+static int rmgr_ins(struct rmgr_ctrl *rmgr, __u32 loc)
+{
+ if (loc >= rmgr->size) {
+ oecls_error("rmgr: Location out of range\n");
+ return -1;
+ }
+
+ set_bit(loc, rmgr->slot);
+ return 0;
+}
+
+static int rmgr_find_empty_slot(struct rmgr_ctrl *rmgr, struct ethtool_rx_flow_spec *fsp)
+{
+ __u32 loc, slot_num;
+
+ if (rmgr->driver_select)
+ return 0;
+
+ loc = rmgr->size - 1;
+ slot_num = loc / BITS_PER_LONG;
+ if (!~(rmgr->slot[slot_num] | (~1UL << rmgr->size % BITS_PER_LONG))) {
+ loc -= 1 + (loc % BITS_PER_LONG);
+ slot_num--;
+ }
+
+ while (loc < rmgr->size && !~(rmgr->slot[slot_num])) {
+ loc -= BITS_PER_LONG;
+ slot_num--;
+ }
+
+ while (loc < rmgr->size && test_bit(loc, rmgr->slot))
+ loc--;
+
+ if (loc < rmgr->size) {
+ fsp->location = loc;
+ return rmgr_ins(rmgr, loc);
+ }
+
+ return -1;
+}
+
+static int rxclass_get_dev_info(struct cmd_context *ctx, __u32 *count, int *driver_select)
+{
+ struct ethtool_rxnfc nfccmd;
+ int err;
+
+ nfccmd.cmd = ETHTOOL_GRXCLSRLCNT;
+ nfccmd.data = 0;
+ err = send_ethtool_ioctl(ctx, &nfccmd);
+ *count = nfccmd.rule_cnt;
+ if (driver_select)
+ *driver_select = !!(nfccmd.data & RX_CLS_LOC_SPECIAL);
+ if (err < 0)
+ oecls_debug("rxclass: Cannot get RX class rule count\n");
+
+ return err;
+}
+
+static int rmgr_init(struct cmd_context *ctx, struct rmgr_ctrl *rmgr)
+{
+ struct ethtool_rxnfc *nfccmd;
+ __u32 *rule_locs;
+ int i, err = 0;
+
+ memset(rmgr, 0, sizeof(*rmgr));
+ err = rxclass_get_dev_info(ctx, &rmgr->n_rules, &rmgr->driver_select);
+ if (err < 0)
+ return err;
+
+ if (rmgr->driver_select)
+ return err;
+
+ nfccmd = kzalloc(sizeof(*nfccmd) + (rmgr->n_rules * sizeof(__u32)), GFP_ATOMIC);
+ if (!nfccmd) {
+ oecls_error("rmgr: Cannot allocate memory for RX class rule locations\n");
+ err = -ENOMEM;
+ goto out;
+ }
+
+ nfccmd->cmd = ETHTOOL_GRXCLSRLALL;
+ nfccmd->rule_cnt = rmgr->n_rules;
+ err = send_ethtool_ioctl(ctx, nfccmd);
+ if (err < 0) {
+ oecls_debug("rmgr: Cannot get RX class rules\n");
+ goto out;
+ }
+
+ rmgr->size = nfccmd->data;
+ if (rmgr->size == 0 || rmgr->size < rmgr->n_rules) {
+ oecls_error("rmgr: Invalid RX class rules table size\n");
+ err = -EINVAL;
+ goto out;
+ }
+
+ rmgr->slot = kzalloc(BITS_TO_LONGS(rmgr->size) * sizeof(long), GFP_ATOMIC);
+ if (!rmgr->slot) {
+ oecls_error("rmgr: Cannot allocate memory for RX class rules\n");
+ err = -ENOMEM;
+ goto out;
+ }
+
+ rule_locs = nfccmd->rule_locs;
+ for (i = 0; i < rmgr->n_rules; i++) {
+ err = rmgr_ins(rmgr, rule_locs[i]);
+ if (err < 0)
+ break;
+ }
+
+out:
+ kfree(nfccmd);
+ return err;
+}
+
+static void rmgr_cleanup(struct rmgr_ctrl *rmgr)
+{
+ kfree(rmgr->slot);
+ rmgr->slot = NULL;
+ rmgr->size = 0;
+}
+
+static int rmgr_set_location(struct cmd_context *ctx,
+ struct ethtool_rx_flow_spec *fsp)
+{
+ struct rmgr_ctrl rmgr;
+ int ret;
+
+ ret = rmgr_init(ctx, &rmgr);
+ if (ret < 0)
+ goto out;
+
+ ret = rmgr_find_empty_slot(&rmgr, fsp);
+out:
+ rmgr_cleanup(&rmgr);
+ return ret;
+}
+
+static int rxclass_rule_ins(struct cmd_context *ctx,
+ struct ethtool_rx_flow_spec *fsp, u32 rss_context)
+{
+ struct ethtool_rxnfc nfccmd;
+ u32 loc = fsp->location;
+ int ret;
+
+ if (loc & RX_CLS_LOC_SPECIAL) {
+ ret = rmgr_set_location(ctx, fsp);
+ if (ret < 0)
+ return ret;
+ }
+
+ nfccmd.cmd = ETHTOOL_SRXCLSRLINS;
+ nfccmd.rss_context = rss_context;
+ nfccmd.fs = *fsp;
+ ret = send_ethtool_ioctl(ctx, &nfccmd);
+ if (ret < 0) {
+ oecls_debug("Can not insert the clasification rule\n");
+ return ret;
+ }
+
+ if (loc & RX_CLS_LOC_SPECIAL)
+ oecls_debug("Added rule with ID %d\n", nfccmd.fs.location);
+
+ return 0;
+}
+
+static void flow_spec_to_ntuple(struct ethtool_rx_flow_spec *fsp,
+ struct ethtool_rx_ntuple_flow_spec *ntuple)
+{
+ int i;
+
+ memset(ntuple, ~0, sizeof(*ntuple));
+ ntuple->flow_type = fsp->flow_type;
+ ntuple->action = fsp->ring_cookie;
+ memcpy_r(&ntuple->h_u, &fsp->h_u, sizeof(fsp->h_u));
+ memcpy_r(&ntuple->m_u, &fsp->m_u, sizeof(fsp->m_u));
+ for (i = 0; i < sizeof(ntuple->m_u); i++)
+ ntuple->m_u.hdata[i] ^= 0xFF;
+ ntuple->flow_type &= ~FLOW_EXT;
+}
+
+static int do_srxntuple(struct cmd_context *ctx, struct ethtool_rx_flow_spec *fsp)
+{
+ struct ethtool_rx_ntuple ntuplecmd;
+ struct ethtool_value eval;
+ int ret = 0;
+
+ flow_spec_to_ntuple(fsp, &ntuplecmd.fs);
+
+ eval.cmd = ETHTOOL_GFLAGS;
+ ret = send_ethtool_ioctl(ctx, &eval);
+ if (ret || !(eval.data & ETH_FLAG_NTUPLE))
+ return -1;
+
+ ntuplecmd.cmd = ETHTOOL_SRXNTUPLE;
+ ret = send_ethtool_ioctl(ctx, &ntuplecmd);
+ if (ret)
+ oecls_debug("Cannot add new rule via N-tuple, ret:%d\n", ret);
+
+ return ret;
+}
+
+static int cfg_ethtool_rule(struct cmd_context *ctx, bool is_del)
+{
+ struct ethtool_rx_flow_spec *fsp, rx_rule_fs;
+ u32 rss_context = 0;
+ int ret;
+
+ oecls_debug("is_del:%d netdev:%s, dip4:%pI4, dport:%d, action:%d, ruleid:%u, del_ruleid:%u\n",
+ is_del, ctx->netdev, &ctx->dip4, ntohs(ctx->dport), ctx->action, ctx->ruleid,
+ ctx->del_ruleid);
+
+ if (is_del)
+ return rxclass_rule_del(ctx, ctx->del_ruleid);
+
+ ctx->ret_loc = -1;
+
+ fsp = &rx_rule_fs;
+ memset(fsp, 0, sizeof(*fsp));
+ fsp->flow_type = TCP_V4_FLOW;
+ fsp->location = RX_CLS_LOC_ANY;
+ fsp->h_u.tcp_ip4_spec.ip4dst = ctx->dip4;
+ fsp->h_u.tcp_ip4_spec.pdst = ctx->dport;
+ if (ctx->dip4)
+ fsp->m_u.tcp_ip4_spec.ip4dst = (u32)~0ULL;
+ fsp->m_u.tcp_ip4_spec.pdst = (u16)~0ULL;
+ if (ctx->ruleid)
+ fsp->location = ctx->ruleid;
+ fsp->ring_cookie = ctx->action;
+
+ ret = do_srxntuple(ctx, &rx_rule_fs);
+ if (!ret)
+ return 0;
+
+ ret = rxclass_rule_ins(ctx, &rx_rule_fs, rss_context);
+ if (!ret)
+ ctx->ret_loc = rx_rule_fs.location;
+ return ret;
+}
+
+static void del_ntuple_rule(struct sock *sk)
+{
+ struct oecls_netdev_info *oecls_dev;
+ struct cmd_context ctx = { 0 };
+ struct oecls_sk_rule *rule;
+ int devid;
+ u16 dport;
+ u32 dip4;
+ int err;
+
+ get_sk_rule_addr(sk, &dip4, &dport);
+
+ mutex_lock(&oecls_sk_rules.mutex);
+ for_each_oecls_netdev(devid, oecls_dev) {
+ strncpy(ctx.netdev, oecls_dev->dev_name, IFNAMSIZ);
+ rule = get_sk_rule(devid, dip4, dport);
+ if (!rule) {
+ oecls_debug("rule not found! sk:%p, devid:%d, dip4:0x%x, dport:%d\n", sk,
+ devid, dip4, dport);
+ continue;
+ }
+
+ // Config Ntuple rule to dev
+ ctx.del_ruleid = rule->ruleid;
+ err = cfg_ethtool_rule(&ctx, true);
+ if (err) {
+ oecls_error("del sk:%p, nid:%d, devid:%d, action:%d, ruleid:%d, err:%d\n",
+ sk, rule->nid, devid, rule->action, rule->ruleid, err);
+ }
+
+ // Free the bound queue
+ free_rxq_id(rule->nid, devid, rule->action);
+
+ // Delete sk rule
+ del_sk_rule(rule);
+ }
+ mutex_unlock(&oecls_sk_rules.mutex);
+}
+
+static void add_ntuple_rule(struct sock *sk)
+{
+ struct oecls_netdev_info *oecls_dev;
+ struct cmd_context ctx = { 0 };
+ int cpu = smp_processor_id();
+ int nid = cpu_to_node(cpu);
+ int rxq_id;
+ int devid;
+ int err;
+
+ if (check_appname(current->comm))
+ return;
+ get_sk_rule_addr(sk, &ctx.dip4, &ctx.dport);
+
+ mutex_lock(&oecls_sk_rules.mutex);
+ for_each_oecls_netdev(devid, oecls_dev) {
+ strncpy(ctx.netdev, oecls_dev->dev_name, IFNAMSIZ);
+ if (reuseport_check(devid, ctx.dip4, ctx.dport)) {
+ oecls_error("dip4:0x%x, dport:%d reuse!\n", ctx.dip4, ctx.dport);
+ continue;
+ }
+
+ // Calculate the bound queue
+ rxq_id = alloc_rxq_id(nid, devid);
+ if (rxq_id < 0)
+ continue;
+
+ // Config Ntuple rule to dev
+ ctx.action = (u16)rxq_id;
+ err = cfg_ethtool_rule(&ctx, false);
+ if (err) {
+ oecls_error("add sk:%p, nid:%d, devid:%d, action:%d, ruleid:%d, err:%d\n",
+ sk, nid, devid, ctx.action, ctx.ret_loc, err);
+ continue;
+ }
+
+ // Add sk rule
+ add_sk_rule(devid, ctx.dip4, ctx.dport, sk, ctx.action, ctx.ret_loc, nid);
+ }
+ mutex_unlock(&oecls_sk_rules.mutex);
+}
+
+static void ethtool_cfg_rxcls(void *data, struct sock *sk, int is_del)
+{
+ if (sk->sk_state != TCP_LISTEN)
+ return;
+
+ if (sk->sk_family != AF_INET && sk->sk_family != AF_INET6)
+ return;
+
+ oecls_debug("[cpu:%d] app:%s, sk:%p, is_del:%d, ip:0x%x, port:0x%x\n", smp_processor_id(),
+ current->comm, sk, is_del, sk->sk_rcv_saddr, sk->sk_num);
+
+ if (is_del)
+ del_ntuple_rule(sk);
+ else
+ add_ntuple_rule(sk);
+}
+
+static void clean_oecls_sk_rules(void)
+{
+ struct oecls_netdev_info *oecls_dev;
+ struct cmd_context ctx = { 0 };
+ struct oecls_sk_rule *rule;
+ struct hlist_head *hlist;
+ struct hlist_node *n;
+ unsigned int i;
+ int err;
+
+ mutex_lock(&oecls_sk_rules.mutex);
+ for (i = 0; i < OECLS_SK_RULE_HASHSIZE; i++) {
+ hlist = &oecls_sk_rules.hash[i];
+
+ hlist_for_each_entry_safe(rule, n, hlist, node) {
+ oecls_dev = get_oecls_netdev_info(rule->devid);
+ if (!oecls_dev)
+ continue;
+ strncpy(ctx.netdev, oecls_dev->dev_name, IFNAMSIZ);
+ ctx.del_ruleid = rule->ruleid;
+ err = cfg_ethtool_rule(&ctx, true);
+ oecls_debug("sk:%p, dev_id:%d, action:%d, ruleid:%d, err:%d\n", rule->sk,
+ rule->devid, rule->action, rule->ruleid, err);
+
+ hlist_del(&rule->node);
+ oecls_debug("clean rule=%p\n", rule);
+ free_to_l0(rule);
+ }
+ }
+ mutex_unlock(&oecls_sk_rules.mutex);
+}
+
+void oecls_ntuple_res_init(void)
+{
+ init_oecls_sk_rules();
+ register_trace_ethtool_cfg_rxcls(ðtool_cfg_rxcls, NULL);
+}
+
+void oecls_ntuple_res_clean(void)
+{
+ unregister_trace_ethtool_cfg_rxcls(ðtool_cfg_rxcls, NULL);
+ clean_oecls_sk_rules();
+}
--
2.34.1
2
1

[PATCH OLK-5.10] media: venus: hfi_parser: refactor hfi packet parsing logic
by Xiongfeng Wang 30 May '25
by Xiongfeng Wang 30 May '25
30 May '25
From: Vikash Garodia <quic_vgarodia(a)quicinc.com>
stable inclusion
from stable-v5.10.237
commit 0beabe9b49190a02321b02792b29fc0f0e28b51f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC5BJ2
CVE: CVE-2025-23156
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 9edaaa8e3e15aab1ca413ab50556de1975bcb329 ]
words_count denotes the number of words in total payload, while data
points to payload of various property within it. When words_count
reaches last word, data can access memory beyond the total payload. This
can lead to OOB access. With this patch, the utility api for handling
individual properties now returns the size of data consumed. Accordingly
remaining bytes are calculated before parsing the payload, thereby
eliminates the OOB access possibilities.
Cc: stable(a)vger.kernel.org
Fixes: 1a73374a04e5 ("media: venus: hfi_parser: add common capability parser")
Signed-off-by: Vikash Garodia <quic_vgarodia(a)quicinc.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue(a)linaro.org>
Signed-off-by: Hans Verkuil <hverkuil(a)xs4all.nl>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Liu Mingrui <liumingrui(a)huawei.com>
Conflicts:
drivers/media/platform/qcom/venus/hfi_parser.c
[wxf: fix context conflicts]
Signed-off-by: Xiongfeng Wang <wangxiongfeng2(a)huawei.com>
---
.../media/platform/qcom/venus/hfi_parser.c | 99 ++++++++++++++-----
1 file changed, 73 insertions(+), 26 deletions(-)
diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media/platform/qcom/venus/hfi_parser.c
index e13e555b35150..52518f0ca375e 100644
--- a/drivers/media/platform/qcom/venus/hfi_parser.c
+++ b/drivers/media/platform/qcom/venus/hfi_parser.c
@@ -62,7 +62,7 @@ fill_buf_mode(struct venus_caps *cap, const void *data, unsigned int num)
cap->cap_bufs_mode_dynamic = true;
}
-static void
+static int
parse_alloc_mode(struct venus_core *core, u32 codecs, u32 domain, void *data)
{
struct hfi_buffer_alloc_mode_supported *mode = data;
@@ -70,7 +70,7 @@ parse_alloc_mode(struct venus_core *core, u32 codecs, u32 domain, void *data)
u32 *type;
if (num_entries > MAX_ALLOC_MODE_ENTRIES)
- return;
+ return -EINVAL;
type = mode->data;
@@ -82,6 +82,8 @@ parse_alloc_mode(struct venus_core *core, u32 codecs, u32 domain, void *data)
type++;
}
+
+ return sizeof(*mode);
}
static void fill_profile_level(struct venus_caps *cap, const void *data,
@@ -96,7 +98,7 @@ static void fill_profile_level(struct venus_caps *cap, const void *data,
cap->num_pl += num;
}
-static void
+static int
parse_profile_level(struct venus_core *core, u32 codecs, u32 domain, void *data)
{
struct hfi_profile_level_supported *pl = data;
@@ -104,12 +106,14 @@ parse_profile_level(struct venus_core *core, u32 codecs, u32 domain, void *data)
struct hfi_profile_level pl_arr[HFI_MAX_PROFILE_COUNT] = {};
if (pl->profile_count > HFI_MAX_PROFILE_COUNT)
- return;
+ return -EINVAL;
memcpy(pl_arr, proflevel, pl->profile_count * sizeof(*proflevel));
for_each_codec(core->caps, ARRAY_SIZE(core->caps), codecs, domain,
fill_profile_level, pl_arr, pl->profile_count);
+
+ return pl->profile_count * sizeof(*proflevel) + sizeof(u32);
}
static void
@@ -124,7 +128,7 @@ fill_caps(struct venus_caps *cap, const void *data, unsigned int num)
cap->num_caps += num;
}
-static void
+static int
parse_caps(struct venus_core *core, u32 codecs, u32 domain, void *data)
{
struct hfi_capabilities *caps = data;
@@ -133,12 +137,14 @@ parse_caps(struct venus_core *core, u32 codecs, u32 domain, void *data)
struct hfi_capability caps_arr[MAX_CAP_ENTRIES] = {};
if (num_caps > MAX_CAP_ENTRIES)
- return;
+ return -EINVAL;
memcpy(caps_arr, cap, num_caps * sizeof(*cap));
for_each_codec(core->caps, ARRAY_SIZE(core->caps), codecs, domain,
fill_caps, caps_arr, num_caps);
+
+ return sizeof(*caps);
}
static void fill_raw_fmts(struct venus_caps *cap, const void *fmts,
@@ -153,7 +159,7 @@ static void fill_raw_fmts(struct venus_caps *cap, const void *fmts,
cap->num_fmts += num_fmts;
}
-static void
+static int
parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data)
{
struct hfi_uncompressed_format_supported *fmt = data;
@@ -162,7 +168,8 @@ parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data)
struct raw_formats rawfmts[MAX_FMT_ENTRIES] = {};
u32 entries = fmt->format_entries;
unsigned int i = 0;
- u32 num_planes;
+ u32 num_planes = 0;
+ u32 size;
while (entries) {
num_planes = pinfo->num_planes;
@@ -172,7 +179,7 @@ parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data)
i++;
if (i >= MAX_FMT_ENTRIES)
- return;
+ return -EINVAL;
if (pinfo->num_planes > MAX_PLANES)
break;
@@ -184,9 +191,13 @@ parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data)
for_each_codec(core->caps, ARRAY_SIZE(core->caps), codecs, domain,
fill_raw_fmts, rawfmts, i);
+ size = fmt->format_entries * (sizeof(*constr) * num_planes + 2 * sizeof(u32))
+ + 2 * sizeof(u32);
+
+ return size;
}
-static void parse_codecs(struct venus_core *core, void *data)
+static int parse_codecs(struct venus_core *core, void *data)
{
struct hfi_codec_supported *codecs = data;
@@ -198,21 +209,27 @@ static void parse_codecs(struct venus_core *core, void *data)
core->dec_codecs &= ~HFI_VIDEO_CODEC_SPARK;
core->enc_codecs &= ~HFI_VIDEO_CODEC_HEVC;
}
+
+ return sizeof(*codecs);
}
-static void parse_max_sessions(struct venus_core *core, const void *data)
+static int parse_max_sessions(struct venus_core *core, const void *data)
{
const struct hfi_max_sessions_supported *sessions = data;
core->max_sessions_supported = sessions->max_sessions;
+
+ return sizeof(*sessions);
}
-static void parse_codecs_mask(u32 *codecs, u32 *domain, void *data)
+static int parse_codecs_mask(u32 *codecs, u32 *domain, void *data)
{
struct hfi_codec_mask_supported *mask = data;
*codecs = mask->codecs;
*domain = mask->video_domains;
+
+ return sizeof(*mask);
}
static void parser_init(struct venus_inst *inst, u32 *codecs, u32 *domain)
@@ -246,8 +263,10 @@ static void parser_fini(struct venus_inst *inst, u32 codecs, u32 domain)
u32 hfi_parser(struct venus_core *core, struct venus_inst *inst, void *buf,
u32 size)
{
- unsigned int words_count = size >> 2;
- u32 *word = buf, *data, codecs = 0, domain = 0;
+ u32 *words = buf, *payload, codecs = 0, domain = 0;
+ u32 *frame_size = buf + size;
+ u32 rem_bytes = size;
+ int ret;
if (size % 4)
return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
@@ -259,38 +278,66 @@ u32 hfi_parser(struct venus_core *core, struct venus_inst *inst, void *buf,
memset(core->caps, 0, sizeof(core->caps));
}
- while (words_count) {
- data = word + 1;
+ while (words < frame_size) {
+ payload = words + 1;
- switch (*word) {
+ switch (*words) {
case HFI_PROPERTY_PARAM_CODEC_SUPPORTED:
- parse_codecs(core, data);
+ if (rem_bytes <= sizeof(struct hfi_codec_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_codecs(core, payload);
+ if (ret < 0)
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
init_codecs(core);
break;
case HFI_PROPERTY_PARAM_MAX_SESSIONS_SUPPORTED:
- parse_max_sessions(core, data);
+ if (rem_bytes <= sizeof(struct hfi_max_sessions_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_max_sessions(core, payload);
break;
case HFI_PROPERTY_PARAM_CODEC_MASK_SUPPORTED:
- parse_codecs_mask(&codecs, &domain, data);
+ if (rem_bytes <= sizeof(struct hfi_codec_mask_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_codecs_mask(&codecs, &domain, payload);
break;
case HFI_PROPERTY_PARAM_UNCOMPRESSED_FORMAT_SUPPORTED:
- parse_raw_formats(core, codecs, domain, data);
+ if (rem_bytes <= sizeof(struct hfi_uncompressed_format_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_raw_formats(core, codecs, domain, payload);
break;
case HFI_PROPERTY_PARAM_CAPABILITY_SUPPORTED:
- parse_caps(core, codecs, domain, data);
+ if (rem_bytes <= sizeof(struct hfi_capabilities))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_caps(core, codecs, domain, payload);
break;
case HFI_PROPERTY_PARAM_PROFILE_LEVEL_SUPPORTED:
- parse_profile_level(core, codecs, domain, data);
+ if (rem_bytes <= sizeof(struct hfi_profile_level_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_profile_level(core, codecs, domain, payload);
break;
case HFI_PROPERTY_PARAM_BUFFER_ALLOC_MODE_SUPPORTED:
- parse_alloc_mode(core, codecs, domain, data);
+ if (rem_bytes <= sizeof(struct hfi_buffer_alloc_mode_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_alloc_mode(core, codecs, domain, payload);
break;
default:
+ ret = sizeof(u32);
break;
}
- word++;
- words_count--;
+ if (ret < 0)
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ words += ret / sizeof(u32);
+ rem_bytes -= ret;
}
parser_fini(inst, codecs, domain);
--
2.20.1
2
1

[PATCH OLK-5.10] soc: samsung: exynos-chipid: Add NULL pointer check in exynos_chipid_probe()
by Xiongfeng Wang 30 May '25
by Xiongfeng Wang 30 May '25
30 May '25
From: Chenyuan Yang <chenyuan0y(a)gmail.com>
stable inclusion
from stable-v5.10.237
commit 8ce469d23205249bb17c1135ccadea879576adfc
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC5BL6
CVE: CVE-2025-23148
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit c8222ef6cf29dd7cad21643228f96535cc02b327 ]
soc_dev_attr->revision could be NULL, thus,
a pointer check is added to prevent potential NULL pointer dereference.
This is similar to the fix in commit 3027e7b15b02
("ice: Fix some null pointer dereference issues in ice_ptp.c").
This issue is found by our static analysis tool.
Signed-off-by: Chenyuan Yang <chenyuan0y(a)gmail.com>
Link: https://lore.kernel.org/r/20250212213518.69432-1-chenyuan0y@gmail.com
Fixes: 3253b7b7cd44 ("soc: samsung: Add exynos chipid driver support")
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski(a)linaro.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Liu Mingrui <liumingrui(a)huawei.com>
Conflicts:
drivers/soc/samsung/exynos-chipid.c
[wxf: fix context conflicts]
Signed-off-by: Xiongfeng Wang <wangxiongfeng2(a)huawei.com>
---
drivers/soc/samsung/exynos-chipid.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/soc/samsung/exynos-chipid.c b/drivers/soc/samsung/exynos-chipid.c
index 8d4d050869068..421dedbf2975e 100644
--- a/drivers/soc/samsung/exynos-chipid.c
+++ b/drivers/soc/samsung/exynos-chipid.c
@@ -84,6 +84,8 @@ static int __init exynos_chipid_early_init(void)
of_node_put(root);
soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%x", revision);
+ if (!soc_dev_attr->revision)
+ return -ENOMEM;
soc_dev_attr->soc_id = product_id_to_soc_id(product_id);
if (!soc_dev_attr->soc_id) {
pr_err("Unknown SoC\n");
--
2.20.1
2
1

[PATCH OLK-6.6] media: venus: hfi_parser: refactor hfi packet parsing logic
by Xiongfeng Wang 30 May '25
by Xiongfeng Wang 30 May '25
30 May '25
From: Vikash Garodia <quic_vgarodia(a)quicinc.com>
stable inclusion
from stable-v6.6.88
commit 05b07e52a0d08239147ba3460045855f4fb398de
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC5BJ2
CVE: CVE-2025-23156
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 9edaaa8e3e15aab1ca413ab50556de1975bcb329 upstream.
words_count denotes the number of words in total payload, while data
points to payload of various property within it. When words_count
reaches last word, data can access memory beyond the total payload. This
can lead to OOB access. With this patch, the utility api for handling
individual properties now returns the size of data consumed. Accordingly
remaining bytes are calculated before parsing the payload, thereby
eliminates the OOB access possibilities.
Cc: stable(a)vger.kernel.org
Fixes: 1a73374a04e5 ("media: venus: hfi_parser: add common capability parser")
Signed-off-by: Vikash Garodia <quic_vgarodia(a)quicinc.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue(a)linaro.org>
Signed-off-by: Hans Verkuil <hverkuil(a)xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Wang Hai <wanghai38(a)huawei.com>
Signed-off-by: Xiongfeng Wang <wangxiongfeng2(a)huawei.com>
---
.../media/platform/qcom/venus/hfi_parser.c | 98 ++++++++++++++-----
1 file changed, 72 insertions(+), 26 deletions(-)
diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media/platform/qcom/venus/hfi_parser.c
index c43839539d4d..aa7819d21f99 100644
--- a/drivers/media/platform/qcom/venus/hfi_parser.c
+++ b/drivers/media/platform/qcom/venus/hfi_parser.c
@@ -62,7 +62,7 @@ fill_buf_mode(struct hfi_plat_caps *cap, const void *data, unsigned int num)
cap->cap_bufs_mode_dynamic = true;
}
-static void
+static int
parse_alloc_mode(struct venus_core *core, u32 codecs, u32 domain, void *data)
{
struct hfi_buffer_alloc_mode_supported *mode = data;
@@ -70,7 +70,7 @@ parse_alloc_mode(struct venus_core *core, u32 codecs, u32 domain, void *data)
u32 *type;
if (num_entries > MAX_ALLOC_MODE_ENTRIES)
- return;
+ return -EINVAL;
type = mode->data;
@@ -82,6 +82,8 @@ parse_alloc_mode(struct venus_core *core, u32 codecs, u32 domain, void *data)
type++;
}
+
+ return sizeof(*mode);
}
static void fill_profile_level(struct hfi_plat_caps *cap, const void *data,
@@ -96,7 +98,7 @@ static void fill_profile_level(struct hfi_plat_caps *cap, const void *data,
cap->num_pl += num;
}
-static void
+static int
parse_profile_level(struct venus_core *core, u32 codecs, u32 domain, void *data)
{
struct hfi_profile_level_supported *pl = data;
@@ -104,12 +106,14 @@ parse_profile_level(struct venus_core *core, u32 codecs, u32 domain, void *data)
struct hfi_profile_level pl_arr[HFI_MAX_PROFILE_COUNT] = {};
if (pl->profile_count > HFI_MAX_PROFILE_COUNT)
- return;
+ return -EINVAL;
memcpy(pl_arr, proflevel, pl->profile_count * sizeof(*proflevel));
for_each_codec(core->caps, ARRAY_SIZE(core->caps), codecs, domain,
fill_profile_level, pl_arr, pl->profile_count);
+
+ return pl->profile_count * sizeof(*proflevel) + sizeof(u32);
}
static void
@@ -124,7 +128,7 @@ fill_caps(struct hfi_plat_caps *cap, const void *data, unsigned int num)
cap->num_caps += num;
}
-static void
+static int
parse_caps(struct venus_core *core, u32 codecs, u32 domain, void *data)
{
struct hfi_capabilities *caps = data;
@@ -133,12 +137,14 @@ parse_caps(struct venus_core *core, u32 codecs, u32 domain, void *data)
struct hfi_capability caps_arr[MAX_CAP_ENTRIES] = {};
if (num_caps > MAX_CAP_ENTRIES)
- return;
+ return -EINVAL;
memcpy(caps_arr, cap, num_caps * sizeof(*cap));
for_each_codec(core->caps, ARRAY_SIZE(core->caps), codecs, domain,
fill_caps, caps_arr, num_caps);
+
+ return sizeof(*caps);
}
static void fill_raw_fmts(struct hfi_plat_caps *cap, const void *fmts,
@@ -153,7 +159,7 @@ static void fill_raw_fmts(struct hfi_plat_caps *cap, const void *fmts,
cap->num_fmts += num_fmts;
}
-static void
+static int
parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data)
{
struct hfi_uncompressed_format_supported *fmt = data;
@@ -162,7 +168,8 @@ parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data)
struct raw_formats rawfmts[MAX_FMT_ENTRIES] = {};
u32 entries = fmt->format_entries;
unsigned int i = 0;
- u32 num_planes;
+ u32 num_planes = 0;
+ u32 size;
while (entries) {
num_planes = pinfo->num_planes;
@@ -172,7 +179,7 @@ parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data)
i++;
if (i >= MAX_FMT_ENTRIES)
- return;
+ return -EINVAL;
if (pinfo->num_planes > MAX_PLANES)
break;
@@ -184,9 +191,13 @@ parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data)
for_each_codec(core->caps, ARRAY_SIZE(core->caps), codecs, domain,
fill_raw_fmts, rawfmts, i);
+ size = fmt->format_entries * (sizeof(*constr) * num_planes + 2 * sizeof(u32))
+ + 2 * sizeof(u32);
+
+ return size;
}
-static void parse_codecs(struct venus_core *core, void *data)
+static int parse_codecs(struct venus_core *core, void *data)
{
struct hfi_codec_supported *codecs = data;
@@ -198,21 +209,27 @@ static void parse_codecs(struct venus_core *core, void *data)
core->dec_codecs &= ~HFI_VIDEO_CODEC_SPARK;
core->enc_codecs &= ~HFI_VIDEO_CODEC_HEVC;
}
+
+ return sizeof(*codecs);
}
-static void parse_max_sessions(struct venus_core *core, const void *data)
+static int parse_max_sessions(struct venus_core *core, const void *data)
{
const struct hfi_max_sessions_supported *sessions = data;
core->max_sessions_supported = sessions->max_sessions;
+
+ return sizeof(*sessions);
}
-static void parse_codecs_mask(u32 *codecs, u32 *domain, void *data)
+static int parse_codecs_mask(u32 *codecs, u32 *domain, void *data)
{
struct hfi_codec_mask_supported *mask = data;
*codecs = mask->codecs;
*domain = mask->video_domains;
+
+ return sizeof(*mask);
}
static void parser_init(struct venus_inst *inst, u32 *codecs, u32 *domain)
@@ -281,8 +298,9 @@ static int hfi_platform_parser(struct venus_core *core, struct venus_inst *inst)
u32 hfi_parser(struct venus_core *core, struct venus_inst *inst, void *buf,
u32 size)
{
- unsigned int words_count = size >> 2;
- u32 *word = buf, *data, codecs = 0, domain = 0;
+ u32 *words = buf, *payload, codecs = 0, domain = 0;
+ u32 *frame_size = buf + size;
+ u32 rem_bytes = size;
int ret;
ret = hfi_platform_parser(core, inst);
@@ -299,38 +317,66 @@ u32 hfi_parser(struct venus_core *core, struct venus_inst *inst, void *buf,
memset(core->caps, 0, sizeof(core->caps));
}
- while (words_count) {
- data = word + 1;
+ while (words < frame_size) {
+ payload = words + 1;
- switch (*word) {
+ switch (*words) {
case HFI_PROPERTY_PARAM_CODEC_SUPPORTED:
- parse_codecs(core, data);
+ if (rem_bytes <= sizeof(struct hfi_codec_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_codecs(core, payload);
+ if (ret < 0)
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
init_codecs(core);
break;
case HFI_PROPERTY_PARAM_MAX_SESSIONS_SUPPORTED:
- parse_max_sessions(core, data);
+ if (rem_bytes <= sizeof(struct hfi_max_sessions_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_max_sessions(core, payload);
break;
case HFI_PROPERTY_PARAM_CODEC_MASK_SUPPORTED:
- parse_codecs_mask(&codecs, &domain, data);
+ if (rem_bytes <= sizeof(struct hfi_codec_mask_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_codecs_mask(&codecs, &domain, payload);
break;
case HFI_PROPERTY_PARAM_UNCOMPRESSED_FORMAT_SUPPORTED:
- parse_raw_formats(core, codecs, domain, data);
+ if (rem_bytes <= sizeof(struct hfi_uncompressed_format_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_raw_formats(core, codecs, domain, payload);
break;
case HFI_PROPERTY_PARAM_CAPABILITY_SUPPORTED:
- parse_caps(core, codecs, domain, data);
+ if (rem_bytes <= sizeof(struct hfi_capabilities))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_caps(core, codecs, domain, payload);
break;
case HFI_PROPERTY_PARAM_PROFILE_LEVEL_SUPPORTED:
- parse_profile_level(core, codecs, domain, data);
+ if (rem_bytes <= sizeof(struct hfi_profile_level_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_profile_level(core, codecs, domain, payload);
break;
case HFI_PROPERTY_PARAM_BUFFER_ALLOC_MODE_SUPPORTED:
- parse_alloc_mode(core, codecs, domain, data);
+ if (rem_bytes <= sizeof(struct hfi_buffer_alloc_mode_supported))
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ ret = parse_alloc_mode(core, codecs, domain, payload);
break;
default:
+ ret = sizeof(u32);
break;
}
- word++;
- words_count--;
+ if (ret < 0)
+ return HFI_ERR_SYS_INSUFFICIENT_RESOURCES;
+
+ words += ret / sizeof(u32);
+ rem_bytes -= ret;
}
if (!core->max_sessions_supported)
--
2.20.1
2
1

[PATCH OLK-6.6] soc: samsung: exynos-chipid: Add NULL pointer check in exynos_chipid_probe()
by Xiongfeng Wang 30 May '25
by Xiongfeng Wang 30 May '25
30 May '25
From: Chenyuan Yang <chenyuan0y(a)gmail.com>
stable inclusion
from stable-v6.6.88
commit 5f80fd2ff8bfd13e41554741740e0ca8e6445ded
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC5BL6
CVE: CVE-2025-23148
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit c8222ef6cf29dd7cad21643228f96535cc02b327 upstream.
soc_dev_attr->revision could be NULL, thus,
a pointer check is added to prevent potential NULL pointer dereference.
This is similar to the fix in commit 3027e7b15b02
("ice: Fix some null pointer dereference issues in ice_ptp.c").
This issue is found by our static analysis tool.
Signed-off-by: Chenyuan Yang <chenyuan0y(a)gmail.com>
Link: https://lore.kernel.org/r/20250212213518.69432-1-chenyuan0y@gmail.com
Fixes: 3253b7b7cd44 ("soc: samsung: Add exynos chipid driver support")
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski(a)linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Wang Hai <wanghai38(a)huawei.com>
Signed-off-by: Xiongfeng Wang <wangxiongfeng2(a)huawei.com>
---
drivers/soc/samsung/exynos-chipid.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/soc/samsung/exynos-chipid.c b/drivers/soc/samsung/exynos-chipid.c
index 7ba45c4aff97..1307f6d61c98 100644
--- a/drivers/soc/samsung/exynos-chipid.c
+++ b/drivers/soc/samsung/exynos-chipid.c
@@ -130,6 +130,8 @@ static int exynos_chipid_probe(struct platform_device *pdev)
soc_dev_attr->revision = devm_kasprintf(&pdev->dev, GFP_KERNEL,
"%x", soc_info.revision);
+ if (!soc_dev_attr->revision)
+ return -ENOMEM;
soc_dev_attr->soc_id = product_id_to_soc_id(soc_info.product_id);
if (!soc_dev_attr->soc_id) {
pr_err("Unknown SoC\n");
--
2.20.1
2
1

30 May '25
mainline inclusion
from mainline-v6.15-rc1
commit 1b0449544c6482179ac84530b61fc192a6527bfd
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC6BDN
CVE: CVE-2025-37834
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Syzkaller reports a bug as follows:
Injecting memory failure for pfn 0x18b00e at process virtual address 0x20ffd000
Memory failure: 0x18b00e: dirty swapcache page still referenced by 2 users
Memory failure: 0x18b00e: recovery action for dirty swapcache page: Failed
page: refcount:2 mapcount:0 mapping:0000000000000000 index:0x20ffd pfn:0x18b00e
memcg:ffff0000dd6d9000
anon flags: 0x5ffffe00482011(locked|dirty|arch_1|swapbacked|hwpoison|node=0|zone=2|lastcpupid=0xfffff)
raw: 005ffffe00482011 dead000000000100 dead000000000122 ffff0000e232a7c9
raw: 0000000000020ffd 0000000000000000 00000002ffffffff ffff0000dd6d9000
page dumped because: VM_BUG_ON_FOLIO(!folio_test_uptodate(folio))
------------[ cut here ]------------
kernel BUG at mm/swap_state.c:184!
Internal error: Oops - BUG: 00000000f2000800 [#1] SMP
Modules linked in:
CPU: 0 PID: 60 Comm: kswapd0 Not tainted 6.6.0-gcb097e7de84e #3
Hardware name: linux,dummy-virt (DT)
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : add_to_swap+0xbc/0x158
lr : add_to_swap+0xbc/0x158
sp : ffff800087f37340
x29: ffff800087f37340 x28: fffffc00052c0380 x27: ffff800087f37780
x26: ffff800087f37490 x25: ffff800087f37c78 x24: ffff800087f377a0
x23: ffff800087f37c50 x22: 0000000000000000 x21: fffffc00052c03b4
x20: 0000000000000000 x19: fffffc00052c0380 x18: 0000000000000000
x17: 296f696c6f662865 x16: 7461646f7470755f x15: 747365745f6f696c
x14: 6f6621284f494c4f x13: 0000000000000001 x12: ffff600036d8b97b
x11: 1fffe00036d8b97a x10: ffff600036d8b97a x9 : dfff800000000000
x8 : 00009fffc9274686 x7 : ffff0001b6c5cbd3 x6 : 0000000000000001
x5 : ffff0000c25896c0 x4 : 0000000000000000 x3 : 0000000000000000
x2 : 0000000000000000 x1 : ffff0000c25896c0 x0 : 0000000000000000
Call trace:
add_to_swap+0xbc/0x158
shrink_folio_list+0x12ac/0x2648
shrink_inactive_list+0x318/0x948
shrink_lruvec+0x450/0x720
shrink_node_memcgs+0x280/0x4a8
shrink_node+0x128/0x978
balance_pgdat+0x4f0/0xb20
kswapd+0x228/0x438
kthread+0x214/0x230
ret_from_fork+0x10/0x20
I can reproduce this issue with the following steps:
1) When a dirty swapcache page is isolated by reclaim process and the
page isn't locked, inject memory failure for the page.
me_swapcache_dirty() clears uptodate flag and tries to delete from lru,
but fails. Reclaim process will put the hwpoisoned page back to lru.
2) The process that maps the hwpoisoned page exits, the page is deleted
the page will never be freed and will be in the lru forever.
3) If we trigger a reclaim again and tries to reclaim the page,
add_to_swap() will trigger VM_BUG_ON_FOLIO due to the uptodate flag is
cleared.
To fix it, skip the hwpoisoned page in shrink_folio_list(). Besides, the
hwpoison folio may not be unmapped by hwpoison_user_mappings() yet, unmap
it in shrink_folio_list(), otherwise the folio will fail to be unmaped by
hwpoison_user_mappings() since the folio isn't in lru list.
Link: https://lkml.kernel.org/r/20250318083939.987651-3-tujinjiang@huawei.com
Signed-off-by: Jinjiang Tu <tujinjiang(a)huawei.com>
Acked-by: Miaohe Lin <linmiaohe(a)huawei.com>
Cc: David Hildenbrand <david(a)redhat.com>
Cc: Kefeng Wang <wangkefeng.wang(a)huawei.com>
Cc: Nanyong Sun <sunnanyong(a)huawei.com>
Cc: Naoya Horiguchi <nao.horiguchi(a)gmail.com>
Cc: <stable(a)vger,kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Conflicts:
mm/vmscan.c
[Many conflicts, fix it with same idea.]
Signed-off-by: Jinjiang Tu <tujinjiang(a)huawei.com>
---
mm/vmscan.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 40bcde9d56be..df7998e8174f 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1169,6 +1169,13 @@ static unsigned long shrink_page_list(struct list_head *page_list,
if (!trylock_page(page))
goto keep;
+ if (PageHWPoison(page)) {
+ try_to_unmap(page, TTU_IGNORE_MLOCK | TTU_IGNORE_ACCESS);
+ unlock_page(page);
+ put_page(page);
+ continue;
+ }
+
VM_BUG_ON_PAGE(PageActive(page), page);
sc->nr_scanned++;
--
2.43.0
2
1

30 May '25
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/ICBFCS
CVE: NA
--------------------------------
This introduces a kind of network optimization method named oenetcls. It
can configure the ntuple rule, and bind interrupt to the netdev queue
automatically.
Signed-off-by: Yue Haibing <yuehaibing(a)huawei.com>
Signed-off-by: Wang Liang <wangliang74(a)huawei.com>
Signed-off-by: Liu Jian <liujian56(a)huawei.com>
Signed-off-by: yuelg <yuelg(a)chinaunicom.cn>
---
drivers/hooks/Kconfig | 10 +
drivers/hooks/vendor_hooks.c | 8 +
include/linux/netdevice.h | 2 +-
include/trace/hooks/oenetcls.h | 44 ++
net/Kconfig | 1 +
net/Makefile | 1 +
net/core/dev.c | 21 +
net/ipv4/af_inet.c | 5 +
net/ipv4/tcp.c | 10 +
net/oenetcls/Kconfig | 10 +
net/oenetcls/Makefile | 8 +
net/oenetcls/asmdefs.h | 61 +++
net/oenetcls/memcpy-sve.S | 157 ++++++
net/oenetcls/oenetcls.h | 176 ++++++
net/oenetcls/oenetcls_flow.c | 402 ++++++++++++++
net/oenetcls/oenetcls_l0.c | 193 +++++++
net/oenetcls/oenetcls_main.c | 972 +++++++++++++++++++++++++++++++++
net/oenetcls/oenetcls_ntuple.c | 510 +++++++++++++++++
18 files changed, 2590 insertions(+), 1 deletion(-)
create mode 100644 include/trace/hooks/oenetcls.h
create mode 100644 net/oenetcls/Kconfig
create mode 100644 net/oenetcls/Makefile
create mode 100644 net/oenetcls/asmdefs.h
create mode 100644 net/oenetcls/memcpy-sve.S
create mode 100644 net/oenetcls/oenetcls.h
create mode 100644 net/oenetcls/oenetcls_flow.c
create mode 100644 net/oenetcls/oenetcls_l0.c
create mode 100644 net/oenetcls/oenetcls_main.c
create mode 100644 net/oenetcls/oenetcls_ntuple.c
diff --git a/drivers/hooks/Kconfig b/drivers/hooks/Kconfig
index 6a00168e67ad..90b0f6ea4040 100644
--- a/drivers/hooks/Kconfig
+++ b/drivers/hooks/Kconfig
@@ -20,4 +20,14 @@ config VENDOR_BOND_HOOKS
Allow vendor modules to attach bonding driver hooks defined via
DECLARE_HOOK or DECLARE_RESTRICTED_HOOK.
+config OENETCLS_HOOKS
+ bool "Oenetcls driver Hooks"
+ depends on VENDOR_HOOKS
+ default n
+ help
+ Enable oenetcls vendor hooks
+ Allow vendor modules to attach oenetcls hooks defined via
+ DECLARE_HOOK or DECLARE_RESTRICTED_HOOK.
+ Use OENETCLS && OENETCLS_HOOKS to enable oenetcls feature.
+
endmenu
diff --git a/drivers/hooks/vendor_hooks.c b/drivers/hooks/vendor_hooks.c
index 85bda58159f6..d9b85b57a742 100644
--- a/drivers/hooks/vendor_hooks.c
+++ b/drivers/hooks/vendor_hooks.c
@@ -9,6 +9,7 @@
#define CREATE_TRACE_POINTS
#include <trace/hooks/vendor_hooks.h>
#include <trace/hooks/bonding.h>
+#include <trace/hooks/oenetcls.h>
/*
* Export tracepoints that act as a bare tracehook (ie: have no trace event
@@ -18,3 +19,10 @@
#ifdef CONFIG_VENDOR_BOND_HOOKS
EXPORT_TRACEPOINT_SYMBOL_GPL(vendor_bond_check_dev_link);
#endif
+
+#ifdef CONFIG_OENETCLS_HOOKS
+EXPORT_TRACEPOINT_SYMBOL_GPL(oecls_flow_update);
+EXPORT_TRACEPOINT_SYMBOL_GPL(oecls_set_cpu);
+EXPORT_TRACEPOINT_SYMBOL_GPL(oecls_timeout);
+EXPORT_TRACEPOINT_SYMBOL_GPL(ethtool_cfg_rxcls);
+#endif
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index df61a63a5550..4b7b6fa1dcb1 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -808,7 +808,7 @@ struct netdev_rx_queue {
struct xsk_buff_pool *pool;
#endif
- KABI_RESERVE(1)
+ KABI_USE(1, void *__rcu oecls_ftb)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
diff --git a/include/trace/hooks/oenetcls.h b/include/trace/hooks/oenetcls.h
new file mode 100644
index 000000000000..c38545d7a6a2
--- /dev/null
+++ b/include/trace/hooks/oenetcls.h
@@ -0,0 +1,44 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * oenetcls driver Hooks
+ *
+ * Copyright (c) 2025, Huawei Tech. Co., Ltd.
+ */
+
+#ifdef CONFIG_OENETCLS_HOOKS
+
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM oenetcls
+
+#define TRACE_INCLUDE_PATH trace/hooks
+#if !defined(_TRACE_OENETCLS_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_OENETCLS_H
+#include <linux/tracepoint.h>
+#include <trace/hooks/vendor_hooks.h>
+
+struct sock;
+struct sk_buff;
+struct net_device;
+
+DECLARE_HOOK(oecls_flow_update,
+TP_PROTO(struct sock *sk),
+TP_ARGS(sk));
+
+DECLARE_HOOK(oecls_set_cpu,
+TP_PROTO(struct sk_buff *skb),
+TP_ARGS(skb));
+
+DECLARE_HOOK(oecls_timeout,
+TP_PROTO(struct net_device *dev, u16 rxq_index, u32 flow_id, u16 filter_id, bool *ret),
+TP_ARGS(dev, rxq_index, flow_id, filter_id, ret));
+
+DECLARE_HOOK(ethtool_cfg_rxcls,
+TP_PROTO(struct sock *sk, int is_del),
+TP_ARGS(sk, is_del));
+
+#endif
+/* This part must be outside protection */
+#include <trace/define_trace.h>
+
+#endif
+
diff --git a/net/Kconfig b/net/Kconfig
index 51a934426f9f..071f8ee3b89f 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -67,6 +67,7 @@ source "net/xfrm/Kconfig"
source "net/iucv/Kconfig"
source "net/smc/Kconfig"
source "net/xdp/Kconfig"
+source "net/oenetcls/Kconfig"
config INET
bool "TCP/IP networking"
diff --git a/net/Makefile b/net/Makefile
index 45c03aa92ace..dc637db866e3 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -87,3 +87,4 @@ obj-$(CONFIG_QRTR) += qrtr/
obj-$(CONFIG_NET_NCSI) += ncsi/
obj-$(CONFIG_XDP_SOCKETS) += xdp/
obj-$(CONFIG_MPTCP) += mptcp/
+obj-$(CONFIG_OENETCLS) += oenetcls/
diff --git a/net/core/dev.c b/net/core/dev.c
index c49f3d306b5c..eda1975ef55b 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -149,6 +149,7 @@
#include <net/net_rship.h>
#include "net-sysfs.h"
+#include <trace/hooks/oenetcls.h>
#define MAX_GRO_SKBS 8
@@ -4484,6 +4485,11 @@ bool rps_may_expire_flow(struct net_device *dev, u16 rxq_index,
bool expire = true;
unsigned int cpu;
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_oecls_timeout(dev, rxq_index, flow_id, filter_id, &expire);
+ if (expire)
+ return true;
+#endif
rcu_read_lock();
flow_table = rcu_dereference(rxqueue->rps_flow_table);
if (flow_table && flow_id <= flow_table->mask) {
@@ -5819,6 +5825,11 @@ static int netif_receive_skb_internal(struct sk_buff *skb)
}
}
#endif
+
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_oecls_set_cpu(skb);
+#endif
+
ret = __netif_receive_skb(skb);
rcu_read_unlock();
return ret;
@@ -5853,6 +5864,12 @@ static void netif_receive_skb_list_internal(struct list_head *head)
}
}
#endif
+
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ list_for_each_entry_safe(skb, next, head, list)
+ trace_oecls_set_cpu(skb);
+#endif
+
__netif_receive_skb_list(head);
rcu_read_unlock();
}
@@ -9984,6 +10001,10 @@ int __netdev_update_features(struct net_device *dev)
return err < 0 ? 0 : 1;
}
+#if IS_ENABLED(CONFIG_OENETCLS)
+EXPORT_SYMBOL(__netdev_update_features);
+#endif
+
/**
* netdev_update_features - recalculate device features
* @dev: the device to check
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index c6ec22f314c4..b09b1d6575a4 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -119,6 +119,7 @@
#include <net/compat.h>
#include <trace/events/sock.h>
+#include <trace/hooks/oenetcls.h>
/* The inetsw table contains everything that inet_create needs to
* build a new socket.
@@ -232,6 +233,10 @@ int inet_listen(struct socket *sock, int backlog)
if (err)
goto out;
tcp_call_bpf(sk, BPF_SOCK_OPS_TCP_LISTEN_CB, 0, NULL);
+
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_ethtool_cfg_rxcls(sk, 0);
+#endif
}
err = 0;
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 2a5147a4d1af..f014fad55bbf 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -280,6 +280,7 @@
#include <asm/ioctls.h>
#include <net/busy_poll.h>
#include <net/net_rship.h>
+#include <trace/hooks/oenetcls.h>
DEFINE_PER_CPU(unsigned int, tcp_orphan_count);
EXPORT_PER_CPU_SYMBOL_GPL(tcp_orphan_count);
@@ -2176,6 +2177,10 @@ int tcp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int nonblock,
if (unlikely(flags & MSG_ERRQUEUE))
return inet_recv_error(sk, msg, len, addr_len);
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_oecls_flow_update(sk);
+#endif
+
if (sk_can_busy_loop(sk) && skb_queue_empty_lockless(&sk->sk_receive_queue) &&
(sk->sk_state == TCP_ESTABLISHED))
sk_busy_loop(sk, nonblock);
@@ -2750,6 +2755,11 @@ void __tcp_close(struct sock *sk, long timeout)
void tcp_close(struct sock *sk, long timeout)
{
lock_sock(sk);
+
+#if IS_ENABLED(CONFIG_OENETCLS_HOOKS)
+ trace_ethtool_cfg_rxcls(sk, 1);
+#endif
+
__tcp_close(sk, timeout);
release_sock(sk);
if (!sk->sk_net_refcnt)
diff --git a/net/oenetcls/Kconfig b/net/oenetcls/Kconfig
new file mode 100644
index 000000000000..128b798d6b7f
--- /dev/null
+++ b/net/oenetcls/Kconfig
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: GPL-2.0-only
+config OENETCLS
+ tristate "Network classification"
+ depends on HISI_L0 && OENETCLS_HOOKS
+ default n
+ help
+ Allows to configure ntuple rule, and bind interrupt to netdev
+ automatically.
+ Use OENETCLS && OENETCLS_HOOKS to enable oenetcls feature.
+ Use parameter mode to decide running mode.
diff --git a/net/oenetcls/Makefile b/net/oenetcls/Makefile
new file mode 100644
index 000000000000..4d395d36a5fc
--- /dev/null
+++ b/net/oenetcls/Makefile
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+obj-$(CONFIG_OENETCLS) = oenetcls.o
+oenetcls-y := oenetcls_main.o oenetcls_ntuple.o oenetcls_flow.o oenetcls_l0.o
+ifeq ($(CONFIG_ARM64_SVE),y)
+oenetcls-y += memcpy-sve.o
+endif
+
diff --git a/net/oenetcls/asmdefs.h b/net/oenetcls/asmdefs.h
new file mode 100644
index 000000000000..8138a94c18af
--- /dev/null
+++ b/net/oenetcls/asmdefs.h
@@ -0,0 +1,61 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef _ASMDEFS_H
+#define _ASMDEFS_H
+
+/* Branch Target Identitication support. */
+#define BTI_C hint 34
+#define BTI_J hint 36
+/* Return address signing support (pac-ret). */
+#define PACIASP hint 25; .cfi_window_save
+#define AUTIASP hint 29; .cfi_window_save
+
+/* GNU_PROPERTY_AARCH64_* macros from elf.h. */
+#define FEATURE_1_AND 0xc0000000
+#define FEATURE_1_BTI 1
+#define FEATURE_1_PAC 2
+
+/* Add a NT_GNU_PROPERTY_TYPE_0 note. */
+#define GNU_PROPERTY(type, value) \
+ .section .note.gnu.property, "a"; \
+ .p2align 3; \
+ .word 4; \
+ .word 16; \
+ .word 5; \
+ .asciz "GNU"; \
+ .word type; \
+ .word 4; \
+ .word value; \
+ .word 0; \
+ .text
+
+#ifndef WANT_GNU_PROPERTY
+#define WANT_GNU_PROPERTY 1
+#endif
+
+#if WANT_GNU_PROPERTY
+/* Add property note with supported features to all asm files. */
+GNU_PROPERTY(FEATURE_1_AND, FEATURE_1_BTI|FEATURE_1_PAC)
+#endif
+
+#define ENTRY_ALIGN(name, alignment) \
+ .global name; \
+ .type name, %function; \
+ .align alignment; \
+name: \
+ .cfi_startproc; \
+ BTI_C;
+
+#define ENTRY(name) ENTRY_ALIGN(name, 6)
+
+#define ENTRY_ALIAS(name) \
+ .global name; \
+ .type name, %function; \
+ name:
+
+#define END(name) \
+ .cfi_endproc; \
+ .size name, .-name;
+
+#define L(l) .L ## l
+
+#endif
diff --git a/net/oenetcls/memcpy-sve.S b/net/oenetcls/memcpy-sve.S
new file mode 100644
index 000000000000..106e4c30294c
--- /dev/null
+++ b/net/oenetcls/memcpy-sve.S
@@ -0,0 +1,157 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include "asmdefs.h"
+
+.arch armv8-a+sve
+
+#define dstin x0
+#define src x1
+#define count x2
+#define dst x3
+#define srcend x4
+#define dstend x5
+#define tmp1 x6
+#define vlen x6
+
+#define A_q q0
+#define B_q q1
+#define C_q q2
+#define D_q q3
+#define E_q q4
+#define F_q q5
+#define G_q q6
+#define H_q q7
+
+/* This implementation handles overlaps and supports both memcpy and memmove
+ from a single entry point. It uses unaligned accesses and branchless
+ sequences to keep the code small, simple and improve performance.
+ SVE vectors are used to speedup small copies.
+
+ Copies are split into 3 main cases: small copies of up to 32 bytes, medium
+ copies of up to 128 bytes, and large copies. The overhead of the overlap
+ check is negligible since it is only required for large copies.
+
+ Large copies use a software pipelined loop processing 64 bytes per iteration.
+ The source pointer is 16-byte aligned to minimize unaligned accesses.
+ The loop tail is handled by always copying 64 bytes from the end.
+*/
+
+ENTRY_ALIAS (__memmove_aarch64_sve)
+ENTRY (__memcpy_aarch64_sve)
+ cmp count, 128
+ b.hi L(copy_long)
+ cntb vlen
+ cmp count, vlen, lsl 1
+ b.hi L(copy32_128)
+
+ whilelo p0.b, xzr, count
+ whilelo p1.b, vlen, count
+ ld1b z0.b, p0/z, [src, 0, mul vl]
+ ld1b z1.b, p1/z, [src, 1, mul vl]
+ st1b z0.b, p0, [dstin, 0, mul vl]
+ st1b z1.b, p1, [dstin, 1, mul vl]
+ ret
+
+ /* Medium copies: 33..128 bytes. */
+L(copy32_128):
+ add srcend, src, count
+ add dstend, dstin, count
+ ldp A_q, B_q, [src]
+ ldp C_q, D_q, [srcend, -32]
+ cmp count, 64
+ b.hi L(copy128)
+ stp A_q, B_q, [dstin]
+ stp C_q, D_q, [dstend, -32]
+ ret
+
+ /* Copy 65..128 bytes. */
+L(copy128):
+ ldp E_q, F_q, [src, 32]
+ cmp count, 96
+ b.ls L(copy96)
+ ldp G_q, H_q, [srcend, -64]
+ stp G_q, H_q, [dstend, -64]
+L(copy96):
+ stp A_q, B_q, [dstin]
+ stp E_q, F_q, [dstin, 32]
+ stp C_q, D_q, [dstend, -32]
+ ret
+
+ /* Copy more than 128 bytes. */
+L(copy_long):
+ add srcend, src, count
+ add dstend, dstin, count
+
+ /* Use backwards copy if there is an overlap. */
+ sub tmp1, dstin, src
+ cmp tmp1, count
+ b.lo L(copy_long_backwards)
+
+ /* Copy 16 bytes and then align src to 16-byte alignment. */
+ ldr D_q, [src]
+ and tmp1, src, 15
+ bic src, src, 15
+ sub dst, dstin, tmp1
+ add count, count, tmp1 /* Count is now 16 too large. */
+ ldp A_q, B_q, [src, 16]
+ str D_q, [dstin]
+ ldp C_q, D_q, [src, 48]
+ subs count, count, 128 + 16 /* Test and readjust count. */
+ b.ls L(copy64_from_end)
+L(loop64):
+ stp A_q, B_q, [dst, 16]
+ ldp A_q, B_q, [src, 80]
+ stp C_q, D_q, [dst, 48]
+ ldp C_q, D_q, [src, 112]
+ add src, src, 64
+ add dst, dst, 64
+ subs count, count, 64
+ b.hi L(loop64)
+
+ /* Write the last iteration and copy 64 bytes from the end. */
+L(copy64_from_end):
+ ldp E_q, F_q, [srcend, -64]
+ stp A_q, B_q, [dst, 16]
+ ldp A_q, B_q, [srcend, -32]
+ stp C_q, D_q, [dst, 48]
+ stp E_q, F_q, [dstend, -64]
+ stp A_q, B_q, [dstend, -32]
+ ret
+
+ /* Large backwards copy for overlapping copies.
+ Copy 16 bytes and then align srcend to 16-byte alignment. */
+L(copy_long_backwards):
+ cbz tmp1, L(return)
+ ldr D_q, [srcend, -16]
+ and tmp1, srcend, 15
+ bic srcend, srcend, 15
+ sub count, count, tmp1
+ ldp A_q, B_q, [srcend, -32]
+ str D_q, [dstend, -16]
+ ldp C_q, D_q, [srcend, -64]
+ sub dstend, dstend, tmp1
+ subs count, count, 128
+ b.ls L(copy64_from_start)
+
+L(loop64_backwards):
+ str B_q, [dstend, -16]
+ str A_q, [dstend, -32]
+ ldp A_q, B_q, [srcend, -96]
+ str D_q, [dstend, -48]
+ str C_q, [dstend, -64]!
+ ldp C_q, D_q, [srcend, -128]
+ sub srcend, srcend, 64
+ subs count, count, 64
+ b.hi L(loop64_backwards)
+
+ /* Write the last iteration and copy 64 bytes from the start. */
+L(copy64_from_start):
+ ldp E_q, F_q, [src, 32]
+ stp A_q, B_q, [dstend, -32]
+ ldp A_q, B_q, [src]
+ stp C_q, D_q, [dstend, -64]
+ stp E_q, F_q, [dstin, 32]
+ stp A_q, B_q, [dstin]
+L(return):
+ ret
+
+END (__memcpy_aarch64_sve)
diff --git a/net/oenetcls/oenetcls.h b/net/oenetcls/oenetcls.h
new file mode 100644
index 000000000000..72aeedcaf0a0
--- /dev/null
+++ b/net/oenetcls/oenetcls.h
@@ -0,0 +1,176 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef _NET_OENETCLS_H
+#define _NET_OENETCLS_H
+#include <linux/if.h>
+#include <linux/mutex.h>
+#include <linux/cpufeature.h>
+
+#define OECLS_MAX_NETDEV_NUM 8
+#define OECLS_MAX_RXQ_NUM_PER_DEV 256
+#define OECLS_MAX_NUMA_NUM 16
+#define OECLS_MAX_CPU_NUM 1024
+
+#define OECLS_TIMEOUT (5 * HZ)
+#define OECLS_NO_FILTER 0xffff
+#define OECLS_NO_CPU 0xffff
+
+struct oecls_netdev_queue_info {
+ int irq;
+ int affinity_cpu;
+};
+
+struct oecls_netdev_info {
+ char dev_name[IFNAMSIZ];
+ struct net_device *netdev;
+ int rxq_num;
+ struct oecls_netdev_queue_info rxq[OECLS_MAX_RXQ_NUM_PER_DEV];
+ int old_filter_state;
+};
+
+struct oecls_numa_bound_dev_info {
+ DECLARE_BITMAP(bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV);
+};
+
+struct oecls_numa_info {
+ DECLARE_BITMAP(avail_cpus, OECLS_MAX_CPU_NUM);
+ struct oecls_numa_bound_dev_info bound_dev[OECLS_MAX_NETDEV_NUM];
+};
+
+struct cmd_context {
+ char netdev[IFNAMSIZ];
+ u32 dip4;
+ u16 dport;
+ u16 action;
+ u32 ruleid;
+ u32 del_ruleid;
+ int ret_loc;
+};
+
+#define OECLS_SK_RULE_HASHSIZE 256
+#define OECLS_SK_RULE_HASHMASK (OECLS_SK_RULE_HASHSIZE - 1)
+
+struct oecls_sk_rule_list {
+ struct hlist_head hash[OECLS_SK_RULE_HASHSIZE];
+ /* Mutex to synchronize access to ntuple rule locking */
+ struct mutex mutex;
+};
+
+struct oecls_sk_rule {
+ struct hlist_node node;
+ int devid;
+ void *sk;
+ int dip4;
+ int dport;
+ int action;
+ int ruleid;
+ int nid;
+};
+
+struct oecls_dev_flow {
+ unsigned short cpu;
+ unsigned short filter;
+ unsigned int last_qtail;
+ int isvalid;
+ unsigned long timeout;
+};
+
+struct oecls_dev_flow_table {
+ unsigned int mask;
+ struct rcu_head rcu;
+ struct oecls_dev_flow flows[];
+};
+
+struct oecls_sock_flow_table {
+ u32 mask;
+ u32 ents[] ____cacheline_aligned_in_smp;
+};
+
+#define OECLS_DEV_FLOW_TABLE_NUM 0x1000
+#define OECLS_SOCK_FLOW_TABLE_NUM 0x100000
+#define OECLS_DEV_FLOW_TABLE_SIZE(_num) (sizeof(struct oecls_dev_flow_table) + \
+ ((_num) * sizeof(struct oecls_dev_flow)))
+#define OECLS_SOCK_FLOW_TABLE_SIZE(_num) (offsetof(struct oecls_sock_flow_table, ents[_num]))
+
+#define ETH_ALL_FLAGS (ETH_FLAG_LRO | ETH_FLAG_RXVLAN | ETH_FLAG_TXVLAN | \
+ ETH_FLAG_NTUPLE | ETH_FLAG_RXHASH)
+#define ETH_ALL_FEATURES (NETIF_F_LRO | NETIF_F_HW_VLAN_CTAG_RX | \
+ NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_NTUPLE | \
+ NETIF_F_RXHASH)
+
+struct rmgr_ctrl {
+ int driver_select;
+ unsigned long *slot;
+ __u32 n_rules;
+ __u32 size;
+};
+
+extern int match_ip_flag;
+extern int debug;
+extern int oecls_netdev_num;
+extern int oecls_numa_num;
+
+#define oecls_debug(fmt, ...) \
+ do { \
+ if (debug) \
+ trace_printk(fmt, ## __VA_ARGS__); \
+ } while (0)
+
+#define oecls_error(fmt, ...) \
+ do { \
+ pr_err("oenetcls [%s:%d]: " fmt, __FILE__, __LINE__, ## __VA_ARGS__); \
+ trace_printk(fmt, ## __VA_ARGS__); \
+ } while (0)
+
+struct oecls_netdev_info *get_oecls_netdev_info(unsigned int index);
+
+#define for_each_oecls_netdev(devid, oecls_dev) \
+ for (devid = 0, oecls_dev = get_oecls_netdev_info(devid); \
+ (devid < oecls_netdev_num) && oecls_dev; \
+ devid++, oecls_dev = get_oecls_netdev_info(devid))
+
+struct oecls_numa_info *get_oecls_numa_info(unsigned int nid);
+
+#define for_each_oecls_numa(nid, numa_info) \
+ for (nid = 0, numa_info = get_oecls_numa_info(nid); \
+ (nid < oecls_numa_num) && numa_info; \
+ nid++, numa_info = get_oecls_numa_info(nid))
+
+#ifdef CONFIG_ARM64_SVE
+void *__memcpy_aarch64_sve(void *, const void *, size_t);
+#define memcpy_r(dst, src, len) \
+ do { \
+ if (system_supports_sve()) \
+ __memcpy_aarch64_sve(dst, src, len); \
+ else \
+ memcpy(dst, src, len); \
+ } while (0)
+#else
+#define memcpy_r(dst, src, len) memcpy(dst, src, len)
+#endif
+
+int check_appname(char *task_name);
+int send_ethtool_ioctl(struct cmd_context *ctx, void *cmd);
+int alloc_rxq_id(int nid, int devid);
+void free_rxq_id(int nid, int devid, int rxq_id);
+void oecls_ntuple_res_init(void);
+void oecls_ntuple_res_clean(void);
+void oecls_flow_res_init(void);
+void oecls_flow_res_clean(void);
+
+#define L0_MAX_PAGE_SIZE (8192)
+#define L0_MAX_PAGE_NUM (4096)
+
+struct l0_vma_data {
+ struct page *page;
+ unsigned long size;
+ int nid;
+};
+
+void clean_oecls_l0_cache(void);
+void init_oecls_l0_cache(void);
+void *alloc_from_l0(int size);
+void free_to_l0(void *addr);
+int l3t_shared_lock(int nid, unsigned long pfn, unsigned long size);
+int l3t_shared_unlock(int nid, unsigned long pfn, unsigned long size);
+
+#endif /* _NET_OENETCLS_H */
diff --git a/net/oenetcls/oenetcls_flow.c b/net/oenetcls/oenetcls_flow.c
new file mode 100644
index 000000000000..c35ce5aca416
--- /dev/null
+++ b/net/oenetcls/oenetcls_flow.c
@@ -0,0 +1,402 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/inetdevice.h>
+#include <linux/netdevice.h>
+#include <linux/rtnetlink.h>
+#include <linux/irq.h>
+#include <linux/irqdesc.h>
+#include <linux/inet.h>
+#include <net/sock.h>
+#include <trace/hooks/oenetcls.h>
+#include "oenetcls.h"
+
+static u32 oecls_cpu_mask;
+static struct oecls_sock_flow_table __rcu *oecls_sock_flow_table;
+static DEFINE_MUTEX(oecls_sock_flow_mutex);
+static DEFINE_SPINLOCK(oecls_dev_flow_lock);
+
+bool is_oecls_config_netdev(const char *name)
+{
+ struct oecls_netdev_info *netdev_info;
+ int netdev_loop;
+
+ for_each_oecls_netdev(netdev_loop, netdev_info)
+ if (strcmp(netdev_info->dev_name, name) == 0)
+ return true;
+
+ return false;
+}
+
+static void oecls_timeout(void *data, struct net_device *dev, u16 rxq_index,
+ u32 flow_id, u16 filter_id, bool *ret)
+{
+ struct netdev_rx_queue *rxqueue = dev->_rx + rxq_index;
+ struct oecls_dev_flow_table *flow_table;
+ struct oecls_dev_flow *rflow;
+ bool expire = true;
+ unsigned int cpu;
+
+ rcu_read_lock();
+ flow_table = rcu_dereference(rxqueue->oecls_ftb);
+ if (flow_table && flow_id <= flow_table->mask) {
+ rflow = &flow_table->flows[flow_id];
+ cpu = READ_ONCE(rflow->cpu);
+ oecls_debug("dev:%s, rxq:%d, flow_id:%u, filter_id:%d/%d, cpu:%d", dev->name,
+ rxq_index, flow_id, filter_id, rflow->filter, cpu);
+
+ if (rflow->filter == filter_id && cpu < nr_cpu_ids) {
+ if (time_before(jiffies, rflow->timeout + OECLS_TIMEOUT)) {
+ expire = false;
+ } else {
+ rflow->isvalid = 0;
+ WRITE_ONCE(rflow->cpu, OECLS_NO_CPU);
+ }
+ }
+ }
+ rcu_read_unlock();
+ oecls_debug("%s, dev:%s, rxq:%d, flow_id:%u, filter_id:%d, expire:%d\n", __func__,
+ dev->name, rxq_index, flow_id, filter_id, expire);
+ *ret = expire;
+}
+
+static void oecls_flow_update(void *data, struct sock *sk)
+{
+ struct oecls_sock_flow_table *tb;
+ unsigned int hash, index;
+ u32 val;
+ u32 cpu = raw_smp_processor_id();
+
+ if (sk->sk_state != TCP_ESTABLISHED)
+ return;
+
+ if (check_appname(current->comm))
+ return;
+
+ rcu_read_lock();
+ tb = rcu_dereference(oecls_sock_flow_table);
+ hash = READ_ONCE(sk->sk_rxhash);
+ if (tb && hash) {
+ index = hash & tb->mask;
+ val = hash & ~oecls_cpu_mask;
+ val |= cpu;
+
+ if (READ_ONCE(tb->ents[index]) != val) {
+ WRITE_ONCE(tb->ents[index], val);
+
+ oecls_debug("[%s] sk:%p, hash:0x%x, index:0x%x, val:0x%x, cpu:%d\n",
+ current->comm, sk, hash, index, val, cpu);
+ }
+ }
+ rcu_read_unlock();
+}
+
+static int flow_get_queue_idx(struct net_device *dev, int nid, struct sk_buff *skb)
+{
+ struct oecls_netdev_info *netdev_info;
+ int netdev_loop;
+ u32 hash, index;
+ struct oecls_numa_info *numa_info;
+ struct oecls_numa_bound_dev_info *bound_dev = NULL;
+ int rxq_id, rxq_num, i;
+
+ numa_info = get_oecls_numa_info(nid);
+ if (!numa_info)
+ return -1;
+
+ for_each_oecls_netdev(netdev_loop, netdev_info) {
+ if (strcmp(netdev_info->dev_name, dev->name) == 0) {
+ bound_dev = &numa_info->bound_dev[netdev_loop];
+ break;
+ }
+ }
+
+ if (!bound_dev)
+ return -1;
+ rxq_num = bitmap_weight(bound_dev->bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV);
+ if (rxq_num == 0)
+ return -1;
+
+ hash = skb_get_hash(skb);
+ index = hash % rxq_num;
+
+ i = 0;
+ for_each_set_bit(rxq_id, bound_dev->bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV)
+ if (index == i++)
+ return rxq_id;
+
+ return -1;
+}
+
+static void set_oecls_cpu(struct net_device *dev, struct sk_buff *skb,
+ struct oecls_dev_flow *old_rflow, int old_rxq_id, u16 next_cpu)
+{
+ struct netdev_rx_queue *rxqueue;
+ struct oecls_dev_flow_table *dtb;
+ struct oecls_dev_flow *rflow;
+ u32 flow_id, hash;
+ u16 rxq_index;
+ int rc;
+
+ if (!skb_rx_queue_recorded(skb) || !dev->rx_cpu_rmap ||
+ !(dev->features & NETIF_F_NTUPLE))
+ return;
+
+ rxq_index = flow_get_queue_idx(dev, cpu_to_node(next_cpu), skb);
+ if (rxq_index == skb_get_rx_queue(skb) || rxq_index < 0)
+ return;
+
+ rxqueue = dev->_rx + rxq_index;
+ dtb = rcu_dereference(rxqueue->oecls_ftb);
+ if (!dtb)
+ return;
+
+ hash = skb_get_hash(skb);
+ flow_id = hash & dtb->mask;
+ rflow = &dtb->flows[flow_id];
+ if (rflow->isvalid && rflow->cpu == next_cpu) {
+ rflow->timeout = jiffies;
+ return;
+ }
+
+ rc = dev->netdev_ops->ndo_rx_flow_steer(dev, skb, rxq_index, flow_id);
+ oecls_debug("skb:%p, rxq:%d, hash:0x%x, flow_id:%u, old_rxq_id:%d, next_cpu:%d, rc:%d\n",
+ skb, rxq_index, hash, flow_id, old_rxq_id, next_cpu, rc);
+ if (rc < 0)
+ return;
+
+ rflow->filter = rc;
+ rflow->isvalid = 1;
+ rflow->timeout = jiffies;
+ if (old_rflow->filter == rflow->filter)
+ old_rflow->filter = OECLS_NO_FILTER;
+ rflow->cpu = next_cpu;
+}
+
+static void __oecls_set_cpu(struct sk_buff *skb, struct net_device *ndev,
+ struct oecls_sock_flow_table *tb, struct oecls_dev_flow_table *dtb,
+ int old_rxq_id)
+{
+ struct oecls_dev_flow *rflow;
+ u32 last_recv_cpu, hash, val;
+ u32 tcpu = 0;
+ u32 cpu = raw_smp_processor_id();
+
+ skb_reset_network_header(skb);
+ hash = skb_get_hash(skb);
+ if (!hash)
+ return;
+
+ val = READ_ONCE(tb->ents[hash & tb->mask]);
+ last_recv_cpu = val & oecls_cpu_mask;
+ rflow = &dtb->flows[hash & dtb->mask];
+ tcpu = rflow->cpu;
+
+ if ((val ^ hash) & ~oecls_cpu_mask)
+ return;
+
+ if (cpu_to_node(cpu) == cpu_to_node(last_recv_cpu))
+ return;
+
+ if (tcpu >= nr_cpu_ids)
+ set_oecls_cpu(ndev, skb, rflow, old_rxq_id, last_recv_cpu);
+}
+
+static void oecls_set_cpu(void *data, struct sk_buff *skb)
+{
+ struct net_device *ndev = skb->dev;
+ struct oecls_sock_flow_table *stb;
+ struct oecls_dev_flow_table *dtb;
+ struct netdev_rx_queue *rxqueue;
+ int rxq_id = -1;
+
+ if (!ndev)
+ return;
+
+ if (!is_oecls_config_netdev(ndev->name))
+ return;
+
+ rxqueue = ndev->_rx;
+ if (skb_rx_queue_recorded(skb)) {
+ rxq_id = skb_get_rx_queue(skb);
+ if (rxq_id >= ndev->real_num_rx_queues) {
+ oecls_debug("ndev:%s, rxq:%d, real_num:%d\n", ndev->name,
+ rxq_id, ndev->real_num_rx_queues);
+ return;
+ }
+ rxqueue += rxq_id;
+ }
+
+ // oecls_debug("skb:%px, dev:%s, rxq_id:%d\n", skb, ndev->name, rxq_id);
+ if (rxq_id < 0)
+ return;
+
+ rcu_read_lock();
+ stb = rcu_dereference(oecls_sock_flow_table);
+ dtb = rcu_dereference(rxqueue->oecls_ftb);
+ if (stb && dtb)
+ __oecls_set_cpu(skb, ndev, stb, dtb, rxq_id);
+
+ rcu_read_unlock();
+}
+
+static void oecls_dev_flow_table_free(struct rcu_head *rcu)
+{
+ struct oecls_dev_flow_table *table = container_of(rcu,
+ struct oecls_dev_flow_table, rcu);
+ vfree(table);
+}
+
+static void oecls_dev_flow_table_cleanup(struct net_device *netdev, int qid)
+{
+ struct oecls_dev_flow_table *dtb;
+ struct netdev_rx_queue *queue;
+ int i;
+
+ spin_lock(&oecls_dev_flow_lock);
+ for (i = 0; i < qid; i++) {
+ queue = netdev->_rx + i;
+ dtb = rcu_dereference_protected(queue->oecls_ftb,
+ lockdep_is_held(&oecls_dev_flow_lock));
+ rcu_assign_pointer(queue->oecls_ftb, NULL);
+ }
+ spin_unlock(&oecls_dev_flow_lock);
+ call_rcu(&dtb->rcu, oecls_dev_flow_table_free);
+}
+
+static int oecls_dev_flow_table_release(void)
+{
+ struct oecls_netdev_info *netdev_info;
+ int netdev_loop;
+ struct net_device *netdev;
+
+ for_each_oecls_netdev(netdev_loop, netdev_info) {
+ netdev = netdev_info->netdev;
+ if (!netdev)
+ continue;
+ oecls_dev_flow_table_cleanup(netdev, netdev->num_rx_queues);
+ }
+
+ return 0;
+}
+
+static int _oecls_dev_flow_table_init(struct net_device *netdev)
+{
+ struct oecls_dev_flow_table *table;
+ int size = OECLS_DEV_FLOW_TABLE_NUM;
+ struct netdev_rx_queue *queue;
+ int i, j, ret = 0;
+
+ size = roundup_pow_of_two(size);
+ oecls_debug("dev:%s, num_rx_queues:%d, mask:0x%x\n", netdev->name, netdev->num_rx_queues,
+ size - 1);
+
+ for (i = 0; i < netdev->num_rx_queues; i++) {
+ table = vmalloc(OECLS_DEV_FLOW_TABLE_SIZE(size));
+ if (!table) {
+ ret = -ENOMEM;
+ goto fail;
+ }
+
+ table->mask = size - 1;
+ for (j = 0; j < size; j++) {
+ table->flows[j].cpu = OECLS_NO_CPU;
+ table->flows[j].isvalid = 0;
+ }
+
+ queue = netdev->_rx + i;
+
+ spin_lock(&oecls_dev_flow_lock);
+ rcu_assign_pointer(queue->oecls_ftb, table);
+ spin_unlock(&oecls_dev_flow_lock);
+ }
+ return ret;
+fail:
+ oecls_dev_flow_table_cleanup(netdev, i);
+ return ret;
+}
+
+static int oecls_dev_flow_table_init(void)
+{
+ struct oecls_netdev_info *netdev_info;
+ int netdev_loop;
+ struct net_device *ndev;
+ int i, err;
+
+ for_each_oecls_netdev(netdev_loop, netdev_info) {
+ ndev = netdev_info->netdev;
+ if (!ndev)
+ continue;
+ err = _oecls_dev_flow_table_init(ndev);
+ if (err)
+ goto out;
+ }
+
+ return 0;
+out:
+ for (i = 0; i < netdev_loop; i++) {
+ netdev_info = get_oecls_netdev_info(i);
+ ndev = netdev_info->netdev;
+ if (!ndev)
+ continue;
+ oecls_dev_flow_table_cleanup(ndev, ndev->num_rx_queues);
+ }
+ return err;
+}
+
+static int oecls_sock_flow_table_release(void)
+{
+ struct oecls_sock_flow_table *tb;
+
+ mutex_lock(&oecls_sock_flow_mutex);
+ tb = rcu_dereference_protected(oecls_sock_flow_table,
+ lockdep_is_held(&oecls_sock_flow_mutex));
+ if (tb)
+ rcu_assign_pointer(oecls_sock_flow_table, NULL);
+ mutex_unlock(&oecls_sock_flow_mutex);
+ synchronize_rcu();
+ vfree(tb);
+
+ unregister_trace_oecls_flow_update(&oecls_flow_update, NULL);
+ unregister_trace_oecls_set_cpu(&oecls_set_cpu, NULL);
+ unregister_trace_oecls_timeout(&oecls_timeout, NULL);
+ return 0;
+}
+
+static int oecls_sock_flow_table_init(void)
+{
+ struct oecls_sock_flow_table *table;
+ int size = OECLS_SOCK_FLOW_TABLE_NUM;
+ int i;
+
+ size = roundup_pow_of_two(size);
+ table = vmalloc(OECLS_SOCK_FLOW_TABLE_SIZE(size));
+ if (!table)
+ return -ENOMEM;
+
+ oecls_cpu_mask = roundup_pow_of_two(nr_cpu_ids) - 1;
+ oecls_debug("nr_cpu_ids:%d, oecls_cpu_mask:0x%x\n", nr_cpu_ids, oecls_cpu_mask);
+
+ table->mask = size - 1;
+ for (i = 0; i < size; i++)
+ table->ents[i] = OECLS_NO_CPU;
+
+ mutex_lock(&oecls_sock_flow_mutex);
+ rcu_assign_pointer(oecls_sock_flow_table, table);
+ mutex_unlock(&oecls_sock_flow_mutex);
+
+ register_trace_oecls_flow_update(oecls_flow_update, NULL);
+ register_trace_oecls_set_cpu(&oecls_set_cpu, NULL);
+ register_trace_oecls_timeout(&oecls_timeout, NULL);
+ return 0;
+}
+
+void oecls_flow_res_init(void)
+{
+ oecls_sock_flow_table_init();
+ oecls_dev_flow_table_init();
+}
+
+void oecls_flow_res_clean(void)
+{
+ oecls_sock_flow_table_release();
+ oecls_dev_flow_table_release();
+}
diff --git a/net/oenetcls/oenetcls_l0.c b/net/oenetcls/oenetcls_l0.c
new file mode 100644
index 000000000000..b820a1cf96bd
--- /dev/null
+++ b/net/oenetcls/oenetcls_l0.c
@@ -0,0 +1,193 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/fs.h>
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/miscdevice.h>
+#include <linux/kallsyms.h>
+#include <linux/mm.h>
+#include <linux/gfp.h>
+#include <linux/mempolicy.h>
+#include <linux/pfn_t.h>
+#include <linux/delay.h>
+#include "oenetcls.h"
+
+static struct vm_area_struct *oecls_l0_cache __ro_after_init;
+static void *oecls_l0_cache_head;
+static atomic_t alloc_num_l0 = ATOMIC_INIT(0);
+static int cur_offset_l0;
+static u8 slot_l0[L0_MAX_PAGE_NUM] = { 0 };
+
+void *alloc_from_l0(int size)
+{
+ int i;
+ void *addr = NULL;
+
+ if (!oecls_l0_cache_head)
+ return kzalloc(size, GFP_ATOMIC);
+
+ if (size > L0_MAX_PAGE_SIZE) {
+ oecls_error("size(%d) >= max_size(%d)!\n", size, L0_MAX_PAGE_SIZE);
+ return NULL;
+ }
+
+ if (atomic_read(&alloc_num_l0) >= L0_MAX_PAGE_NUM) {
+ oecls_error("alloc_num_l0:%d exceed max num!\n", atomic_read(&alloc_num_l0));
+ return NULL;
+ }
+
+ for (i = 0; i < L0_MAX_PAGE_NUM; i++) {
+ cur_offset_l0 = (cur_offset_l0 + 1) % L0_MAX_PAGE_NUM;
+ if (slot_l0[cur_offset_l0] == 0) {
+ addr = oecls_l0_cache_head + cur_offset_l0 * L0_MAX_PAGE_SIZE;
+ atomic_inc(&alloc_num_l0);
+ slot_l0[cur_offset_l0] = 1;
+ break;
+ }
+ }
+
+ if (!addr)
+ oecls_error("app:%s, pid:%d alloc fail!\n", current->comm, current->pid);
+ return addr;
+}
+
+void free_to_l0(void *addr)
+{
+ int offset = 0;
+
+ if (!addr)
+ return;
+
+ if (!oecls_l0_cache_head) {
+ kfree(addr);
+ return;
+ }
+
+ if (atomic_read(&alloc_num_l0) <= 0) {
+ oecls_error("alloc_num_l0:%d <= 0!\n", atomic_read(&alloc_num_l0));
+ return;
+ }
+
+ offset = (addr - oecls_l0_cache_head) / L0_MAX_PAGE_SIZE;
+ if (offset >= L0_MAX_PAGE_NUM) {
+ oecls_error("app:%s, pid:%d, offset:%d\n", current->comm, current->pid, offset);
+ return;
+ }
+
+ slot_l0[offset] = 0;
+ atomic_dec(&alloc_num_l0);
+}
+
+static int get_node_node(struct vm_area_struct *vma)
+{
+ struct mempolicy *pol;
+ nodemask_t *nmask;
+ int nid;
+
+ nid = get_vma_policy_node(vma, vma->vm_start, GFP_KERNEL, &pol, &nmask);
+ if (pol->mode == MPOL_BIND || pol->mode == MPOL_PREFERRED_MANY)
+ nid = first_node(*nmask);
+
+ return nid;
+}
+
+static int oecls_l0_cache_mmap(struct file *filp, struct vm_area_struct *vma)
+{
+ unsigned long cont_size = PAGE_ALIGN(vma->vm_end - vma->vm_start);
+ struct page *page = NULL;
+ struct l0_vma_data *data;
+ int page_cnt, nid;
+ int ret = 0;
+
+ if ((vma->vm_start % PMD_SIZE) || (vma->vm_end % PMD_SIZE)) {
+ oecls_error("error vma_start: %#lx, vma_end: %#lx\n", vma->vm_start, vma->vm_end);
+ return -EINVAL;
+ }
+
+ data = kzalloc(sizeof(*data), GFP_KERNEL);
+ if (!data) {
+ oecls_error("kzalloc l0_vma_data fail!\n");
+ return -ENOMEM;
+ }
+
+ page_cnt = cont_size >> PAGE_SHIFT;
+ nid = get_node_node(vma);
+#ifdef CONFIG_CONTIG_ALLOC
+ page = alloc_contig_pages(page_cnt, GFP_KERNEL, nid, NULL);
+#endif
+ if (!page) {
+ ret = -ENOMEM;
+ oecls_error("alloc_contig_pages fail! page_cnt:%d, nid:%d\n", page_cnt, nid);
+ goto free_data;
+ }
+
+#if IS_ENABLED(CONFIG_HISI_L3T)
+ ret = l3t_shared_lock(nid, page_to_pfn(page), cont_size);
+#endif
+ if (ret) {
+ ret = -EOPNOTSUPP;
+ oecls_error("l3t_shared_lock fail! ret: %d\n", ret);
+ goto free_page;
+ }
+
+ data->page = page;
+ data->size = cont_size;
+ data->nid = nid;
+ vma->vm_private_data = data;
+ return 0;
+free_page:
+ free_contig_range(page_to_pfn(page), page_cnt);
+free_data:
+ kfree(data);
+ return ret;
+}
+
+void init_oecls_l0_cache(void)
+{
+ int ret = 0;
+ struct l0_vma_data *sbkpages;
+
+ oecls_l0_cache = kzalloc(sizeof(*oecls_l0_cache), GFP_KERNEL);
+ if (!oecls_l0_cache) {
+ oecls_error("kzalloc oecls_l0_cache fail!\n");
+ return;
+ }
+ oecls_l0_cache->vm_start = 0;
+ oecls_l0_cache->vm_end = L0_MAX_PAGE_NUM * L0_MAX_PAGE_SIZE;
+
+ ret = oecls_l0_cache_mmap(NULL, oecls_l0_cache);
+ if (ret != 0) {
+ kfree(oecls_l0_cache);
+ oecls_l0_cache = NULL;
+ return;
+ }
+ sbkpages = (struct l0_vma_data *)(oecls_l0_cache->vm_private_data);
+ oecls_l0_cache_head = page_to_virt(sbkpages->page);
+
+ atomic_set(&alloc_num_l0, 0);
+ oecls_debug("l0_cache:%p, l0_cache_head:%p\n", oecls_l0_cache, oecls_l0_cache_head);
+}
+
+void clean_oecls_l0_cache(void)
+{
+ struct l0_vma_data *sbkpages;
+
+ if (!oecls_l0_cache)
+ return;
+
+ oecls_debug("alloc_num_l0:%d\n", atomic_read(&alloc_num_l0));
+ while (atomic_read(&alloc_num_l0) != 0)
+ mdelay(1);
+
+ sbkpages = (struct l0_vma_data *)(oecls_l0_cache->vm_private_data);
+ if (sbkpages) {
+#if IS_ENABLED(CONFIG_HISI_L3T)
+ l3t_shared_unlock(sbkpages->nid, page_to_pfn(sbkpages->page), sbkpages->size);
+#endif
+ free_contig_range(page_to_pfn(sbkpages->page), sbkpages->size >> PAGE_SHIFT);
+ kfree(sbkpages);
+ oecls_l0_cache_head = NULL;
+ }
+
+ kfree(oecls_l0_cache);
+}
diff --git a/net/oenetcls/oenetcls_main.c b/net/oenetcls/oenetcls_main.c
new file mode 100644
index 000000000000..8cf5d02bb5b9
--- /dev/null
+++ b/net/oenetcls/oenetcls_main.c
@@ -0,0 +1,972 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/module.h>
+#include <linux/netdevice.h>
+#include <linux/netdev_features.h>
+#include <linux/ethtool.h>
+#include <linux/irq.h>
+#include <linux/irqdesc.h>
+#include <linux/rtnetlink.h>
+#include "oenetcls.h"
+
+int oecls_netdev_num;
+static struct oecls_netdev_info oecls_netdev_info_table[OECLS_MAX_NETDEV_NUM];
+
+int oecls_numa_num;
+static struct oecls_numa_info oecls_numa_info_table[OECLS_MAX_NUMA_NUM];
+
+int debug;
+module_param(debug, int, 0644);
+MODULE_PARM_DESC(debug, "debug switch");
+
+static int mode;
+module_param(mode, int, 0444);
+MODULE_PARM_DESC(mode, "mode, default 0");
+
+static char ifname[64] = { 0 };
+module_param_string(ifname, ifname, sizeof(ifname), 0444);
+MODULE_PARM_DESC(ifname, "ifname");
+
+static char appname[64] = "redis-server";
+module_param_string(appname, appname, sizeof(appname), 0644);
+MODULE_PARM_DESC(appname, "appname, default redis-server");
+
+int match_ip_flag = 1;
+module_param(match_ip_flag, int, 0644);
+MODULE_PARM_DESC(match_ip_flag, "match ip flag");
+
+static int strategy;
+module_param(strategy, int, 0444);
+MODULE_PARM_DESC(strategy, "strategy, default 0");
+
+static bool check_params(void)
+{
+ if (mode != 0 && mode != 1)
+ return false;
+
+ if (strlen(ifname) == 0)
+ return false;
+
+ return true;
+}
+
+int check_appname(char *task_name)
+{
+ char *start = appname;
+ char *end;
+
+ if (!strlen(appname))
+ return 0;
+
+ // support appname: app1#app2#appN
+ while (*start != '\0') {
+ end = strchr(start, '#');
+ if (end == start) {
+ start++;
+ continue;
+ }
+
+ if (!end) {
+ if (!strncmp(task_name, start, strlen(start)))
+ return 0;
+ break;
+ }
+
+ if (!strncmp(task_name, start, end - start))
+ return 0;
+ start = end + 1;
+ }
+ return -EOPNOTSUPP;
+}
+
+static u32 __ethtool_get_flags(struct net_device *dev)
+{
+ u32 flags = 0;
+
+ if (dev->features & NETIF_F_LRO)
+ flags |= ETH_FLAG_LRO;
+ if (dev->features & NETIF_F_HW_VLAN_CTAG_RX)
+ flags |= ETH_FLAG_RXVLAN;
+ if (dev->features & NETIF_F_HW_VLAN_CTAG_TX)
+ flags |= ETH_FLAG_TXVLAN;
+ if (dev->features & NETIF_F_NTUPLE)
+ flags |= ETH_FLAG_NTUPLE;
+ if (dev->features & NETIF_F_RXHASH)
+ flags |= ETH_FLAG_RXHASH;
+
+ return flags;
+}
+
+static int __ethtool_set_flags(struct net_device *dev, u32 data)
+{
+ netdev_features_t features = 0, changed;
+
+ if (data & ~ETH_ALL_FLAGS)
+ return -EINVAL;
+
+ if (data & ETH_FLAG_LRO)
+ features |= NETIF_F_LRO;
+ if (data & ETH_FLAG_RXVLAN)
+ features |= NETIF_F_HW_VLAN_CTAG_RX;
+ if (data & ETH_FLAG_TXVLAN)
+ features |= NETIF_F_HW_VLAN_CTAG_TX;
+ if (data & ETH_FLAG_NTUPLE)
+ features |= NETIF_F_NTUPLE;
+ if (data & ETH_FLAG_RXHASH)
+ features |= NETIF_F_RXHASH;
+
+ /* allow changing only bits set in hw_features */
+ changed = (features ^ dev->features) & ETH_ALL_FEATURES;
+ if (changed & ~dev->hw_features)
+ return (changed & dev->hw_features) ? -EINVAL : -EOPNOTSUPP;
+
+ dev->wanted_features =
+ (dev->wanted_features & ~changed) | (features & changed);
+
+ __netdev_update_features(dev);
+
+ return 0;
+}
+
+static void ethtool_rxnfc_copy_to_user(void *useraddr,
+ const struct ethtool_rxnfc *rxnfc,
+ size_t size, const u32 *rule_buf)
+{
+ memcpy_r(useraddr, rxnfc, size);
+ useraddr += offsetof(struct ethtool_rxnfc, rule_locs);
+
+ if (rule_buf)
+ memcpy_r(useraddr, rule_buf, rxnfc->rule_cnt * sizeof(u32));
+}
+
+static noinline_for_stack int ethtool_set_rxnfc(struct net_device *dev,
+ u32 cmd, void *useraddr)
+{
+ struct ethtool_rxnfc info;
+ size_t info_size = sizeof(info);
+ int rc;
+
+ if (!dev->ethtool_ops->set_rxnfc)
+ return -EOPNOTSUPP;
+
+ if (cmd == ETHTOOL_SRXFH)
+ info_size = (offsetof(struct ethtool_rxnfc, data) +
+ sizeof(info.data));
+
+ memcpy_r(&info, useraddr, info_size);
+ rc = dev->ethtool_ops->set_rxnfc(dev, &info);
+ if (rc)
+ return rc;
+
+ if (cmd == ETHTOOL_SRXCLSRLINS)
+ ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, NULL);
+
+ return 0;
+}
+
+static noinline_for_stack int ethtool_get_rxnfc(struct net_device *dev,
+ u32 cmd, void *useraddr)
+{
+ struct ethtool_rxnfc info;
+ size_t info_size = sizeof(info);
+ const struct ethtool_ops *ops = dev->ethtool_ops;
+ int ret;
+ void *rule_buf = NULL;
+
+ if (!ops->get_rxnfc)
+ return -EOPNOTSUPP;
+
+ if (cmd == ETHTOOL_GRXFH)
+ info_size = (offsetof(struct ethtool_rxnfc, data) +
+ sizeof(info.data));
+
+ memcpy_r(&info, useraddr, info_size);
+
+ /* If FLOW_RSS was requested then user-space must be using the
+ * new definition, as FLOW_RSS is newer.
+ */
+ if (cmd == ETHTOOL_GRXFH && info.flow_type & FLOW_RSS) {
+ info_size = sizeof(info);
+ memcpy_r(&info, useraddr, info_size);
+ /* Since malicious users may modify the original data,
+ * we need to check whether FLOW_RSS is still requested.
+ */
+ if (!(info.flow_type & FLOW_RSS))
+ return -EINVAL;
+ }
+
+ if (info.cmd != cmd)
+ return -EINVAL;
+
+ if (info.cmd == ETHTOOL_GRXCLSRLALL) {
+ if (info.rule_cnt > 0) {
+ if (info.rule_cnt <= KMALLOC_MAX_SIZE / sizeof(u32))
+ rule_buf = kcalloc(info.rule_cnt, sizeof(u32),
+ GFP_KERNEL);
+ if (!rule_buf)
+ return -ENOMEM;
+ }
+ }
+
+ ret = ops->get_rxnfc(dev, &info, rule_buf);
+ if (ret < 0)
+ goto err_out;
+
+ ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, rule_buf);
+err_out:
+ kfree(rule_buf);
+
+ return ret;
+}
+
+static noinline_for_stack int ethtool_get_channels(struct net_device *dev,
+ void *useraddr)
+{
+ struct ethtool_channels channels = { .cmd = ETHTOOL_GCHANNELS };
+
+ if (!dev->ethtool_ops->get_channels)
+ return -EOPNOTSUPP;
+
+ dev->ethtool_ops->get_channels(dev, &channels);
+
+ memcpy_r(useraddr, &channels, sizeof(channels));
+ return 0;
+}
+
+static int ethtool_get_value(struct net_device *dev, char *useraddr,
+ u32 cmd, u32 (*actor)(struct net_device *))
+{
+ struct ethtool_value edata = { .cmd = cmd };
+
+ if (!actor)
+ return -EOPNOTSUPP;
+
+ edata.data = actor(dev);
+
+ memcpy_r(useraddr, &edata, sizeof(edata));
+ return 0;
+}
+
+static int ethtool_set_value(struct net_device *dev, char *useraddr,
+ int (*actor)(struct net_device *, u32))
+{
+ struct ethtool_value edata;
+
+ if (!actor)
+ return -EOPNOTSUPP;
+
+ memcpy_r(&edata, useraddr, sizeof(edata));
+
+ return actor(dev, edata.data);
+}
+
+static int dev_ethtool_kern(struct net *net, struct ifreq *ifr)
+{
+ struct net_device *dev = __dev_get_by_name(net, ifr->ifr_name);
+ void *useraddr = ifr->ifr_data;
+ u32 ethcmd, sub_cmd;
+ int rc;
+ netdev_features_t old_features;
+
+ if (!dev || !netif_device_present(dev))
+ return -ENODEV;
+
+ memcpy_r(ðcmd, useraddr, sizeof(ethcmd));
+
+ if (ethcmd == ETHTOOL_PERQUEUE)
+ memcpy_r(&sub_cmd, useraddr + sizeof(ethcmd), sizeof(sub_cmd));
+ else
+ sub_cmd = ethcmd;
+
+ /* Allow some commands to be done by anyone */
+ switch (sub_cmd) {
+ case ETHTOOL_GFLAGS:
+ case ETHTOOL_GRXFH:
+ case ETHTOOL_GRXRINGS:
+ case ETHTOOL_GRXCLSRLCNT:
+ case ETHTOOL_GRXCLSRULE:
+ case ETHTOOL_GRXCLSRLALL:
+ case ETHTOOL_GCHANNELS:
+ break;
+ default:
+ if (!ns_capable(net->user_ns, CAP_NET_ADMIN))
+ return -EPERM;
+ }
+
+ if (dev->ethtool_ops->begin) {
+ rc = dev->ethtool_ops->begin(dev);
+ if (rc < 0)
+ return rc;
+ }
+ old_features = dev->features;
+
+ switch (ethcmd) {
+ case ETHTOOL_GFLAGS:
+ rc = ethtool_get_value(dev, useraddr, ethcmd,
+ __ethtool_get_flags);
+ break;
+ case ETHTOOL_SFLAGS:
+ rc = ethtool_set_value(dev, useraddr, __ethtool_set_flags);
+ break;
+ case ETHTOOL_GRXFH:
+ case ETHTOOL_GRXRINGS:
+ case ETHTOOL_GRXCLSRLCNT:
+ case ETHTOOL_GRXCLSRULE:
+ case ETHTOOL_GRXCLSRLALL:
+ rc = ethtool_get_rxnfc(dev, ethcmd, useraddr);
+ break;
+ case ETHTOOL_SRXFH:
+ case ETHTOOL_SRXCLSRLDEL:
+ case ETHTOOL_SRXCLSRLINS:
+ rc = ethtool_set_rxnfc(dev, ethcmd, useraddr);
+ break;
+ case ETHTOOL_GCHANNELS:
+ rc = ethtool_get_channels(dev, useraddr);
+ break;
+ default:
+ rc = -EOPNOTSUPP;
+ }
+
+ if (dev->ethtool_ops->complete)
+ dev->ethtool_ops->complete(dev);
+
+ if (old_features != dev->features)
+ netdev_features_change(dev);
+
+ return rc;
+}
+
+int send_ethtool_ioctl(struct cmd_context *ctx, void *cmd)
+{
+ struct ifreq ifr = {0};
+ int ret;
+
+ strncpy(ifr.ifr_name, ctx->netdev, sizeof(ctx->netdev));
+ ifr.ifr_data = cmd;
+
+ rtnl_lock();
+ ret = dev_ethtool_kern(&init_net, &ifr);
+ rtnl_unlock();
+
+ return ret;
+}
+
+struct oecls_netdev_info *get_oecls_netdev_info(unsigned int index)
+{
+ if (index >= OECLS_MAX_NETDEV_NUM)
+ return NULL;
+ return &oecls_netdev_info_table[index];
+}
+
+static struct oecls_netdev_info *alloc_oecls_netdev_info(void)
+{
+ if (oecls_netdev_num >= OECLS_MAX_NETDEV_NUM)
+ return NULL;
+
+ return &oecls_netdev_info_table[oecls_netdev_num++];
+}
+
+static bool check_irq_name(const char *irq_name, struct oecls_netdev_info *oecls_dev)
+{
+ if (!strstr(irq_name, "TxRx") && !strstr(irq_name, "comp") && !strstr(irq_name, "rx"))
+ return false;
+
+ if (strstr(irq_name, oecls_dev->dev_name))
+ return true;
+
+ if (oecls_dev->netdev->dev.parent &&
+ strstr(irq_name, dev_name(oecls_dev->netdev->dev.parent)))
+ return true;
+
+ return false;
+}
+
+static void get_netdev_queue_info(struct oecls_netdev_info *oecls_dev)
+{
+ struct oecls_netdev_queue_info *rxq_info;
+ struct irq_desc *desc;
+ int irq;
+
+ for_each_irq_desc(irq, desc) {
+ if (!desc->action)
+ continue;
+ if (!desc->action->name)
+ continue;
+ if (!check_irq_name(desc->action->name, oecls_dev))
+ continue;
+
+ oecls_debug("irq=%d, [%s], rxq_id=%d\n", irq, desc->action->name,
+ oecls_dev->rxq_num);
+
+ if (oecls_dev->rxq_num >= OECLS_MAX_RXQ_NUM_PER_DEV)
+ break;
+ rxq_info = &oecls_dev->rxq[oecls_dev->rxq_num++];
+ rxq_info->irq = irq;
+ }
+}
+
+static int oecls_filter_enable(const char *dev_name, bool *old_state)
+{
+ struct ethtool_value eval = {0};
+ struct cmd_context ctx = {0};
+ int ret;
+
+ strncpy(ctx.netdev, dev_name, IFNAMSIZ);
+
+ eval.cmd = ETHTOOL_GFLAGS;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("get %s flags fail, ret:%d\n", dev_name, ret);
+ return ret;
+ }
+ if (eval.data & ETH_FLAG_NTUPLE) {
+ *old_state = true;
+ oecls_debug("%s ntuple is already on\n", dev_name);
+ return 0;
+ }
+
+ // Set ntuple feature
+ eval.cmd = ETHTOOL_SFLAGS;
+ eval.data |= ETH_FLAG_NTUPLE;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("set %s flags fail, ret:%d\n", dev_name, ret);
+ return ret;
+ }
+
+ // Get ntuple feature
+ eval.cmd = ETHTOOL_GFLAGS;
+ eval.data = 0;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("get %s flags fail, ret:%d\n", dev_name, ret);
+ return ret;
+ }
+ if (!(eval.data & ETH_FLAG_NTUPLE)) {
+ oecls_error("enable ntuple feature fail!\n");
+ return -EOPNOTSUPP;
+ }
+
+ return 0;
+}
+
+static void oecls_filter_restore(const char *dev_name, bool old_state)
+{
+ struct ethtool_value eval = {0};
+ struct cmd_context ctx = {0};
+ bool cur_filter_state;
+ int ret;
+
+ strncpy(ctx.netdev, dev_name, IFNAMSIZ);
+
+ eval.cmd = ETHTOOL_GFLAGS;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("get %s flags fail, ret:%d\n", dev_name, ret);
+ return;
+ }
+
+ cur_filter_state = (eval.data & ETH_FLAG_NTUPLE) ? true : false;
+ if (cur_filter_state == old_state)
+ return;
+
+ // Set ntuple feature
+ eval.cmd = ETHTOOL_SFLAGS;
+ if (old_state)
+ eval.data |= ETH_FLAG_NTUPLE;
+ else
+ eval.data &= ~ETH_FLAG_NTUPLE;
+ ret = send_ethtool_ioctl(&ctx, &eval);
+ if (ret != 0) {
+ oecls_error("set %s flags fail, ret:%d\n", dev_name, ret);
+ return;
+ }
+}
+
+static int init_single_oecls_dev(char *if_name, unsigned int length)
+{
+ struct oecls_netdev_info *oecls_dev;
+ char dev_name[IFNAMSIZ] = { 0 };
+ struct net_device *netdev;
+ int cpy_len = length < IFNAMSIZ ? length : IFNAMSIZ;
+ bool old_state = false;
+ int ret;
+
+ strncpy(dev_name, if_name, cpy_len);
+ netdev = dev_get_by_name(&init_net, dev_name);
+ if (!netdev) {
+ oecls_error("dev [%s] is not exist!\n", dev_name);
+ return -ENODEV;
+ }
+
+ if (!(netdev->flags & IFF_UP)) {
+ ret = -ENETDOWN;
+ oecls_error("dev:%s not up! flags=%d.\n", dev_name, netdev->flags);
+ goto out;
+ }
+
+ if (netdev->flags & IFF_LOOPBACK) {
+ ret = -EOPNOTSUPP;
+ oecls_error("Do not support loopback.\n");
+ goto out;
+ }
+
+ ret = oecls_filter_enable(dev_name, &old_state);
+ if (ret) {
+ oecls_error("dev [%s] not support ntuple! ret=%d\n", dev_name, ret);
+ goto out;
+ }
+
+ oecls_dev = alloc_oecls_netdev_info();
+ if (!oecls_dev) {
+ ret = -ENOMEM;
+ oecls_filter_restore(dev_name, old_state);
+ oecls_error("alloc oecls_dev fail! oecls_netdev_num:%d\n", oecls_netdev_num);
+ goto out;
+ }
+
+ memcpy_r(oecls_dev->dev_name, dev_name, IFNAMSIZ);
+ oecls_dev->old_filter_state = old_state;
+ oecls_dev->netdev = netdev;
+ get_netdev_queue_info(oecls_dev);
+ return 0;
+
+out:
+ dev_put(netdev);
+ return ret;
+}
+
+static void clean_oecls_netdev_info(void)
+{
+ struct oecls_netdev_info *oecls_dev;
+ struct net_device *netdev;
+ int devid;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ oecls_filter_restore(oecls_dev->dev_name, oecls_dev->old_filter_state);
+ netdev = oecls_dev->netdev;
+ if (netdev) {
+ oecls_dev->netdev = NULL;
+ dev_put(netdev);
+ }
+ }
+
+ oecls_netdev_num = 0;
+}
+
+static int init_oecls_netdev_info(char *netdev_str)
+{
+ char *start = netdev_str;
+ char *end;
+ int err = -ENODEV;
+
+ while (*start != '\0') {
+ // skip start #
+ end = strchr(start, '#');
+ if (end == start) {
+ start++;
+ continue;
+ }
+
+ // find the last ifname
+ if (!end) {
+ err = init_single_oecls_dev(start, strlen(start));
+ break;
+ }
+
+ err = init_single_oecls_dev(start, end - start);
+ if (err)
+ break;
+ start = end + 1;
+ }
+
+ return err;
+}
+
+struct oecls_numa_info *get_oecls_numa_info(unsigned int nid)
+{
+ if (nid >= OECLS_MAX_NUMA_NUM)
+ return NULL;
+ return &oecls_numa_info_table[nid];
+}
+
+static void clean_oecls_numa_info(void)
+{
+ oecls_numa_num = 0;
+}
+
+static void init_numa_avail_cpus(int nid, struct oecls_numa_info *numa_info)
+{
+ int cpu;
+
+ oecls_debug("numa node %d: %*pb, %*pbl\n", nid, cpumask_pr_args(cpumask_of_node(nid)),
+ cpumask_pr_args(cpumask_of_node(nid)));
+
+ bitmap_zero(numa_info->avail_cpus, OECLS_MAX_CPU_NUM);
+ for_each_cpu(cpu, cpumask_of_node(nid)) {
+ if (cpu >= OECLS_MAX_CPU_NUM)
+ return;
+ set_bit(cpu, numa_info->avail_cpus);
+ }
+}
+
+static void init_numa_rxq_bitmap(int nid, struct oecls_numa_info *numa_info)
+{
+ struct oecls_numa_bound_dev_info *bound_dev;
+ struct oecls_netdev_info *oecls_dev;
+ int bound_rxq_num;
+ int rxq_id;
+ int devid;
+ int cpu;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ bound_rxq_num = 0;
+ bound_dev = &numa_info->bound_dev[devid];
+ bitmap_zero(bound_dev->bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV);
+
+ for (rxq_id = 0; rxq_id < oecls_dev->rxq_num; rxq_id++) {
+ cpu = oecls_dev->rxq[rxq_id].affinity_cpu;
+ if (cpu_to_node(cpu) == nid) {
+ set_bit(rxq_id, bound_dev->bitmap_rxq);
+ bound_rxq_num++;
+ }
+ }
+
+ oecls_debug("nid:%d, dev_id:%d, dev:%s, rxq_num:%d, bit_num:%d, bitmap_rxq:%*pbl\n",
+ nid, devid, oecls_dev->dev_name, oecls_dev->rxq_num,
+ bound_rxq_num, OECLS_MAX_RXQ_NUM_PER_DEV, bound_dev->bitmap_rxq);
+ }
+}
+
+int alloc_rxq_id(int nid, int devid)
+{
+ struct oecls_numa_bound_dev_info *bound_dev;
+ struct oecls_numa_info *numa_info;
+ int rxq_id;
+
+ numa_info = get_oecls_numa_info(nid);
+ if (!numa_info) {
+ oecls_error("error nid:%d\n", nid);
+ return -EINVAL;
+ }
+
+ if (devid >= OECLS_MAX_NETDEV_NUM) {
+ oecls_error("error bound_dev index:%d\n", devid);
+ return -EINVAL;
+ }
+ bound_dev = &numa_info->bound_dev[devid];
+
+ rxq_id = find_first_bit(bound_dev->bitmap_rxq, OECLS_MAX_RXQ_NUM_PER_DEV);
+ if (rxq_id >= OECLS_MAX_RXQ_NUM_PER_DEV) {
+ oecls_error("error rxq_id:%d\n", rxq_id);
+ return -EINVAL;
+ }
+
+ clear_bit(rxq_id, bound_dev->bitmap_rxq);
+ oecls_debug("alloc nid:%d, dev_id:%d, rxq_id:%d\n", nid, devid, rxq_id);
+ return rxq_id;
+}
+
+void free_rxq_id(int nid, int devid, int rxq_id)
+{
+ struct oecls_numa_bound_dev_info *bound_dev;
+ struct oecls_numa_info *numa_info;
+
+ numa_info = get_oecls_numa_info(nid);
+ if (!numa_info) {
+ oecls_error("error nid:%d\n", nid);
+ return;
+ }
+
+ if (devid >= OECLS_MAX_NETDEV_NUM) {
+ oecls_error("error bound_dev index:%d\n", devid);
+ return;
+ }
+ bound_dev = &numa_info->bound_dev[devid];
+
+ if (rxq_id >= OECLS_MAX_RXQ_NUM_PER_DEV) {
+ oecls_error("error rxq_id:%d\n", rxq_id);
+ return;
+ }
+
+ if (test_bit(rxq_id, bound_dev->bitmap_rxq)) {
+ oecls_error("error nid:%d, devid:%d, rxq_id:%d\n", nid, devid, rxq_id);
+ return;
+ }
+
+ set_bit(rxq_id, bound_dev->bitmap_rxq);
+ oecls_debug("free nid:%d, dev_id:%d, rxq_id:%d\n", nid, devid, rxq_id);
+}
+
+static void init_oecls_numa_info(void)
+{
+ struct oecls_numa_info *numa_info;
+ unsigned int numa_num;
+ int nid;
+
+ numa_num = num_online_nodes();
+ if (numa_num > OECLS_MAX_NUMA_NUM) {
+ oecls_error("online numa num:%d is too much!\n", numa_num);
+ numa_num = OECLS_MAX_NUMA_NUM;
+ }
+ oecls_numa_num = numa_num;
+ oecls_debug("set oecls_numa_num=%d\n", numa_num);
+
+ for_each_oecls_numa(nid, numa_info)
+ init_numa_avail_cpus(nid, numa_info);
+}
+
+static int alloc_available_cpu(int nid, struct oecls_numa_info *numa_info)
+{
+ int cpu;
+
+ cpu = find_first_bit(numa_info->avail_cpus, OECLS_MAX_CPU_NUM);
+ if (cpu >= OECLS_MAX_CPU_NUM) {
+ oecls_error("no available cpus: nid=%d, cpu=%d\n", nid, cpu);
+ return -1;
+ }
+
+ clear_bit(cpu, numa_info->avail_cpus);
+ return cpu;
+}
+
+static void add_netdev_irq_affinity_cpu(struct oecls_netdev_info *oecls_dev, int rxq_id, int cpu)
+{
+ struct oecls_netdev_queue_info *rxq_info;
+
+ if (rxq_id >= OECLS_MAX_RXQ_NUM_PER_DEV)
+ return;
+
+ rxq_info = &oecls_dev->rxq[rxq_id];
+ rxq_info->affinity_cpu = cpu;
+}
+
+static void config_affinity_strategy_default(struct oecls_netdev_info *oecls_dev)
+{
+ struct oecls_numa_info *numa_info;
+ int rxq_num = oecls_dev->rxq_num;
+ int rxq_per_numa = rxq_num / oecls_numa_num;
+ int remain = rxq_num - rxq_per_numa * oecls_numa_num;
+ int numa_rxq_id;
+ int rxq_id;
+ int nid;
+ int cpu;
+
+ oecls_debug("dev=%s, rxq_num=%d, rxq_per_numa=%d, remain=%d\n", oecls_dev->dev_name,
+ rxq_num, rxq_per_numa, remain);
+
+ // average config rxq to every numa
+ for_each_oecls_numa(nid, numa_info) {
+ for (numa_rxq_id = 0; numa_rxq_id < rxq_per_numa; numa_rxq_id++) {
+ cpu = alloc_available_cpu(nid, numa_info);
+ if (cpu < 0)
+ break;
+
+ rxq_id = rxq_per_numa * nid + numa_rxq_id;
+ add_netdev_irq_affinity_cpu(oecls_dev, rxq_id, cpu);
+ }
+ }
+
+ if (!remain)
+ return;
+
+ // config remain rxq to every numa
+ numa_rxq_id = 0;
+ for_each_oecls_numa(nid, numa_info) {
+ if (numa_rxq_id >= remain)
+ break;
+ cpu = alloc_available_cpu(nid, numa_info);
+ if (cpu < 0)
+ break;
+
+ rxq_id = rxq_per_numa * oecls_numa_num + numa_rxq_id;
+ numa_rxq_id++;
+ add_netdev_irq_affinity_cpu(oecls_dev, rxq_id, cpu);
+ }
+}
+
+static void config_affinity_strategy_cluster(struct oecls_netdev_info *oecls_dev)
+{
+ int cluster_cpu_num = 8;
+ int cluster_num = num_online_cpus() / cluster_cpu_num;
+ int cluster_cpu_id = 0;
+ int rxq_id = 0;
+ int cluster;
+ int cpu;
+
+ // average config rxq to every cluster
+ while (rxq_id < oecls_dev->rxq_num) {
+ for (cluster = 0; cluster < cluster_num; cluster++) {
+ cpu = cluster * cluster_cpu_num + cluster_cpu_id;
+ if (rxq_id >= oecls_dev->rxq_num)
+ break;
+ add_netdev_irq_affinity_cpu(oecls_dev, rxq_id++, cpu);
+ }
+ cluster_cpu_id++;
+ }
+}
+
+static void config_affinity_strategy_16cores(struct oecls_netdev_info *oecls_dev)
+{
+ struct oecls_numa_info *numa_info;
+ int numa_start_cpu;
+ int numa_cpu_id;
+ int rxq_id = 0;
+ int nid;
+ int cpu;
+
+ // only use 16 cores of one numa
+ for_each_oecls_numa(nid, numa_info) {
+ numa_start_cpu = find_first_bit(numa_info->avail_cpus, OECLS_MAX_CPU_NUM);
+ for (numa_cpu_id = 0; numa_cpu_id < 16; numa_cpu_id++) {
+ cpu = numa_start_cpu + numa_cpu_id;
+
+ if (rxq_id >= oecls_dev->rxq_num)
+ break;
+ add_netdev_irq_affinity_cpu(oecls_dev, rxq_id++, cpu);
+ }
+ }
+}
+
+static void config_affinity_strategy(void)
+{
+ struct oecls_netdev_info *oecls_dev;
+ int devid;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ switch (strategy) {
+ case 0:
+ config_affinity_strategy_default(oecls_dev);
+ break;
+ case 1:
+ config_affinity_strategy_cluster(oecls_dev);
+ break;
+ case 2:
+ config_affinity_strategy_16cores(oecls_dev);
+ break;
+ default:
+ config_affinity_strategy_default(oecls_dev);
+ break;
+ }
+ }
+}
+
+static inline void irq_set_affinity_wrapper(int rxq, int irq, int cpu)
+{
+ int err = 0;
+
+ err = irq_set_affinity(irq, get_cpu_mask(cpu));
+ oecls_debug("rxq=%d, irq=%d, cpu=%d, err=%d\n", rxq, irq, cpu, err);
+}
+
+static void enable_affinity_strategy(void)
+{
+ struct oecls_netdev_queue_info *rxq_info;
+ struct oecls_netdev_info *oecls_dev;
+ int rxq_id;
+ int devid;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ for (rxq_id = 0; rxq_id < oecls_dev->rxq_num; rxq_id++) {
+ rxq_info = &oecls_dev->rxq[rxq_id];
+ irq_set_affinity_wrapper(rxq_id, rxq_info->irq, rxq_info->affinity_cpu);
+ }
+ }
+}
+
+static inline void netif_set_xps_queue_wrapper(struct net_device *netdev, int rxq_id,
+ const struct cpumask *cpu_mask)
+{
+ int err = 0;
+
+ err = netif_set_xps_queue(netdev, cpu_mask, rxq_id);
+ oecls_debug("name=%s, rxq_id=%d, mask=%*pbl, err=%d\n", netdev->name, rxq_id,
+ cpumask_pr_args(cpu_mask), err);
+}
+
+static void set_netdev_xps_queue(bool enable)
+{
+ const struct cpumask clear_mask = { 0 };
+ struct oecls_netdev_info *oecls_dev;
+ const struct cpumask *cpu_mask;
+ int rxq_id;
+ int devid;
+ int cpu;
+ int nid;
+
+ for_each_oecls_netdev(devid, oecls_dev) {
+ for (rxq_id = 0; rxq_id < oecls_dev->rxq_num; rxq_id++) {
+ cpu = oecls_dev->rxq[rxq_id].affinity_cpu;
+ nid = cpu_to_node(cpu);
+ if (enable)
+ cpu_mask = cpumask_of_node(nid);
+ else
+ cpu_mask = &clear_mask;
+
+ netif_set_xps_queue_wrapper(oecls_dev->netdev, rxq_id, cpu_mask);
+ }
+ }
+}
+
+static __init int oecls_init(void)
+{
+ struct oecls_numa_info *numa_info;
+ int nid;
+ int err;
+
+ oecls_debug("[init] mode=%d, ifname=[%s]\n", mode, ifname);
+ if (!check_params())
+ return -EINVAL;
+
+ init_oecls_l0_cache();
+ init_oecls_numa_info();
+ err = init_oecls_netdev_info(ifname);
+ if (err)
+ goto out;
+
+ // Set irq affinity
+ config_affinity_strategy();
+ enable_affinity_strategy();
+
+ // Calculate rxq bounded to one numa
+ for_each_oecls_numa(nid, numa_info)
+ init_numa_rxq_bitmap(nid, numa_info);
+
+#ifdef CONFIG_XPS
+ set_netdev_xps_queue(true);
+#endif
+
+ if (mode == 0)
+ oecls_ntuple_res_init();
+ else
+ oecls_flow_res_init();
+
+ return 0;
+out:
+ clean_oecls_netdev_info();
+ clean_oecls_numa_info();
+ clean_oecls_l0_cache();
+ return err;
+}
+
+static __exit void oecls_exit(void)
+{
+ oecls_debug("[exit] mode=%d\n", mode);
+ if (mode == 0)
+ oecls_ntuple_res_clean();
+ else
+ oecls_flow_res_clean();
+
+#ifdef CONFIG_XPS
+ set_netdev_xps_queue(false);
+#endif
+
+ clean_oecls_netdev_info();
+ clean_oecls_numa_info();
+ clean_oecls_l0_cache();
+}
+
+module_init(oecls_init);
+module_exit(oecls_exit);
+
+MODULE_DESCRIPTION("oenetcls");
+MODULE_LICENSE("GPL v2");
diff --git a/net/oenetcls/oenetcls_ntuple.c b/net/oenetcls/oenetcls_ntuple.c
new file mode 100644
index 000000000000..38d1f5df6ff1
--- /dev/null
+++ b/net/oenetcls/oenetcls_ntuple.c
@@ -0,0 +1,510 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/inetdevice.h>
+#include <linux/netdevice.h>
+#include <linux/rtnetlink.h>
+#include <linux/irq.h>
+#include <linux/irqdesc.h>
+#include <linux/inet.h>
+#include <linux/jhash.h>
+#include <net/sock.h>
+#include <trace/hooks/oenetcls.h>
+#include "oenetcls.h"
+
+struct oecls_sk_rule_list oecls_sk_rules;
+
+static void init_oecls_sk_rules(void)
+{
+ unsigned int i;
+
+ for (i = 0; i < OECLS_SK_RULE_HASHSIZE; i++)
+ INIT_HLIST_HEAD(oecls_sk_rules.hash + i);
+ mutex_init(&oecls_sk_rules.mutex);
+}
+
+static struct hlist_head *oecls_sk_rule_hash(u32 dip4, u16 dport)
+{
+ return oecls_sk_rules.hash + (jhash_2words(dip4, dport, 0) & OECLS_SK_RULE_HASHMASK);
+}
+
+static void add_sk_rule(int devid, u32 dip4, u16 dport, void *sk, int action,
+ int ruleid, int nid)
+{
+ struct hlist_head *hlist = oecls_sk_rule_hash(dip4, dport);
+ struct oecls_sk_rule *rule;
+
+ rule = alloc_from_l0(sizeof(struct oecls_sk_rule));
+ if (!rule)
+ return;
+ oecls_debug("alloc rule=%p\n", rule);
+
+ rule->sk = sk;
+ rule->dip4 = dip4;
+ rule->dport = dport;
+ rule->devid = devid;
+ rule->action = action;
+ rule->ruleid = ruleid;
+ rule->nid = nid;
+ hlist_add_head(&rule->node, hlist);
+}
+
+static void del_sk_rule(struct oecls_sk_rule *rule)
+{
+ hlist_del_init(&rule->node);
+ oecls_debug("del rule=%p\n", rule);
+ free_to_l0(rule);
+}
+
+static struct oecls_sk_rule *get_sk_rule(int devid, u32 dip4, u16 dport)
+{
+ struct hlist_head *hlist = oecls_sk_rule_hash(dip4, dport);
+ struct oecls_sk_rule *rule = NULL;
+
+ hlist_for_each_entry(rule, hlist, node) {
+ if (rule->devid == devid && rule->dip4 == dip4 && rule->dport == dport)
+ break;
+ }
+ return rule;
+}
+
+static bool reuseport_check(int devid, u32 dip4, u16 dport)
+{
+ return !!get_sk_rule(devid, dip4, dport);
+}
+
+static u32 get_first_ip4_addr(struct net *net)
+{
+ struct in_device *in_dev;
+ struct net_device *dev;
+ struct in_ifaddr *ifa;
+ u32 dip4 = 0;
+
+ rtnl_lock();
+ rcu_read_lock();
+ for_each_netdev(net, dev) {
+ if (dev->flags & IFF_LOOPBACK || !(dev->flags & IFF_UP))
+ continue;
+ in_dev = __in_dev_get_rcu(dev);
+ if (!in_dev)
+ continue;
+
+ in_dev_for_each_ifa_rcu(ifa, in_dev) {
+ if (!strcmp(dev->name, ifa->ifa_label)) {
+ dip4 = ifa->ifa_local;
+ oecls_debug("dev: %s, dip4: 0x%x\n", dev->name, dip4);
+ goto out;
+ }
+ }
+ }
+out:
+ rcu_read_unlock();
+ rtnl_unlock();
+ return dip4;
+}
+
+static void get_sk_rule_addr(struct sock *sk, u32 *dip4, u16 *dport)
+{
+ *dport = htons(sk->sk_num);
+
+ if (!match_ip_flag) {
+ *dip4 = 0;
+ return;
+ }
+
+ if (sk->sk_rcv_saddr)
+ *dip4 = sk->sk_rcv_saddr;
+ else
+ *dip4 = get_first_ip4_addr(sock_net(sk));
+}
+
+static int rxclass_rule_del(struct cmd_context *ctx, __u32 loc)
+{
+ struct ethtool_rxnfc nfccmd;
+ int err;
+
+ nfccmd.cmd = ETHTOOL_SRXCLSRLDEL;
+ nfccmd.fs.location = loc;
+ err = send_ethtool_ioctl(ctx, &nfccmd);
+ if (err < 0)
+ oecls_debug("rmgr: Cannot delete RX class rule, loc:%u\n", loc);
+ return err;
+}
+
+static int rmgr_ins(struct rmgr_ctrl *rmgr, __u32 loc)
+{
+ if (loc >= rmgr->size) {
+ oecls_error("rmgr: Location out of range\n");
+ return -1;
+ }
+
+ set_bit(loc, rmgr->slot);
+ return 0;
+}
+
+static int rmgr_find_empty_slot(struct rmgr_ctrl *rmgr, struct ethtool_rx_flow_spec *fsp)
+{
+ __u32 loc, slot_num;
+
+ if (rmgr->driver_select)
+ return 0;
+
+ loc = rmgr->size - 1;
+ slot_num = loc / BITS_PER_LONG;
+ if (!~(rmgr->slot[slot_num] | (~1UL << rmgr->size % BITS_PER_LONG))) {
+ loc -= 1 + (loc % BITS_PER_LONG);
+ slot_num--;
+ }
+
+ while (loc < rmgr->size && !~(rmgr->slot[slot_num])) {
+ loc -= BITS_PER_LONG;
+ slot_num--;
+ }
+
+ while (loc < rmgr->size && test_bit(loc, rmgr->slot))
+ loc--;
+
+ if (loc < rmgr->size) {
+ fsp->location = loc;
+ return rmgr_ins(rmgr, loc);
+ }
+
+ return -1;
+}
+
+static int rxclass_get_dev_info(struct cmd_context *ctx, __u32 *count, int *driver_select)
+{
+ struct ethtool_rxnfc nfccmd;
+ int err;
+
+ nfccmd.cmd = ETHTOOL_GRXCLSRLCNT;
+ nfccmd.data = 0;
+ err = send_ethtool_ioctl(ctx, &nfccmd);
+ *count = nfccmd.rule_cnt;
+ if (driver_select)
+ *driver_select = !!(nfccmd.data & RX_CLS_LOC_SPECIAL);
+ if (err < 0)
+ oecls_debug("rxclass: Cannot get RX class rule count\n");
+
+ return err;
+}
+
+static int rmgr_init(struct cmd_context *ctx, struct rmgr_ctrl *rmgr)
+{
+ struct ethtool_rxnfc *nfccmd;
+ __u32 *rule_locs;
+ int i, err = 0;
+
+ memset(rmgr, 0, sizeof(*rmgr));
+ err = rxclass_get_dev_info(ctx, &rmgr->n_rules, &rmgr->driver_select);
+ if (err < 0)
+ return err;
+
+ if (rmgr->driver_select)
+ return err;
+
+ nfccmd = kzalloc(sizeof(*nfccmd) + (rmgr->n_rules * sizeof(__u32)), GFP_ATOMIC);
+ if (!nfccmd) {
+ oecls_error("rmgr: Cannot allocate memory for RX class rule locations\n");
+ err = -ENOMEM;
+ goto out;
+ }
+
+ nfccmd->cmd = ETHTOOL_GRXCLSRLALL;
+ nfccmd->rule_cnt = rmgr->n_rules;
+ err = send_ethtool_ioctl(ctx, nfccmd);
+ if (err < 0) {
+ oecls_debug("rmgr: Cannot get RX class rules\n");
+ goto out;
+ }
+
+ rmgr->size = nfccmd->data;
+ if (rmgr->size == 0 || rmgr->size < rmgr->n_rules) {
+ oecls_error("rmgr: Invalid RX class rules table size\n");
+ err = -EINVAL;
+ goto out;
+ }
+
+ rmgr->slot = kzalloc(BITS_TO_LONGS(rmgr->size) * sizeof(long), GFP_ATOMIC);
+ if (!rmgr->slot) {
+ oecls_error("rmgr: Cannot allocate memory for RX class rules\n");
+ err = -ENOMEM;
+ goto out;
+ }
+
+ rule_locs = nfccmd->rule_locs;
+ for (i = 0; i < rmgr->n_rules; i++) {
+ err = rmgr_ins(rmgr, rule_locs[i]);
+ if (err < 0)
+ break;
+ }
+
+out:
+ kfree(nfccmd);
+ return err;
+}
+
+static void rmgr_cleanup(struct rmgr_ctrl *rmgr)
+{
+ kfree(rmgr->slot);
+ rmgr->slot = NULL;
+ rmgr->size = 0;
+}
+
+static int rmgr_set_location(struct cmd_context *ctx,
+ struct ethtool_rx_flow_spec *fsp)
+{
+ struct rmgr_ctrl rmgr;
+ int ret;
+
+ ret = rmgr_init(ctx, &rmgr);
+ if (ret < 0)
+ goto out;
+
+ ret = rmgr_find_empty_slot(&rmgr, fsp);
+out:
+ rmgr_cleanup(&rmgr);
+ return ret;
+}
+
+static int rxclass_rule_ins(struct cmd_context *ctx,
+ struct ethtool_rx_flow_spec *fsp, u32 rss_context)
+{
+ struct ethtool_rxnfc nfccmd;
+ u32 loc = fsp->location;
+ int ret;
+
+ if (loc & RX_CLS_LOC_SPECIAL) {
+ ret = rmgr_set_location(ctx, fsp);
+ if (ret < 0)
+ return ret;
+ }
+
+ nfccmd.cmd = ETHTOOL_SRXCLSRLINS;
+ nfccmd.rss_context = rss_context;
+ nfccmd.fs = *fsp;
+ ret = send_ethtool_ioctl(ctx, &nfccmd);
+ if (ret < 0) {
+ oecls_debug("Can not insert the clasification rule\n");
+ return ret;
+ }
+
+ if (loc & RX_CLS_LOC_SPECIAL)
+ oecls_debug("Added rule with ID %d\n", nfccmd.fs.location);
+
+ return 0;
+}
+
+static void flow_spec_to_ntuple(struct ethtool_rx_flow_spec *fsp,
+ struct ethtool_rx_ntuple_flow_spec *ntuple)
+{
+ int i;
+
+ memset(ntuple, ~0, sizeof(*ntuple));
+ ntuple->flow_type = fsp->flow_type;
+ ntuple->action = fsp->ring_cookie;
+ memcpy_r(&ntuple->h_u, &fsp->h_u, sizeof(fsp->h_u));
+ memcpy_r(&ntuple->m_u, &fsp->m_u, sizeof(fsp->m_u));
+ for (i = 0; i < sizeof(ntuple->m_u); i++)
+ ntuple->m_u.hdata[i] ^= 0xFF;
+ ntuple->flow_type &= ~FLOW_EXT;
+}
+
+static int do_srxntuple(struct cmd_context *ctx, struct ethtool_rx_flow_spec *fsp)
+{
+ struct ethtool_rx_ntuple ntuplecmd;
+ struct ethtool_value eval;
+ int ret = 0;
+
+ flow_spec_to_ntuple(fsp, &ntuplecmd.fs);
+
+ eval.cmd = ETHTOOL_GFLAGS;
+ ret = send_ethtool_ioctl(ctx, &eval);
+ if (ret || !(eval.data & ETH_FLAG_NTUPLE))
+ return -1;
+
+ ntuplecmd.cmd = ETHTOOL_SRXNTUPLE;
+ ret = send_ethtool_ioctl(ctx, &ntuplecmd);
+ if (ret)
+ oecls_debug("Cannot add new rule via N-tuple, ret:%d\n", ret);
+
+ return ret;
+}
+
+static int cfg_ethtool_rule(struct cmd_context *ctx, bool is_del)
+{
+ struct ethtool_rx_flow_spec *fsp, rx_rule_fs;
+ u32 rss_context = 0;
+ int ret;
+
+ oecls_debug("is_del:%d netdev:%s, dip4:%pI4, dport:%d, action:%d, ruleid:%u, del_ruleid:%u\n",
+ is_del, ctx->netdev, &ctx->dip4, ntohs(ctx->dport), ctx->action, ctx->ruleid,
+ ctx->del_ruleid);
+
+ if (is_del)
+ return rxclass_rule_del(ctx, ctx->del_ruleid);
+
+ ctx->ret_loc = -1;
+
+ fsp = &rx_rule_fs;
+ memset(fsp, 0, sizeof(*fsp));
+ fsp->flow_type = TCP_V4_FLOW;
+ fsp->location = RX_CLS_LOC_ANY;
+ fsp->h_u.tcp_ip4_spec.ip4dst = ctx->dip4;
+ fsp->h_u.tcp_ip4_spec.pdst = ctx->dport;
+ if (ctx->dip4)
+ fsp->m_u.tcp_ip4_spec.ip4dst = (u32)~0ULL;
+ fsp->m_u.tcp_ip4_spec.pdst = (u16)~0ULL;
+ if (ctx->ruleid)
+ fsp->location = ctx->ruleid;
+ fsp->ring_cookie = ctx->action;
+
+ ret = do_srxntuple(ctx, &rx_rule_fs);
+ if (!ret)
+ return 0;
+
+ ret = rxclass_rule_ins(ctx, &rx_rule_fs, rss_context);
+ if (!ret)
+ ctx->ret_loc = rx_rule_fs.location;
+ return ret;
+}
+
+static void del_ntuple_rule(struct sock *sk)
+{
+ struct oecls_netdev_info *oecls_dev;
+ struct cmd_context ctx = { 0 };
+ struct oecls_sk_rule *rule;
+ int devid;
+ u16 dport;
+ u32 dip4;
+ int err;
+
+ get_sk_rule_addr(sk, &dip4, &dport);
+
+ mutex_lock(&oecls_sk_rules.mutex);
+ for_each_oecls_netdev(devid, oecls_dev) {
+ strncpy(ctx.netdev, oecls_dev->dev_name, IFNAMSIZ);
+ rule = get_sk_rule(devid, dip4, dport);
+ if (!rule) {
+ oecls_debug("rule not found! sk:%p, devid:%d, dip4:0x%x, dport:%d\n", sk,
+ devid, dip4, dport);
+ continue;
+ }
+
+ // Config Ntuple rule to dev
+ ctx.del_ruleid = rule->ruleid;
+ err = cfg_ethtool_rule(&ctx, true);
+ if (err) {
+ oecls_error("del sk:%p, nid:%d, devid:%d, action:%d, ruleid:%d, err:%d\n",
+ sk, rule->nid, devid, rule->action, rule->ruleid, err);
+ }
+
+ // Free the bound queue
+ free_rxq_id(rule->nid, devid, rule->action);
+
+ // Delete sk rule
+ del_sk_rule(rule);
+ }
+ mutex_unlock(&oecls_sk_rules.mutex);
+}
+
+static void add_ntuple_rule(struct sock *sk)
+{
+ struct oecls_netdev_info *oecls_dev;
+ struct cmd_context ctx = { 0 };
+ int cpu = smp_processor_id();
+ int nid = cpu_to_node(cpu);
+ int rxq_id;
+ int devid;
+ int err;
+
+ if (check_appname(current->comm))
+ return;
+ get_sk_rule_addr(sk, &ctx.dip4, &ctx.dport);
+
+ mutex_lock(&oecls_sk_rules.mutex);
+ for_each_oecls_netdev(devid, oecls_dev) {
+ strncpy(ctx.netdev, oecls_dev->dev_name, IFNAMSIZ);
+ if (reuseport_check(devid, ctx.dip4, ctx.dport)) {
+ oecls_error("dip4:0x%x, dport:%d reuse!\n", ctx.dip4, ctx.dport);
+ continue;
+ }
+
+ // Calculate the bound queue
+ rxq_id = alloc_rxq_id(nid, devid);
+ if (rxq_id < 0)
+ continue;
+
+ // Config Ntuple rule to dev
+ ctx.action = (u16)rxq_id;
+ err = cfg_ethtool_rule(&ctx, false);
+ if (err) {
+ oecls_error("add sk:%p, nid:%d, devid:%d, action:%d, ruleid:%d, err:%d\n",
+ sk, nid, devid, ctx.action, ctx.ret_loc, err);
+ continue;
+ }
+
+ // Add sk rule
+ add_sk_rule(devid, ctx.dip4, ctx.dport, sk, ctx.action, ctx.ret_loc, nid);
+ }
+ mutex_unlock(&oecls_sk_rules.mutex);
+}
+
+static void ethtool_cfg_rxcls(void *data, struct sock *sk, int is_del)
+{
+ if (sk->sk_state != TCP_LISTEN)
+ return;
+
+ if (sk->sk_family != AF_INET && sk->sk_family != AF_INET6)
+ return;
+
+ oecls_debug("[cpu:%d] app:%s, sk:%p, is_del:%d, ip:0x%x, port:0x%x\n", smp_processor_id(),
+ current->comm, sk, is_del, sk->sk_rcv_saddr, sk->sk_num);
+
+ if (is_del)
+ del_ntuple_rule(sk);
+ else
+ add_ntuple_rule(sk);
+}
+
+static void clean_oecls_sk_rules(void)
+{
+ struct oecls_netdev_info *oecls_dev;
+ struct cmd_context ctx = { 0 };
+ struct oecls_sk_rule *rule;
+ struct hlist_head *hlist;
+ struct hlist_node *n;
+ unsigned int i;
+ int err;
+
+ mutex_lock(&oecls_sk_rules.mutex);
+ for (i = 0; i < OECLS_SK_RULE_HASHSIZE; i++) {
+ hlist = &oecls_sk_rules.hash[i];
+
+ hlist_for_each_entry_safe(rule, n, hlist, node) {
+ oecls_dev = get_oecls_netdev_info(rule->devid);
+ if (!oecls_dev)
+ continue;
+ strncpy(ctx.netdev, oecls_dev->dev_name, IFNAMSIZ);
+ ctx.del_ruleid = rule->ruleid;
+ err = cfg_ethtool_rule(&ctx, true);
+ oecls_debug("sk:%p, dev_id:%d, action:%d, ruleid:%d, err:%d\n", rule->sk,
+ rule->devid, rule->action, rule->ruleid, err);
+
+ hlist_del(&rule->node);
+ oecls_debug("clean rule=%p\n", rule);
+ free_to_l0(rule);
+ }
+ }
+ mutex_unlock(&oecls_sk_rules.mutex);
+}
+
+void oecls_ntuple_res_init(void)
+{
+ init_oecls_sk_rules();
+ register_trace_ethtool_cfg_rxcls(ðtool_cfg_rxcls, NULL);
+}
+
+void oecls_ntuple_res_clean(void)
+{
+ unregister_trace_ethtool_cfg_rxcls(ðtool_cfg_rxcls, NULL);
+ clean_oecls_sk_rules();
+}
--
2.34.1
2
1

[openeuler:OLK-5.10 2938/2938] drivers/irqchip/irq-gic-v3-its.c:504:6: warning: no previous prototype for 'build_devid_pools'
by kernel test robot 30 May '25
by kernel test robot 30 May '25
30 May '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: b5ec139da1a4916dfc9644ee3d9426dbd6f23c13
commit: af552f9d957def499065ed6e194bcd5f0c75dbc5 [2938/2938] irqchip/gic-v3-its: Move build_devid_pools from its to acpi iort init
config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20250530/202505301434.xq8uzhGR-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250530/202505301434.xq8uzhGR-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/202505301434.xq8uzhGR-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

[openeuler:OLK-6.6 2339/2339] kernel/sched/core.c:158:5: warning: no previous prototype for function 'sched_task_is_throttled'
by kernel test robot 30 May '25
by kernel test robot 30 May '25
30 May '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: f528a77f54d3c07d0b7feb879d2ba15275a4b3ff
commit: b1415ae822e0f2c88266c3f6f8e2b962baa9a579 [2339/2339] interference: Exclude throttle time from rundelay
config: x86_64-buildonly-randconfig-005-20250530 (https://download.01.org/0day-ci/archive/20250530/202505301346.VRD8YS7H-lkp@…)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250530/202505301346.VRD8YS7H-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/202505301346.VRD8YS7H-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> kernel/sched/core.c:158:5: warning: no previous prototype for function 'sched_task_is_throttled' [-Wmissing-prototypes]
158 | int sched_task_is_throttled(struct task_struct *p, int cpu)
| ^
kernel/sched/core.c:158:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
158 | int sched_task_is_throttled(struct task_struct *p, int cpu)
| ^
| static
kernel/sched/core.c:6465:1: warning: unused function 'class_core_lock_lock_ptr' [-Wunused-function]
6465 | DEFINE_LOCK_GUARD_1(core_lock, int,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6466 | sched_core_lock(*_T->lock, &_T->flags),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6467 | sched_core_unlock(*_T->lock, &_T->flags),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6468 | unsigned long flags)
| ~~~~~~~~~~~~~~~~~~~~
include/linux/cleanup.h:229:49: note: expanded from macro 'DEFINE_LOCK_GUARD_1'
229 | __DEFINE_CLASS_IS_CONDITIONAL(_name, false); \
| ^
230 | __DEFINE_UNLOCK_GUARD(_name, _type, _unlock, __VA_ARGS__) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/cleanup.h:205:21: note: expanded from macro '\
__DEFINE_UNLOCK_GUARD'
205 | static inline void *class_##_name##_lock_ptr(class_##_name##_t *_T) \
| ^~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:236:1: note: expanded from here
236 | class_core_lock_lock_ptr
| ^~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
vim +/sched_task_is_throttled +158 kernel/sched/core.c
156
157 #if defined(CONFIG_SCHED_CORE) || defined(CONFIG_CGROUP_IFS)
> 158 int sched_task_is_throttled(struct task_struct *p, int cpu)
159 {
160 if (p->sched_class->task_is_throttled)
161 return p->sched_class->task_is_throttled(p, cpu);
162
163 return 0;
164 }
165 #endif
166
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Jinqian Yang (1):
KVM: arm64: fix memory leak in TLBI
arch/arm64/kvm/hisilicon/hisi_virt.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
--
2.33.0
2
2
Jinqian Yang (1):
KVM: arm64: fix memory leak in TLBI
arch/arm64/kvm/hisilicon/hisi_virt.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
--
2.33.0
2
2

[PATCH OLK-6.6 0/3] LoongArch: Fix bugs in early_numa_add_cpu/huge_pte_offset/__alloc_pages_slowpath
by Hongchen Zhang 30 May '25
by Hongchen Zhang 30 May '25
30 May '25
Huacai Chen (1):
LoongArch: Fix early_numa_add_cpu() usage for FDT systems
Tianyang Zhang (2):
LoongArch: Fix panic caused by NULL pmd in huge_pte_offset()
mm/page_alloc.c: avoid infinite retries caused by cpuset race
arch/loongarch/kernel/smp.c | 2 +-
arch/loongarch/mm/hugetlbpage.c | 3 ++-
mm/page_alloc.c | 8 ++++++++
3 files changed, 11 insertions(+), 2 deletions(-)
--
2.33.0
2
4
From: Frederic Weisbecker <frederic(a)kernel.org>
mainline inclusion
from mainline-v6.15-rc2
commit 56799bc035658738f362acec3e7647bb84e68933
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC5BL4
CVE: CVE-2025-37747
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
Perf can hang while freeing a sigtrap event if a related deferred
signal hadn't managed to be sent before the file got closed:
perf_event_overflow()
task_work_add(perf_pending_task)
fput()
task_work_add(____fput())
task_work_run()
____fput()
perf_release()
perf_event_release_kernel()
_free_event()
perf_pending_task_sync()
task_work_cancel() -> FAILED
rcuwait_wait_event()
Once task_work_run() is running, the list of pending callbacks is
removed from the task_struct and from this point on task_work_cancel()
can't remove any pending and not yet started work items, hence the
task_work_cancel() failure and the hang on rcuwait_wait_event().
Task work could be changed to remove one work at a time, so a work
running on the current task can always cancel a pending one, however
the wait / wake design is still subject to inverted dependencies when
remote targets are involved, as pictured by Oleg:
T1 T2
fd = perf_event_open(pid => T2->pid); fd = perf_event_open(pid => T1->pid);
close(fd) close(fd)
<IRQ> <IRQ>
perf_event_overflow() perf_event_overflow()
task_work_add(perf_pending_task) task_work_add(perf_pending_task)
</IRQ> </IRQ>
fput() fput()
task_work_add(____fput()) task_work_add(____fput())
task_work_run() task_work_run()
____fput() ____fput()
perf_release() perf_release()
perf_event_release_kernel() perf_event_release_kernel()
_free_event() _free_event()
perf_pending_task_sync() perf_pending_task_sync()
rcuwait_wait_event() rcuwait_wait_event()
Therefore the only option left is to acquire the event reference count
upon queueing the perf task work and release it from the task work, just
like it was done before 3a5465418f5f ("perf: Fix event leak upon exec and file release")
but without the leaks it fixed.
Some adjustments are necessary to make it work:
* A child event might dereference its parent upon freeing. Care must be
taken to release the parent last.
* Some places assuming the event doesn't have any reference held and
therefore can be freed right away must instead put the reference and
let the reference counting to its job.
Reported-by: "Yi Lai" <yi1.lai(a)linux.intel.com>
Closes: https://lore.kernel.org/all/Zx9Losv4YcJowaP%2F@ly-workstation/
Reported-by: syzbot+3c4321e10eea460eb606(a)syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/673adf75.050a0220.87769.0024.GAE@google.com/
Fixes: 3a5465418f5f ("perf: Fix event leak upon exec and file release")
Signed-off-by: Frederic Weisbecker <frederic(a)kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz(a)infradead.org>
Link: https://lkml.kernel.org/r/20250304135446.18905-1-frederic@kernel.org
Conflicts:
kernel/events/core.c
include/linux/perf_event.h
[To apply this mainline patch, first revert the 008ebcfec23d ("[Huawei]
perf: Fix kabi broken of struct perf_event"). Then pick mainline patch
16b9569df9d2 ("perf: Don't disable preemption in perf_pending_task().").
Finally, pick this fix patch and resolve conflicts and merged all patch
together.]
Signed-off-by: Luo Gengkun <luogengkun2(a)huawei.com>
---
include/linux/perf_event.h | 2 +-
kernel/events/core.c | 65 +++++++++++---------------------------
2 files changed, 19 insertions(+), 48 deletions(-)
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 420f15ddce39..826fb16906fe 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -851,7 +851,7 @@ struct perf_event {
*/
__u32 orig_type;
- KABI_USE(1, struct rcuwait pending_work_wait)
+ KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 69cdf8aabf52..f042d6101932 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -2294,6 +2294,7 @@ event_sched_out(struct perf_event *event, struct perf_event_context *ctx)
!event->pending_work &&
!task_work_add(current, &event->pending_task, TWA_RESUME)) {
event->pending_work = 1;
+ WARN_ON_ONCE(!atomic_long_inc_not_zero(&event->refcount));
} else {
local_dec(&event->ctx->nr_pending);
}
@@ -5187,35 +5188,9 @@ static bool exclusive_event_installable(struct perf_event *event,
static void perf_addr_filters_splice(struct perf_event *event,
struct list_head *head);
-static void perf_pending_task_sync(struct perf_event *event)
-{
- struct callback_head *head = &event->pending_task;
-
- if (!event->pending_work)
- return;
- /*
- * If the task is queued to the current task's queue, we
- * obviously can't wait for it to complete. Simply cancel it.
- */
- if (task_work_cancel(current, head)) {
- event->pending_work = 0;
- local_dec(&event->ctx->nr_pending);
- return;
- }
-
- /*
- * All accesses related to the event are within the same
- * non-preemptible section in perf_pending_task(). The RCU
- * grace period before the event is freed will make sure all
- * those accesses are complete by then.
- */
- rcuwait_wait_event(&event->pending_work_wait, !event->pending_work, TASK_UNINTERRUPTIBLE);
-}
-
static void _free_event(struct perf_event *event)
{
irq_work_sync(&event->pending_irq);
- perf_pending_task_sync(event);
unaccount_event(event);
@@ -5340,10 +5315,17 @@ static void perf_remove_from_owner(struct perf_event *event)
static void put_event(struct perf_event *event)
{
+ struct perf_event *parent;
+
if (!atomic_long_dec_and_test(&event->refcount))
return;
+ parent = event->parent;
_free_event(event);
+
+ /* Matches the refcount bump in inherit_event() */
+ if (parent)
+ put_event(parent);
}
/*
@@ -5427,11 +5409,6 @@ int perf_event_release_kernel(struct perf_event *event)
if (tmp == child) {
perf_remove_from_context(child, DETACH_GROUP);
list_move(&child->child_list, &free_list);
- /*
- * This matches the refcount bump in inherit_event();
- * this can't be the last reference.
- */
- put_event(event);
} else {
var = &ctx->refcount;
}
@@ -5457,7 +5434,8 @@ int perf_event_release_kernel(struct perf_event *event)
void *var = &child->ctx->refcount;
list_del(&child->child_list);
- free_event(child);
+ /* Last reference unless ->pending_task work is pending */
+ put_event(child);
/*
* Wake any perf_event_free_task() waiting for this event to be
@@ -5468,7 +5446,11 @@ int perf_event_release_kernel(struct perf_event *event)
}
no_ctx:
- put_event(event); /* Must be the 'last' reference */
+ /*
+ * Last reference unless ->pending_task work is pending on this event
+ * or any of its children.
+ */
+ put_event(event);
return 0;
}
EXPORT_SYMBOL_GPL(perf_event_release_kernel);
@@ -6857,12 +6839,6 @@ static void perf_pending_task(struct callback_head *head)
struct perf_event *event = container_of(head, struct perf_event, pending_task);
int rctx;
- /*
- * All accesses to the event must belong to the same implicit RCU read-side
- * critical section as the ->pending_work reset. See comment in
- * perf_pending_task_sync().
- */
- preempt_disable_notrace();
/*
* If we 'fail' here, that's OK, it means recursion is already disabled
* and we won't recurse 'further'.
@@ -6873,12 +6849,11 @@ static void perf_pending_task(struct callback_head *head)
event->pending_work = 0;
perf_sigtrap(event);
local_dec(&event->ctx->nr_pending);
- rcuwait_wake_up(&event->pending_work_wait);
}
+ put_event(event);
if (rctx >= 0)
perf_swevent_put_recursion_context(rctx);
- preempt_enable_notrace();
}
#ifdef CONFIG_GUEST_PERF_EVENTS
@@ -11990,7 +11965,6 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu,
init_waitqueue_head(&event->waitq);
init_irq_work(&event->pending_irq, perf_pending_irq);
init_task_work(&event->pending_task, perf_pending_task);
- rcuwait_init(&event->pending_work_wait);
mutex_init(&event->mmap_mutex);
raw_spin_lock_init(&event->addr_filters.lock);
@@ -13143,8 +13117,7 @@ perf_event_exit_event(struct perf_event *event, struct perf_event_context *ctx)
* Kick perf_poll() for is_event_hup();
*/
perf_event_wakeup(parent_event);
- free_event(event);
- put_event(parent_event);
+ put_event(event);
return;
}
@@ -13262,13 +13235,11 @@ static void perf_free_event(struct perf_event *event,
list_del_init(&event->child_list);
mutex_unlock(&parent->child_mutex);
- put_event(parent);
-
raw_spin_lock_irq(&ctx->lock);
perf_group_detach(event);
list_del_event(event, ctx);
raw_spin_unlock_irq(&ctx->lock);
- free_event(event);
+ put_event(event);
}
/*
--
2.34.1
2
1

[openeuler:OLK-6.6] BUILD REGRESSION 87ca9af0208a025705d5f4a39c72159b35fd01d0
by kernel test robot 30 May '25
by kernel test robot 30 May '25
30 May '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 87ca9af0208a025705d5f4a39c72159b35fd01d0 !16524 v3 CVE-2024-27079
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202504300733.mAi3Indd-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505080526.qCQgtY7V-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505080910.94UlZrA0-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505122110.l7rKvRzx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505130655.7iroL05g-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505191456.gDWxN0oB-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201519.o4k4rCxn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201603.DayzxkWd-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201708.6dvo6U58-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201722.VJAhefze-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201757.qoTbv6a9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201856.VGaOEUgd-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201929.AHI9gRxc-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201944.3gmU2Dch-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505210529.5XGNL1lQ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505210722.gwnDsvxy-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505210904.LgTxS8rg-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505261539.RLecPVlr-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505272122.LGw8kmAU-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505272226.RcAmWtpx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505272259.OmUgrWdN-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280023.4g7q598y-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280056.91YNE6dg-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280147.YRorbaqT-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280148.N1Nt6ytB-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280443.W5j7eO4Y-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280603.E3YHNVzo-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280802.sHbtyOVR-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505281128.MTV3LnwY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505281457.ZzTKocMO-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505281528.FWgbJLUK-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505281622.nxl9aDmY-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505282313.Lw9dIqW7-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505290152.me3JXaGE-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505290337.UpMv109S-lkp@intel.com
./drivers/crypto/sedriver/wst_se_common_type.h: 19 linux/version.h not needed.
Warning: drivers/arm/mm_monitor/spe-decoder/arm-spe-decoder.c references a file that doesn't exist: Documentation/arm64/memory.rst
arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r1.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r2.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r3.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/mediatek/mt8195-demo.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/mediatek/mt8195-evb.dtb: dp-intf@1c113000 (mediatek,mt8195-dp-intf): Additional properties are not allowed ('power-domains' was unexpected)
arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dtb: gpio@ff260000 (rockchip,gpio-bank): 'bios-disable-n-hog', 'bios-disable-override-hog' do not match any of the regexes: '^pinctrl-[0-9]+$'
arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dtb: pinctrl (rockchip,px30-pinctrl): gpio@ff260000: 'bios-disable-n-hog', 'bios-disable-override-hog' do not match any of the regexes: '^pinctrl-[0-9]+$'
arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dtb: pinctrl (rockchip,px30-pinctrl): gpio@ff260000: Unevaluated properties are not allowed ('bios-disable-n-hog', 'bios-disable-override-hog' were unexpected)
arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dtb: pmic@20 (rockchip,rk809): '#sound-dai-cells', 'assigned-clock-parents', 'assigned-clocks', 'clock-names', 'clocks' do not match any of the regexes: '^pinctrl-[0-9]+$'
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dtb: syscon@40f00000 (syscon): compatible: ['syscon', 'simple-mfd'] is too short
arch/arm64/kvm/../../../virt/kvm/eventfd.c:1102: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
arch/arm64/kvm/../../../virt/kvm/eventfd.c:719: warning: cannot understand function prototype: 'struct eventfd_shadow '
arch/arm64/kvm/virtcca_cvm.c:819:5: warning: no previous prototype for 'virtcca_get_tmi_version' [-Wmissing-prototypes]
arch/loongarch/kvm/../../../virt/kvm/eventfd.c:1102: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
arch/loongarch/kvm/../../../virt/kvm/eventfd.c:719: warning: cannot understand function prototype: 'struct eventfd_shadow '
arch/x86/kernel/cpu/bpf-rvi.c:129:25: warning: no previous prototype for function 'bpf_arch_flags' [-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/kvm/../../../virt/kvm/eventfd.c:1102: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
arch/x86/kvm/../../../virt/kvm/eventfd.c:719: warning: cannot understand function prototype: 'struct eventfd_shadow '
drivers/crypto/sedriver/wst_se_echip_driver.c:1082:9: warning: no previous prototype for 'se_kernelwrite' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:114:5: warning: no previous prototype for 'se_free_dma_buf' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:1175:5: warning: no previous prototype for 'se_chip_load' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:1272:6: warning: no previous prototype for 'se_chip_unload' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:150:5: warning: no previous prototype for 'se_printk_hex' [-Wmissing-prototypes]
drivers/crypto/sedriver/wst_se_echip_driver.c:95:25: warning: no previous prototype for 'se_get_dma_buf' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c:240:32: warning: unused variable 'entry' [-Wunused-variable]
drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c:244:13: warning: variable 'restart_fg' set but not used [-Wunused-but-set-variable]
drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c:256:21: warning: unused variable 'ring_index' [-Wunused-variable]
drivers/gpu/drm/sti/sti_dvo.c:531:12: error: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
drivers/gpu/drm/sti/sti_dvo.c:531:14: error: call to undeclared function 'devm_ioremap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
drivers/irqchip/irq-gic-v3-its.c:392:15: warning: no previous prototype for function 'gic_data_rdist_get_vlpi_base' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c:445:23: error: invalid application of 'sizeof' to an incomplete type 'const struct free_memory[]'
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c: mag_mpu_cmd_defs.h is included more than once.
drivers/net/ethernet/huawei/hinic3/hw/hinic3_hwif.c:862: 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_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/motorcomm/yt6801/yt6801_desc.c:206:73: warning: '%u' directive output may be truncated writing between 1 and 10 bytes into a region of size 8 [-Wformat-truncation=]
drivers/net/ethernet/motorcomm/yt6801/yt6801_main.c:1715:35: warning: variable 'mac_hfr2' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/motorcomm/yt6801/yt6801_main.c:1715:42: warning: variable 'mac_hfr2' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/yunsilicon/xsc/pci/sriov_sysfs.c:911:31: warning: unused variable 'vf_type_ib' [-Wunused-const-variable]
drivers/net/ethernet/yunsilicon/xsc/pci/xsc_lag.c:1128:21: warning: variable 'bond_dev' set but not used [-Wunused-but-set-variable]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:545:5: error: no previous prototype for 'ps3_pci_init' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:899:5: error: no previous prototype for 'ps3_pci_init_complete' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:945:6: error: no previous prototype for 'ps3_pci_init_complete_exit' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli.c:108:9: error: function 'ps3stor_cli_printf' might be a candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1059:5: error: no previous prototype for 'ps3_dump_context_show' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:159:5: error: no previous prototype for 'ps3_dump_file_write' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:200:5: error: no previous prototype for 'ps3_dump_file_close' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:28:5: error: no previous prototype for 'ps3_dump_local_time' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:50:5: error: no previous prototype for 'ps3_dump_filename_build' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:76:5: error: no previous prototype for 'ps3_dump_file_open' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:131:6: error: no previous prototype for 'ps3_trigger_irq_poll' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:243:5: error: no previous prototype for 'ps3_resp_status_convert' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:403:6: error: no previous prototype for 'ps3_io_recv_ok_stat_inc' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:85:6: error: no previous prototype for 'ps3_cmd_stat_content_clear' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_debug.c:883:5: error: no previous prototype for 'ps3_dump_dir_length' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1581:5: error: no previous prototype for 'ps3_scsi_private_init_pd' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1663:5: error: no previous prototype for 'ps3_scsi_private_init_vd' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1632:5: error: no previous prototype for 'ps3_sas_expander_phys_refresh' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_instance_manager.c:669:60: error: 'snprintf' output may be truncated before the last format character [-Werror=format-truncation=]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:147:6: error: no previous prototype for 'ps3_ioc_resource_prepare_hba' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:36:6: error: no previous prototype for 'ps3_ioc_resource_prepare_switch' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:88:6: error: no previous prototype for 'ps3_ioc_resource_prepare_raid' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:307:5: error: no previous prototype for 'ps3_hard_reset_to_ready' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:785:6: error: no previous prototype for 'ps3_clean_mgr_cmd' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:21:27: error: 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: 'PS3_INTERRUPT_CMD_ENABLE_MSIX' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: 'PS3_INTERRUPT_MASK_DISABLE' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: 'PS3_INTERRUPT_STATUS_EXIST_IRQ' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: 'PS3_INTERRUPT_CLEAR_IRQ' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:27:27: error: 'PS3_SSD_IOPS_MSIX_VECTORS' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: 'PS3_HDD_IOPS_MSIX_VECTORS' defined but not used [-Werror=unused-const-variable=]
drivers/scsi/linkdata/ps3stor/ps3_module_para.c:609:14: error: no previous prototype for 'ps3_cli_ver_query' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:6: error: no previous prototype for 'ps3_qos_pd_waitq_ratio_update' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:15: error: no previous prototype for 'ps3_hba_qos_decision' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:6: error: no previous prototype for 'ps3_hba_qos_waitq_notify' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:6: error: no previous prototype for 'ps3_cmd_waitq_abort' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:211:1: error: no previous prototype for 'ps3_qos_cmd_waitq_get' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:6: error: no previous prototype for 'ps3_hba_qos_waitq_clear_all' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:6: error: no previous prototype for 'ps3_hba_qos_vd_init' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:6: error: no previous prototype for 'ps3_hba_qos_vd_reset' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3023:6: error: no previous prototype for 'ps3_hba_qos_waitq_poll' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3279:15: error: no previous prototype for 'ps3_raid_qos_decision' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3334:6: error: no previous prototype for 'ps3_qos_mgrq_resend' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:15: error: no previous prototype for 'ps3_qos_vd_cmdword_get' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3478:6: error: no previous prototype for 'ps3_raid_qos_waitq_notify' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:15: error: no previous prototype for 'ps3_qos_exclusive_cmdword_get' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:15: error: no previous prototype for 'ps3_qos_tg_decision' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3821:15: error: no previous prototype for 'ps3_raid_qos_waitq_abort' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:4022:6: error: no previous prototype for 'ps3_raid_qos_waitq_clear_all' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:4083:6: error: no previous prototype for 'ps3_raid_qos_waitq_poll' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:15: error: no previous prototype for 'ps3_qos_all_pd_rc_get' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:6: error: no previous prototype for 'ps3_pd_quota_waitq_clear_all' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:6: error: no previous prototype for 'ps3_pd_quota_waitq_clean' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1173:5: error: no previous prototype for 'ps3_range_check_and_insert' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1231:5: error: no previous prototype for 'ps3_r1x_hash_range_lock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1312:6: error: no previous prototype for 'ps3_r1x_hash_range_unlock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:578:5: error: no previous prototype for 'ps3_r1x_hash_bit_check' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:678:6: error: no previous prototype for 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:730:5: error: no previous prototype for 'ps3_r1x_hash_bit_lock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:988:6: error: no previous prototype for 'ps3_r1x_hash_bit_unlock' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:154:6: error: no previous prototype for 'rbtDelNodeDo' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:204:6: error: no previous prototype for 'ps3_recovery_irq_queue_destroy' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2700:6: error: no previous prototype for 'ps3_hard_recovery_state_finish' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:363:5: error: no previous prototype for 'ps3_recovery_state_transfer' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:72:30: error: no previous prototype for 'ps3_recovery_context_alloc' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:82:6: error: no previous prototype for 'ps3_recovery_context_free' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:88:6: error: no previous prototype for 'ps3_recovery_context_delete' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:407:5: error: no previous prototype for 'ps3_sas_update_phy_info' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1110:5: error: no previous prototype for 'ps3_wait_for_outstanding_complete' [-Werror=missing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:876:6: error: no previous prototype for 'ps3_set_task_manager_busy' [-Werror=missing-prototypes]
fs/nfs/dir.c:1498:6: warning: no previous prototype for 'nfs_check_have_lookup_cache_flag' [-Wmissing-prototypes]
fs/nfs/dir.c:1498:6: warning: no previous prototype for function 'nfs_check_have_lookup_cache_flag' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:127: 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:129:6: warning: no previous prototype for function 'enfs_swap_name_cache' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:148:6: warning: no previous prototype for function 'enfs_domain_inc' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:217:6: warning: no previous prototype for function 'ip_list_append' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:361:5: warning: no previous prototype for function 'enfs_quick_sort' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:394:5: warning: no previous prototype for function 'enfs_dns_process_ip' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:434:5: warning: no previous prototype for function 'enfs_server_query_dns' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:494:6: warning: no previous prototype for function 'query_dns_each_name' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:582:5: warning: no previous prototype for function 'enfs_iter_nfs_clnt' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:669:6: warning: no previous prototype for function 'enfs_domain_for_each' [-Wmissing-prototypes]
fs/nfs/enfs/dns_process.c:92:6: warning: no previous prototype for function 'enfs_update_domain_name' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_config.c:554:6: warning: no previous prototype for function 'enfs_glob_match' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_init.c:100:6: warning: no previous prototype for function 'enfs_fini' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_init.c:95:9: warning: no previous prototype for function 'enfs_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:112:6: warning: no previous prototype for function 'enfs_update_lookup_cache_flag_to_server' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:146:5: warning: no previous prototype for function 'enfs_query_lookup_cache' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:251:6: warning: no previous prototype for function 'enfs_query_lookup_cache_pre_check' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:269:6: warning: no previous prototype for function 'lookupcache_execute_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:292:6: warning: no previous prototype for function 'lookupcache_workqueue_queue_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:305:5: warning: no previous prototype for function 'lookupcache_add_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:374:6: warning: no previous prototype for function 'lookupcache_loop_rpclnt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:423:6: warning: no previous prototype for function 'enfs_lookupcache_update_switch' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:440:5: warning: no previous prototype for function 'lookupcache_routine' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:460:5: warning: no previous prototype for function 'lookupcache_start' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:471:5: warning: no previous prototype for function 'enfs_lookupcache_workqueue_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:487:6: warning: no previous prototype for function 'lookupcache_workqueue_fini' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:504:5: warning: no previous prototype for function 'enfs_lookupcache_timer_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_lookup_cache.c:98:6: warning: no previous prototype for function 'enfs_clean_server_lookup_cache_flag' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:179: 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:321:5: warning: no previous prototype for function 'enfs_configure_xprt_to_clnt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:357:6: warning: no previous prototype for function 'enfs_cmp_addrs' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:374:6: warning: no previous prototype for function 'enfs_xprt_addrs_is_same' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:393:6: warning: no previous prototype for function 'enfs_already_have_xprt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:589:6: warning: variable 'link_count' set but not used [-Wunused-but-set-variable]
fs/nfs/enfs/enfs_multipath.c:836:5: warning: no previous prototype for function 'enfs_multipath_create_thread' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:932:6: warning: no previous prototype for function 'enfs_create_multi_xprt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath.c:988:6: warning: no previous prototype for function 'enfs_release_rpc_clnt' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:120:6: warning: no previous prototype for function 'enfs_free_client_info' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:135:6: warning: no previous prototype for function 'nfs_multipath_client_info_free_work' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:191:6: warning: no previous prototype for function 'nfs_multipath_ip_list_info_match' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:328:6: warning: no previous prototype for function 'print_ip_info' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:352:6: warning: no previous prototype for function 'print_dns_info' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:390:6: warning: no previous prototype for function 'convert_lookup_cache_str' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_client.c:72:5: warning: no previous prototype for function 'nfs_multipath_client_mount_info_init' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:162:5: warning: no previous prototype for function 'enfs_parse_ip_single' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:236:6: warning: no previous prototype for function 'enfs_valid_ip' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:24:6: warning: no previous prototype for function 'nfs_multipath_parse_ip_ipv6_add' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:361:6: warning: no previous prototype for function 'isInvalidDns' [-Wmissing-prototypes]
fs/nfs/enfs/enfs_multipath_parse.c:387:5: warning: no previous prototype for function 'nfs_multipath_parse_dns_list' [-Wmissing-prototypes]
include/linux/compiler.h:241:60: error: initializer element is not constant
include/linux/sched/signal.h: linux/kabi.h is included more than once.
include/linux/syscalls.h:158:40: error: redeclaration of '__syscall_meta__membarrier' with no linkage
include/trace/stages/init.h:2:23: warning: 'str__bonding__trace_system_name' defined but not used [-Wunused-const-variable=]
kernel/cgroup/cpuset.c:5224:28: warning: no previous prototype for 'bpf_cpuset_from_task' [-Wmissing-prototypes]
kernel/cgroup/cpuset.c:5224:28: warning: no previous prototype for function 'bpf_cpuset_from_task' [-Wmissing-prototypes]
kernel/cgroup/cpuset.c:5231:26: warning: no previous prototype for 'bpf_cpumask_weight' [-Wmissing-prototypes]
kernel/cgroup/cpuset.c:5231:26: warning: no previous prototype for function 'bpf_cpumask_weight' [-Wmissing-prototypes]
kismet: WARNING: unmet direct dependencies detected for MOTORCOMM_PHY when selected by YT6801
mm/damon/core.c:116:5: warning: no previous prototype for function 'damon_target_init_kfifo' [-Wmissing-prototypes]
mm/damon/core.c:132:6: warning: no previous prototype for function 'damon_target_deinit_kfifo' [-Wmissing-prototypes]
mm/dynamic_pool.c:1704:51: warning: variable 'ret' is uninitialized when used here [-Wuninitialized]
mm/madvise.c:297:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes]
mm/madvise.c:297:6: warning: no previous prototype for function 'force_swapin_vma' [-Wmissing-prototypes]
mm/mem_sampling.c:69:6: warning: no previous prototype for function 'mem_sampling_record_cb_register' [-Wmissing-prototypes]
mm/mem_sampling.c:86:6: warning: no previous prototype for function 'mem_sampling_record_cb_unregister' [-Wmissing-prototypes]
mm/memblock.c:1448:20: warning: no previous prototype for 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1448:20: warning: no previous prototype for function 'memblock_alloc_range_nid_flags' [-Wmissing-prototypes]
mm/memblock.c:1618: warning: expecting prototype for memblock_alloc_internal(). Prototype was for __memblock_alloc_internal() instead
mm/memcontrol.c:3384:6: warning: no previous prototype for function 'hisi_oom_recover' [-Wmissing-prototypes]
mm/memcontrol.c:4735:12: warning: 'mem_cgroup_check_swap_for_v1' defined but not used [-Wunused-function]
mm/mempolicy.c:1115:25: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/mempolicy.c:1115:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable]
mm/oom_kill.c:319: warning: Function parameter or member 'oc' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'points' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: Function parameter or member 'task' not described in 'oom_next_task'
mm/oom_kill.c:319: warning: expecting prototype for We choose the task in low(). Prototype was for oom_next_task() instead
mm/page_cache_limit.c:61:5: warning: no previous prototype for 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:61:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:77:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes]
mm/share_pool.c:1510: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc'
mm/share_pool.c:2425: warning: duplicate section name 'Return'
mm/share_pool.c:2796:14: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable]
mm/share_pool.c:2796:7: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable]
mm/share_pool.c:2844: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare'
mm/share_pool.c:975: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead
mm/vmalloc.c:4976: warning: Function parameter or member 'pgoff' not described in 'remap_vmalloc_hugepage_range_partial'
Unverified Error/Warning (likely false positive, kindly check if interested):
drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_sysfs.c: linux/types.h is included more than once.
fs/nfs/enfs/enfs_multipath.c: enfs_multipath.h is included more than once.
include/net/tcp.h: linux/kabi.h is included more than once.
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-arm64-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-irqchip-irq-gic-v3-its.c:warning:no-previous-prototype-for-function-gic_data_rdist_get_vlpi_base
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:error:invalid-application-of-sizeof-to-an-incomplete-type-const-struct-free_memory
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hwif.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_main.c:warning:variable-mac_hfr2-set-but-not-used
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:Cannot-understand-force_free:
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-sriov_sysfs.c:warning:unused-variable-vf_type_ib
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:variable-bond_dev-set-but-not-used
| |-- 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_init.c:warning:no-previous-prototype-for-function-enfs_fini
| |-- fs-nfs-enfs-enfs_init.c:warning:no-previous-prototype-for-function-enfs_init
| |-- 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_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_workqueue_queue_work
| |-- 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_client.c:warning:no-previous-prototype-for-function-convert_lookup_cache_str
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-enfs_free_client_info
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_client_info_free_work
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_client_mount_info_init
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_ip_list_info_match
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-print_dns_info
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-print_ip_info
| |-- 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-NfsExtendProcInfoExtendDecode
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendProcInfoExtendEncode
| |-- 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:no-previous-prototype-for-function-check_cpuid_invalid
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_choose_shard_xport
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_delete_shard
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_get_shard_xport
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_query_lif_info
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_shard_ctrl_init
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_fsshard
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_lif_info
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_lsinfo
| |-- 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
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-function-bpf_cpumask_weight
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-function-bpf_cpuset_from_task
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_deinit_kfifo
| |-- mm-damon-core.c:warning:no-previous-prototype-for-function-damon_target_init_kfifo
| |-- mm-dynamic_pool.c:warning:variable-ret-is-uninitialized-when-used-here
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_register
| |-- mm-mem_sampling.c:warning:no-previous-prototype-for-function-mem_sampling_record_cb_unregister
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-function-hisi_oom_recover
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-share_pool.c:warning:Function-parameter-or-member-node_id-not-described-in-sp_area_alloc
| |-- mm-share_pool.c:warning:Function-parameter-or-member-spg_id-not-described-in-mg_sp_unshare
| |-- mm-share_pool.c:warning:duplicate-section-name-Return
| |-- mm-share_pool.c:warning:expecting-prototype-for-mp_sp_group_id_by_pid().-Prototype-was-for-mg_sp_group_id_by_pid()-instead
| |-- mm-share_pool.c:warning:variable-is_hugepage-set-but-not-used
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-sunrpc-sunrpc_enfs_adapter.c:warning:no-previous-prototype-for-function-rpc_task_release_xprt
|-- arm64-allnoconfig
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-004-20250529
| |-- arch-arm64-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-arm64-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- arch-arm64-kvm-virtcca_cvm.c:warning:no-previous-prototype-for-virtcca_get_tmi_version
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete_exit
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli.c:error:function-ps3stor_cli_printf-might-be-a-candidate-for-gnu_printf-format-attribute
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-ps3_dump_context_show
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_close
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_open
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_write
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_filename_build
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_local_time
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_resp_status_convert
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_trigger_irq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_cmd_stat_content_clear
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_io_recv_ok_stat_inc
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-ps3_dump_dir_length
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_pd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_vd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-ps3_sas_expander_phys_refresh
| |-- drivers-scsi-linkdata-ps3stor-ps3_instance_manager.c:error:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_hba
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_raid
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_switch
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-ps3_hard_reset_to_ready
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-ps3_clean_mgr_cmd
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_HDD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CLEAR_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_ENABLE_MSIX-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_MASK_DISABLE-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_STATUS_EXIST_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_SSD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-ps3_cli_ver_query
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_cmd_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_init
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_reset
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clean
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_all_pd_rc_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_cmd_waitq_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_exclusive_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_mgrq_resend
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_pd_waitq_ratio_update
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_tg_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_vd_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_conflict_queue_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_check
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_range_check_and_insert
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-rbtDelNodeDo
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_hard_recovery_state_finish
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_alloc
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_delete
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_free
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_irq_queue_destroy
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_state_transfer
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-ps3_sas_update_phy_info
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_set_task_manager_busy
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_wait_for_outstanding_complete
| |-- include-linux-compiler.h:error:initializer-element-is-not-constant
| |-- include-linux-syscalls.h:error:redeclaration-of-__syscall_meta__membarrier-with-no-linkage
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_sysctl_handler
| |-- mm-share_pool.c:warning:variable-is_hugepage-set-but-not-used
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- arm64-randconfig-051-20250529
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r1.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r2.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r3.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-demo.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-evb.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:gpio-ff260000-(rockchip-gpio-bank):bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:Unevaluated-properties-are-not-allowed-(-bios-disable-n-hog-bios-disable-override-hog-were-unexpecte
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-rk3568-odroid-m1.dtb:pmic-(rockchip-rk809):sound-dai-cells-assigned-clock-parents-assigned-clocks-clock-names-clocks-do-not-match-any-of-the-regexes:pinctrl
| `-- arch-arm64-boot-dts-ti-k3-j721e-beagleboneai64.dtb:syscon-40f00000-(syscon):compatible:syscon-simple-mfd-is-too-short
|-- arm64-randconfig-052-20250529
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r1.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r2.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r3.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-demo.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-evb.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:gpio-ff260000-(rockchip-gpio-bank):bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:Unevaluated-properties-are-not-allowed-(-bios-disable-n-hog-bios-disable-override-hog-were-unexpecte
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-rk3568-odroid-m1.dtb:pmic-(rockchip-rk809):sound-dai-cells-assigned-clock-parents-assigned-clocks-clock-names-clocks-do-not-match-any-of-the-regexes:pinctrl
| `-- arch-arm64-boot-dts-ti-k3-j721e-beagleboneai64.dtb:syscon-40f00000-(syscon):compatible:syscon-simple-mfd-is-too-short
|-- arm64-randconfig-053-20250529
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r1.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r2.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r3.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-demo.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-evb.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:gpio-ff260000-(rockchip-gpio-bank):bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:Unevaluated-properties-are-not-allowed-(-bios-disable-n-hog-bios-disable-override-hog-were-unexpecte
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-rk3568-odroid-m1.dtb:pmic-(rockchip-rk809):sound-dai-cells-assigned-clock-parents-assigned-clocks-clock-names-clocks-do-not-match-any-of-the-regexes:pinctrl
| `-- arch-arm64-boot-dts-ti-k3-j721e-beagleboneai64.dtb:syscon-40f00000-(syscon):compatible:syscon-simple-mfd-is-too-short
|-- arm64-randconfig-055-20250529
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r1.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r2.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-cherry-tomato-r3.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-demo.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-mediatek-mt8195-evb.dtb:dp-intf-1c113000-(mediatek-mt8195-dp-intf):Additional-properties-are-not-allowed-(-power-domains-was-unexpected)
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:gpio-ff260000-(rockchip-gpio-bank):bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:Unevaluated-properties-are-not-allowed-(-bios-disable-n-hog-bios-disable-override-hog-were-unexpecte
| |-- arch-arm64-boot-dts-rockchip-px30-ringneck-haikou.dtb:pinctrl-(rockchip-px30-pinctrl):gpio-ff260000:bios-disable-n-hog-bios-disable-override-hog-do-not-match-any-of-the-regexes:pinctrl
| |-- arch-arm64-boot-dts-rockchip-rk3568-odroid-m1.dtb:pmic-(rockchip-rk809):sound-dai-cells-assigned-clock-parents-assigned-clocks-clock-names-clocks-do-not-match-any-of-the-regexes:pinctrl
| `-- arch-arm64-boot-dts-ti-k3-j721e-beagleboneai64.dtb:syscon-40f00000-(syscon):compatible:syscon-simple-mfd-is-too-short
|-- loongarch-allmodconfig
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_load
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_unload
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_free_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_get_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_kernelwrite
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_printk_hex
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-entry
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-ring_index
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:variable-restart_fg-set-but-not-used
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_desc.c:warning:u-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_main.c:warning:variable-mac_hfr2-set-but-not-used
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:Cannot-understand-force_free:
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete_exit
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli.c:error:function-ps3stor_cli_printf-might-be-a-candidate-for-gnu_printf-format-attribute
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-ps3_dump_context_show
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_close
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_open
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_write
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_filename_build
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_local_time
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_resp_status_convert
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_trigger_irq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_cmd_stat_content_clear
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_io_recv_ok_stat_inc
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-ps3_dump_dir_length
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_pd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_vd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-ps3_sas_expander_phys_refresh
| |-- drivers-scsi-linkdata-ps3stor-ps3_instance_manager.c:error:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_hba
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_raid
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_switch
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-ps3_hard_reset_to_ready
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-ps3_clean_mgr_cmd
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_HDD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CLEAR_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_ENABLE_MSIX-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_MASK_DISABLE-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_STATUS_EXIST_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_SSD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-ps3_cli_ver_query
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_cmd_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_init
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_reset
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clean
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_all_pd_rc_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_cmd_waitq_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_exclusive_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_mgrq_resend
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_pd_waitq_ratio_update
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_tg_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_vd_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_conflict_queue_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_check
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_range_check_and_insert
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-rbtDelNodeDo
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_hard_recovery_state_finish
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_alloc
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_delete
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_free
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_irq_queue_destroy
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_state_transfer
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-ps3_sas_update_phy_info
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_set_task_manager_busy
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_wait_for_outstanding_complete
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- include-trace-stages-init.h:warning:str__bonding__trace_system_name-defined-but-not-used
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-bpf_cpumask_weight
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-bpf_cpuset_from_task
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_sysctl_handler
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allnoconfig
| |-- include-linux-suspend.h:error:expected-)-before-numeric-constant
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-allyesconfig
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_load
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_chip_unload
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_free_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_get_dma_buf
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_kernelwrite
| |-- drivers-crypto-sedriver-wst_se_echip_driver.c:warning:no-previous-prototype-for-se_printk_hex
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-entry
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:unused-variable-ring_index
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ih.c:warning:variable-restart_fg-set-but-not-used
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_desc.c:warning:u-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_main.c:warning:variable-mac_hfr2-set-but-not-used
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:Cannot-understand-force_free:
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-ps3_pci_init_complete_exit
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli.c:error:function-ps3stor_cli_printf-might-be-a-candidate-for-gnu_printf-format-attribute
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-ps3_dump_context_show
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_close
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_open
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_file_write
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_filename_build
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-ps3_dump_local_time
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_resp_status_convert
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-ps3_trigger_irq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_cmd_stat_content_clear
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-ps3_io_recv_ok_stat_inc
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-ps3_dump_dir_length
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_pd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-ps3_scsi_private_init_vd
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-ps3_sas_expander_phys_refresh
| |-- drivers-scsi-linkdata-ps3stor-ps3_instance_manager.c:error:snprintf-output-may-be-truncated-before-the-last-format-character
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_hba
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_raid
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-ps3_ioc_resource_prepare_switch
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-ps3_hard_reset_to_ready
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-ps3_clean_mgr_cmd
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_HDD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CLEAR_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_CMD_ENABLE_MSIX-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_MASK_DISABLE-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_INTERRUPT_STATUS_EXIST_IRQ-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:PS3_SSD_IOPS_MSIX_VECTORS-defined-but-not-used
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-ps3_cli_ver_query
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_cmd_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_init
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_vd_reset
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_hba_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clean
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_pd_quota_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_all_pd_rc_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_cmd_waitq_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_exclusive_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_mgrq_resend
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_pd_waitq_ratio_update
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_tg_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_qos_vd_cmdword_get
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_decision
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_abort
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_clear_all
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_notify
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-ps3_raid_qos_waitq_poll
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_conflict_queue_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_check
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_bit_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_lock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_r1x_hash_range_unlock
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-ps3_range_check_and_insert
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-rbtDelNodeDo
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_hard_recovery_state_finish
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_alloc
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_delete
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_context_free
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_irq_queue_destroy
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-ps3_recovery_state_transfer
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-ps3_sas_update_phy_info
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_set_task_manager_busy
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-ps3_wait_for_outstanding_complete
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- include-trace-stages-init.h:warning:str__bonding__trace_system_name-defined-but-not-used
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-bpf_cpumask_weight
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-bpf_cpuset_from_task
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-cache_reclaim_sysctl_handler
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-001-20250529
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- loongarch-randconfig-002-20250529
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-loongarch-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allnoconfig
| |-- Warning:drivers-arm-mm_monitor-spe-decoder-arm-spe-decoder.c-references-a-file-that-doesn-t-exist:Documentation-arm64-memory.rst
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- drivers-crypto-sedriver-wst_se_common_type.h:linux-version.h-not-needed.
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:mag_mpu_cmd_defs.h-is-included-more-than-once.
| |-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_eth_sysfs.c:linux-types.h-is-included-more-than-once.
| |-- fs-nfs-enfs-enfs_multipath.c:enfs_multipath.h-is-included-more-than-once.
| |-- include-linux-sched-signal.h:linux-kabi.h-is-included-more-than-once.
| |-- include-net-tcp.h:linux-kabi.h-is-included-more-than-once.
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-MOTORCOMM_PHY-when-selected-by-YT6801
| |-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-allyesconfig
| |-- arch-x86-kernel-cpu-bpf-rvi.c:warning:no-previous-prototype-for-function-bpf_arch_flags
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
| |-- drivers-gpu-drm-sti-sti_dvo.c:error:call-to-undeclared-function-devm_ioremap-ISO-C99-and-later-do-not-support-implicit-function-declarations
| |-- drivers-gpu-drm-sti-sti_dvo.c:error:incompatible-integer-to-pointer-conversion-assigning-to-void-from-int
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:error:invalid-application-of-sizeof-to-an-incomplete-type-const-struct-free_memory
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hwif.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-motorcomm-yt6801-yt6801_main.c:warning:variable-mac_hfr2-set-but-not-used
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:Cannot-understand-force_free:
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-sriov_sysfs.c:warning:unused-variable-vf_type_ib
| |-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_lag.c:warning:variable-bond_dev-set-but-not-used
| |-- 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_init.c:warning:no-previous-prototype-for-function-enfs_fini
| |-- fs-nfs-enfs-enfs_init.c:warning:no-previous-prototype-for-function-enfs_init
| |-- 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_lookup_cache.c:warning:no-previous-prototype-for-function-lookupcache_workqueue_queue_work
| |-- 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_client.c:warning:no-previous-prototype-for-function-convert_lookup_cache_str
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-enfs_free_client_info
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_client_info_free_work
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_client_mount_info_init
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-nfs_multipath_ip_list_info_match
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-print_dns_info
| |-- fs-nfs-enfs-enfs_multipath_client.c:warning:no-previous-prototype-for-function-print_ip_info
| |-- 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-NfsExtendProcInfoExtendDecode
| |-- fs-nfs-enfs-exten_call.c:warning:no-previous-prototype-for-function-NfsExtendProcInfoExtendEncode
| |-- 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:no-previous-prototype-for-function-check_cpuid_invalid
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_choose_shard_xport
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_delete_shard
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_get_shard_xport
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_query_lif_info
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_shard_ctrl_init
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_fsshard
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_lif_info
| |-- fs-nfs-enfs-shard_route.c:warning:no-previous-prototype-for-function-enfs_update_lsinfo
| |-- 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
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-function-bpf_cpumask_weight
| |-- kernel-cgroup-cpuset.c:warning:no-previous-prototype-for-function-bpf_cpuset_from_task
| |-- mm-dynamic_pool.c:warning:variable-ret-is-uninitialized-when-used-here
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_limit_mbytes_sysctl_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_enable_handler
| |-- mm-page_cache_limit.c:warning:no-previous-prototype-for-function-cache_reclaim_sysctl_handler
| |-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
| `-- net-sunrpc-sunrpc_enfs_adapter.c:warning:no-previous-prototype-for-function-rpc_task_release_xprt
|-- x86_64-buildonly-randconfig-001-20250529
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-memcontrol.c:warning:mem_cgroup_check_swap_for_v1-defined-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-002-20250529
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-003-20250529
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
| |-- 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_init
| |-- 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_dcb_pfc_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_fc_autoneg_disable_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_hdc_fw_ov_clear
| |-- 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_release
| |-- 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_is_fc_autoneg_disabled
| |-- 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_mbx_init
| |-- 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_update
| |-- 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_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_rx_timestamp_clear
| |-- 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_rcv_msg_from_vf
| |-- 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_rx_cap_switch_on
| |-- 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_pool_bitmap_get
| |-- 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_send_msg_to_vf
| |-- 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_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_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_uc_addr_clear
| |-- 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_vt_disable
| |-- 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:variable-ret-set-but-not-used
| |-- 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_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_ring_irq_interval_set
| |-- 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-if-statement
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-buildonly-randconfig-004-20250529
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-defconfig
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-show_cpuinfo
| |-- 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
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-nfs_check_have_lookup_cache_flag
| |-- mm-madvise.c:warning:no-previous-prototype-for-force_swapin_vma
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-memblock_alloc_range_nid_flags
| |-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
|-- x86_64-randconfig-161-20250530
| |-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
| |-- fs-nfs-dir.c:warning:no-previous-prototype-for-function-nfs_check_have_lookup_cache_flag
| |-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
| |-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
| |-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
| `-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
`-- x86_64-rhel-9.4-rust
|-- arch-x86-kernel-cpu-proc.c:warning:no-previous-prototype-for-function-show_cpuinfo
|-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- arch-x86-kvm-..-..-..-virt-kvm-eventfd.c:warning:cannot-understand-function-prototype:struct-eventfd_shadow
|-- fs-nfs-dir.c:warning:no-previous-prototype-for-function-nfs_check_have_lookup_cache_flag
|-- mm-madvise.c:warning:no-previous-prototype-for-function-force_swapin_vma
|-- mm-memblock.c:warning:expecting-prototype-for-memblock_alloc_internal().-Prototype-was-for-__memblock_alloc_internal()-instead
|-- mm-memblock.c:warning:no-previous-prototype-for-function-memblock_alloc_range_nid_flags
|-- mm-mempolicy.c:warning:variable-vma-set-but-not-used
|-- mm-oom_kill.c:warning:Function-parameter-or-member-oc-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-points-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:Function-parameter-or-member-task-not-described-in-oom_next_task
|-- mm-oom_kill.c:warning:expecting-prototype-for-We-choose-the-task-in-low().-Prototype-was-for-oom_next_task()-instead
`-- mm-vmalloc.c:warning:Function-parameter-or-member-pgoff-not-described-in-remap_vmalloc_hugepage_range_partial
elapsed time: 726m
configs tested: 19
configs skipped: 123
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250529 gcc-5.5.0
arm64 randconfig-002-20250529 clang-21
arm64 randconfig-003-20250529 gcc-5.5.0
arm64 randconfig-004-20250529 gcc-13.3.0
loongarch allmodconfig gcc-15.1.0
loongarch allnoconfig gcc-15.1.0
loongarch randconfig-001-20250529 gcc-15.1.0
loongarch randconfig-002-20250529 gcc-15.1.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250529 gcc-12
x86_64 buildonly-randconfig-002-20250529 clang-20
x86_64 buildonly-randconfig-003-20250529 gcc-12
x86_64 buildonly-randconfig-004-20250529 clang-20
x86_64 buildonly-randconfig-005-20250529 gcc-12
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

30 May '25
Jinqian Yang (1):
irqchip/gic: remove useless printing in pv sgi
drivers/irqchip/irq-gic-v3.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
--
2.33.0
2
2

[PATCH openEuler-1.0-LTS] scsi: target: Fix WRITE_SAME No Data Buffer crash
by Zheng Qixing 30 May '25
by Zheng Qixing 30 May '25
30 May '25
From: Mike Christie <michael.christie(a)oracle.com>
mainline inclusion
from mainline-v5.19-rc7
commit ccd3f449052449a917a3e577d8ba0368f43b8f29
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC5J9X
CVE: CVE-2022-21546
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
------------------
In newer version of the SBC specs, we have a NDOB bit that indicates there
is no data buffer that gets written out. If this bit is set using commands
like "sg_write_same --ndob" we will crash in target_core_iblock/file's
execute_write_same handlers when we go to access the se_cmd->t_data_sg
because its NULL.
This patch adds a check for the NDOB bit in the common WRITE SAME code
because we don't support it. And, it adds a check for zero SG elements in
each handler in case the initiator tries to send a normal WRITE SAME with
no data buffer.
Link: https://lore.kernel.org/r/20220628022325.14627-2-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Signed-off-by: Mike Christie <michael.christie(a)oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com>
---
drivers/target/target_core_file.c | 3 +++
drivers/target/target_core_iblock.c | 4 ++++
drivers/target/target_core_sbc.c | 6 ++++++
3 files changed, 13 insertions(+)
diff --git a/drivers/target/target_core_file.c b/drivers/target/target_core_file.c
index 16751ae55d7b..98487116d15e 100644
--- a/drivers/target/target_core_file.c
+++ b/drivers/target/target_core_file.c
@@ -468,6 +468,9 @@ fd_execute_write_same(struct se_cmd *cmd)
return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
}
+ if (!cmd->t_data_nents)
+ return TCM_INVALID_CDB_FIELD;
+
if (cmd->t_data_nents > 1 ||
cmd->t_data_sg[0].length != cmd->se_dev->dev_attrib.block_size) {
pr_err("WRITE_SAME: Illegal SGL t_data_nents: %u length: %u"
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index 854b2bcca7c1..a8e6ed5ae705 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -471,6 +471,10 @@ iblock_execute_write_same(struct se_cmd *cmd)
" backends not supported\n");
return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
}
+
+ if (!cmd->t_data_nents)
+ return TCM_INVALID_CDB_FIELD;
+
sg = &cmd->t_data_sg[0];
if (cmd->t_data_nents > 1 ||
diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c
index af9b038da3ba..64e4daa1a507 100644
--- a/drivers/target/target_core_sbc.c
+++ b/drivers/target/target_core_sbc.c
@@ -325,6 +325,12 @@ sbc_setup_write_same(struct se_cmd *cmd, unsigned char flags, struct sbc_ops *op
pr_warn("WRITE SAME with ANCHOR not supported\n");
return TCM_INVALID_CDB_FIELD;
}
+
+ if (flags & 0x01) {
+ pr_warn("WRITE SAME with NDOB not supported\n");
+ return TCM_INVALID_CDB_FIELD;
+ }
+
/*
* Special case for WRITE_SAME w/ UNMAP=1 that ends up getting
* translated into block discard requests within backend code.
--
2.39.2
2
1

30 May '25
From: Mike Christie <michael.christie(a)oracle.com>
mainline inclusion
from mainline-v5.19-rc7
commit ccd3f449052449a917a3e577d8ba0368f43b8f29
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC5J9X
CVE: CVE-2022-21546
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
------------------
In newer version of the SBC specs, we have a NDOB bit that indicates there
is no data buffer that gets written out. If this bit is set using commands
like "sg_write_same --ndob" we will crash in target_core_iblock/file's
execute_write_same handlers when we go to access the se_cmd->t_data_sg
because its NULL.
This patch adds a check for the NDOB bit in the common WRITE SAME code
because we don't support it. And, it adds a check for zero SG elements in
each handler in case the initiator tries to send a normal WRITE SAME with
no data buffer.
Link: https://lore.kernel.org/r/20220628022325.14627-2-michael.christie@oracle.com
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Signed-off-by: Mike Christie <michael.christie(a)oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com>
---
drivers/target/target_core_file.c | 3 +++
drivers/target/target_core_iblock.c | 4 ++++
drivers/target/target_core_sbc.c | 6 ++++++
3 files changed, 13 insertions(+)
diff --git a/drivers/target/target_core_file.c b/drivers/target/target_core_file.c
index 18fbbe510d01..eb3eae8f799a 100644
--- a/drivers/target/target_core_file.c
+++ b/drivers/target/target_core_file.c
@@ -455,6 +455,9 @@ fd_execute_write_same(struct se_cmd *cmd)
return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
}
+ if (!cmd->t_data_nents)
+ return TCM_INVALID_CDB_FIELD;
+
if (cmd->t_data_nents > 1 ||
cmd->t_data_sg[0].length != cmd->se_dev->dev_attrib.block_size) {
pr_err("WRITE_SAME: Illegal SGL t_data_nents: %u length: %u"
diff --git a/drivers/target/target_core_iblock.c b/drivers/target/target_core_iblock.c
index f2bd2e207e0b..db4f1ae3d6fc 100644
--- a/drivers/target/target_core_iblock.c
+++ b/drivers/target/target_core_iblock.c
@@ -458,6 +458,10 @@ iblock_execute_write_same(struct se_cmd *cmd)
" backends not supported\n");
return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
}
+
+ if (!cmd->t_data_nents)
+ return TCM_INVALID_CDB_FIELD;
+
sg = &cmd->t_data_sg[0];
if (cmd->t_data_nents > 1 ||
diff --git a/drivers/target/target_core_sbc.c b/drivers/target/target_core_sbc.c
index 47c5f26e6012..f2809c44988b 100644
--- a/drivers/target/target_core_sbc.c
+++ b/drivers/target/target_core_sbc.c
@@ -312,6 +312,12 @@ sbc_setup_write_same(struct se_cmd *cmd, unsigned char flags, struct sbc_ops *op
pr_warn("WRITE SAME with ANCHOR not supported\n");
return TCM_INVALID_CDB_FIELD;
}
+
+ if (flags & 0x01) {
+ pr_warn("WRITE SAME with NDOB not supported\n");
+ return TCM_INVALID_CDB_FIELD;
+ }
+
/*
* Special case for WRITE_SAME w/ UNMAP=1 that ends up getting
* translated into block discard requests within backend code.
--
2.39.2
2
1

[PATCH OLK-6.6] md/raid10: wait barrier before returning discard request with REQ_NOWAIT
by Zheng Qixing 30 May '25
by Zheng Qixing 30 May '25
30 May '25
From: Xiao Ni <xni(a)redhat.com>
mainline inclusion
from mainline-v6.15-rc1
commit 3db4404435397a345431b45f57876a3df133f3b4
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC2CC4
CVE: CVE-2025-40325
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
------------------
raid10_handle_discard should wait barrier before returning a discard bio
which has REQ_NOWAIT. And there is no need to print warning calltrace
if a discard bio has REQ_NOWAIT flag. Quality engineer usually checks
dmesg and reports error if dmesg has warning/error calltrace.
Fixes: c9aa889b035f ("md: raid10 add nowait support")
Signed-off-by: Xiao Ni <xni(a)redhat.com>
Acked-by: Coly Li <colyli(a)kernel.org>
Link: https://lore.kernel.org/linux-raid/20250306094938.48952-1-xni@redhat.com
Signed-off-by: Yu Kuai <yukuai3(a)huawei.com>
Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com>
---
drivers/md/raid10.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 1f7fa6f8f84e..fbe52bd69ff9 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -1601,11 +1601,10 @@ static int raid10_handle_discard(struct mddev *mddev, struct bio *bio)
if (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery))
return -EAGAIN;
- if (WARN_ON_ONCE(bio->bi_opf & REQ_NOWAIT)) {
+ if (!wait_barrier(conf, bio->bi_opf & REQ_NOWAIT)) {
bio_wouldblock_error(bio);
return 0;
}
- wait_barrier(conf, false);
/*
* Check reshape again to avoid reshape happens after checking
--
2.39.2
2
1

30 May '25
From: Yu Kuai <yukuai3(a)huawei.com>
mainline inclusion
from mainline-v6.15-rc1
commit 8542870237c3a48ff049b6c5df5f50c8728284fa
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC1QSU
CVE: CVE-2025-22126
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
------------------
While iterating all_mddevs list from md_notify_reboot() and md_exit(),
list_for_each_entry_safe is used, and this can race with deletint the
next mddev, causing UAF:
t1:
spin_lock
//list_for_each_entry_safe(mddev, n, ...)
mddev_get(mddev1)
// assume mddev2 is the next entry
spin_unlock
t2:
//remove mddev2
...
mddev_free
spin_lock
list_del
spin_unlock
kfree(mddev2)
mddev_put(mddev1)
spin_lock
//continue dereference mddev2->all_mddevs
The old helper for_each_mddev() actually grab the reference of mddev2
while holding the lock, to prevent from being freed. This problem can be
fixed the same way, however, the code will be complex.
Hence switch to use list_for_each_entry, in this case mddev_put() can free
the mddev1 and it's not safe as well. Refer to md_seq_show(), also factor
out a helper mddev_put_locked() to fix this problem.
Cc: Christoph Hellwig <hch(a)lst.de>
Link: https://lore.kernel.org/linux-raid/20250220124348.845222-1-yukuai1@huaweicl…
Fixes: f26514342255 ("md: stop using for_each_mddev in md_notify_reboot")
Fixes: 16648bac862f ("md: stop using for_each_mddev in md_exit")
Reported-and-tested-by: Guillaume Morin <guillaume(a)morinfr.org>
Closes: https://lore.kernel.org/all/Z7Y0SURoA8xwg7vn@bender.morinfr.org/
Signed-off-by: Yu Kuai <yukuai3(a)huawei.com>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com>
---
drivers/md/md.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 99d91ad3a875..4f7284beb754 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -699,6 +699,12 @@ static void __mddev_put(struct mddev *mddev)
queue_work(md_misc_wq, &mddev->del_work);
}
+static void mddev_put_locked(struct mddev *mddev)
+{
+ if (atomic_dec_and_test(&mddev->active))
+ __mddev_put(mddev);
+}
+
void mddev_put(struct mddev *mddev)
{
if (!atomic_dec_and_lock(&mddev->active, &all_mddevs_lock))
@@ -8457,9 +8463,7 @@ static int md_seq_show(struct seq_file *seq, void *v)
if (mddev == list_last_entry(&all_mddevs, struct mddev, all_mddevs))
status_unused(seq);
- if (atomic_dec_and_test(&mddev->active))
- __mddev_put(mddev);
-
+ mddev_put_locked(mddev);
return 0;
}
@@ -9840,11 +9844,11 @@ EXPORT_SYMBOL_GPL(rdev_clear_badblocks);
static int md_notify_reboot(struct notifier_block *this,
unsigned long code, void *x)
{
- struct mddev *mddev, *n;
+ struct mddev *mddev;
int need_delay = 0;
spin_lock(&all_mddevs_lock);
- list_for_each_entry_safe(mddev, n, &all_mddevs, all_mddevs) {
+ list_for_each_entry(mddev, &all_mddevs, all_mddevs) {
if (!mddev_get(mddev))
continue;
spin_unlock(&all_mddevs_lock);
@@ -9856,8 +9860,8 @@ static int md_notify_reboot(struct notifier_block *this,
mddev_unlock(mddev);
}
need_delay = 1;
- mddev_put(mddev);
spin_lock(&all_mddevs_lock);
+ mddev_put_locked(mddev);
}
spin_unlock(&all_mddevs_lock);
@@ -10180,7 +10184,7 @@ void md_autostart_arrays(int part)
static __exit void md_exit(void)
{
- struct mddev *mddev, *n;
+ struct mddev *mddev;
int delay = 1;
unregister_blkdev(MD_MAJOR,"md");
@@ -10201,7 +10205,7 @@ static __exit void md_exit(void)
remove_proc_entry("mdstat", NULL);
spin_lock(&all_mddevs_lock);
- list_for_each_entry_safe(mddev, n, &all_mddevs, all_mddevs) {
+ list_for_each_entry(mddev, &all_mddevs, all_mddevs) {
if (!mddev_get(mddev))
continue;
spin_unlock(&all_mddevs_lock);
@@ -10213,8 +10217,8 @@ static __exit void md_exit(void)
* the mddev for destruction by a workqueue, and the
* destroy_workqueue() below will wait for that to complete.
*/
- mddev_put(mddev);
spin_lock(&all_mddevs_lock);
+ mddev_put_locked(mddev);
}
spin_unlock(&all_mddevs_lock);
--
2.39.2
2
1

[openeuler:OLK-5.10] BUILD REGRESSION 514e2fed5e50b609522773c4ce3b1b79fb22395d
by kernel test robot 30 May '25
by kernel test robot 30 May '25
30 May '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: 514e2fed5e50b609522773c4ce3b1b79fb22395d !16493 drivers:misc:sdma-dae: fix incorrect kmalloc flag
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202504302232.oeU1VyOU-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505021622.Vo53IuHc-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505062356.u2rMcCQF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505091231.o5lexadJ-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505100150.DG1QGwH3-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505211008.Lhrh17Cr-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505272346.fzESqwgx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280024.8UbNlKSa-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280046.3lWnWdOg-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280545.IP3aIukn-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505280648.AMUiWr41-lkp@intel.com
https://lore.kernel.org/oe-kbuild/202505291536.8a44hWAc-lkp@intel.com
./drivers/net/ethernet/huawei/hinic3/cqm/cqm_memsec.c: 682: need linux/version.h
arch/arm64/include/asm/atomic_lse.h:364:1: error: unknown register name 'x0' in asm
arch/arm64/include/asm/atomic_lse.h:364:1: error: unknown register name 'x1' in asm
arch/arm64/include/asm/atomic_lse.h:364:1: error: unknown register name 'x2' in asm
drivers/net/ethernet/huawei/hinic3/cqm/cqm_cmd.c:158:5: warning: no previous prototype for function 'cqm3_lb_send_cmd_box_async' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_dbg.c:689:5: warning: variable 'cos_num' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/huawei/hinic3/hinic3_ethtool_stats.c:342:5: warning: no previous prototype for function 'hinic3_rx_queue_stat_pack' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_ethtool_stats.c:357:5: warning: no previous prototype for function 'hinic3_tx_queue_stat_pack' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:1678:5: warning: no previous prototype for function 'set_fecparam' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:1706:5: warning: no previous prototype for function 'get_fecparam' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:623:6: warning: no previous prototype for function 'print_port_info' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:802:6: warning: no previous prototype for function 'hinic3_notify_vf_bond_status' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_mag_cfg.c:832:6: warning: no previous prototype for function 'hinic3_notify_all_vfs_bond_changed' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_main.c:1211:6: warning: no previous prototype for function 'hinic3_need_proc_link_event' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_main.c:1258:6: warning: no previous prototype for function 'hinic3_need_proc_bond_event' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c:59:6: warning: variable 'size' set but not used [-Wunused-but-set-variable]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_dev_mgmt.c:618:6: warning: no previous prototype for function 'hinic3_write_oshr_info' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_hw_api.c:95: warning: Function parameter or member 'instance' not described in 'hinic3_sm_ctr_rd16_clear'
drivers/net/ethernet/huawei/hinic3/hw/hinic3_hw_comm.c:1671:6: warning: no previous prototype for function 'hinic3_is_optical_module_mode' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_hwif.c:865:5: warning: no previous prototype for function 'hinic3_global_func_id_hw' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1796:6: warning: no previous prototype for function 'hinic3_set_func_state' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:1822:6: warning: no previous prototype for function 'slave_host_mgmt_work' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:525:5: warning: no previous prototype for function 'hinic3_pdev_is_virtfn' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:785:5: warning: no previous prototype for function '__set_vroce_func_state' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:826:6: warning: no previous prototype for function 'slave_host_mgmt_vroce_work' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_lld.c:834:7: warning: no previous prototype for function 'hinic3_get_roce_uld_by_pdev' [-Wmissing-prototypes]
drivers/net/ethernet/huawei/hinic3/hw/hinic3_sriov.c:176:5: warning: no previous prototype for function 'hinic3_pci_sriov_check' [-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:432:6: error: no previous prototype for function 'sxe_debugfs_entries_init' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:459:6: error: no previous prototype for function 'sxe_debugfs_entries_exit' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:465:6: error: no previous prototype for function 'sxe_debugfs_init' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_debugfs.c:470:6: error: no previous prototype for function 'sxe_debugfs_exit' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2022:5: error: no previous prototype for function 'sxe_reg_test' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_ethtool.c:2644:5: error: no previous prototype for function 'sxe_phys_id_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:230:6: error: no previous prototype for function 'sxe_hw_no_snoop_disable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:262:6: error: no previous prototype for function 'sxe_hw_uc_addr_pool_del' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:283:5: error: no previous prototype for function 'sxe_hw_uc_addr_pool_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:337:5: error: no previous prototype for function 'sxe_hw_nic_reset' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:367:6: error: no previous prototype for function 'sxe_hw_pf_rst_done_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:735:5: error: no previous prototype for function 'sxe_hw_pending_irq_read_clear' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:740:6: error: no previous prototype for function 'sxe_hw_pending_irq_write_clear' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:745:5: error: no previous prototype for function 'sxe_hw_irq_cause_get' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:765:6: error: no previous prototype for function 'sxe_hw_ring_irq_auto_disable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:775:6: error: no previous prototype for function 'sxe_hw_irq_general_reg_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:780:5: error: no previous prototype for function 'sxe_hw_irq_general_reg_get' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:790:6: error: no previous prototype for function 'sxe_hw_event_irq_map' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:806:6: error: no previous prototype for function 'sxe_hw_ring_irq_map' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:823:6: error: no previous prototype for function 'sxe_hw_ring_irq_interval_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:838:6: error: no previous prototype for function 'sxe_hw_event_irq_auto_clear_set' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:843:6: error: no previous prototype for function 'sxe_hw_specific_irq_disable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:848:6: error: no previous prototype for function 'sxe_hw_specific_irq_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_hw.c:876:6: error: no previous prototype for function 'sxe_hw_all_irq_disable' [-Werror,-Wmissing-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_irq.c:136:5: error: no previous prototype for function 'sxe_msi_irq_init' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:182:6: error: no previous prototype for function 'sxe_disable_dcb' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:212:6: error: no previous prototype for function 'sxe_disable_rss' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:729:6: error: no previous prototype for function 'sxe_lsc_irq_handler' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_irq.c:745:6: error: no previous prototype for function 'sxe_mailbox_irq_handler' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c: linux/moduleparam.h is included more than once.
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_main.c:70:6: error: no previous prototype for function 'sxe_allow_inval_mac' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_netdev.c: sxe_netdev.h is included more than once.
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_phy.c:733:5: error: no previous prototype for function 'sxe_multispeed_sfp_link_configure' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_rx_proc.c:1431:6: error: no previous prototype for function 'sxe_headers_cleanup' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_rx_proc.c:1569:6: error: no previous prototype for function 'sxe_rx_buffer_page_offset_update' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c: sxe_ipsec.h is included more than once.
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c:1552:6: error: no previous prototype for function 'sxe_set_vf_link_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_sriov.c:766:6: error: variable 'ret' set but not used [-Werror,-Wunused-but-set-variable]
drivers/net/ethernet/linkdata/sxe/sxepf/sxe_xdp.c:403:6: error: no previous prototype for function 'sxe_txrx_ring_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf.h: sxe_errno.h is included more than once.
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c: sxevf.h is included more than once.
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c: sxevf_hw.h is included more than once.
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:160:6: error: no previous prototype for function 'sxevf_hw_stop' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:187:6: error: no previous prototype for function 'sxevf_msg_write' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:196:5: error: no previous prototype for function 'sxevf_msg_read' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:206:5: error: no previous prototype for function 'sxevf_mailbox_read' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:211:6: error: no previous prototype for function 'sxevf_mailbox_write' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:216:6: error: no previous prototype for function 'sxevf_pf_req_irq_trigger' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:221:6: error: no previous prototype for function 'sxevf_pf_ack_irq_trigger' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:226:6: error: no previous prototype for function 'sxevf_event_irq_map' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:245:6: error: no previous prototype for function 'sxevf_irq_enable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:251:6: error: no previous prototype for function 'sxevf_irq_disable' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:259:6: error: no previous prototype for function 'sxevf_hw_ring_irq_map' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:313:6: error: no previous prototype for function 'sxevf_hw_reset' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_hw.c:324:5: error: no previous prototype for function 'sxevf_link_state_get' [-Werror,-Wmissing-prototypes]
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_monitor.o: warning: objtool: sxevf_work_cb()+0x1545: can't find switch jump table
drivers/net/ethernet/linkdata/sxevf/sxevf/sxevf_netdev.c: sxevf_hw.h is included more than once.
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.o: warning: objtool: mlxsw_sp_neigh_entry_update()+0x26f: unreachable instruction
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:546:5: error: no previous prototype for function 'ps3_pci_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:900:5: error: no previous prototype for function 'ps3_pci_init_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:946:6: error: no previous prototype for function 'ps3_pci_init_complete_exit' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1060:5: error: no previous prototype for function 'ps3_dump_context_show' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:131:9: error: 'strncpy' specified bound 64 equals destination size [-Werror=stringop-truncation]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:41:19: error: unused function 'time_for_log' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:65:19: error: unused function 'time_for_file_name' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:160:5: error: no previous prototype for function 'ps3_dump_file_write' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:201:5: error: no previous prototype for function 'ps3_dump_file_close' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:29:5: error: no previous prototype for function 'ps3_dump_local_time' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:51:5: error: no previous prototype for function 'ps3_dump_filename_build' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:77:5: error: no previous prototype for function 'ps3_dump_file_open' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:132:6: error: no previous prototype for function 'ps3_trigger_irq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:244:5: error: no previous prototype for function 'ps3_resp_status_convert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:404:6: error: no previous prototype for function 'ps3_io_recv_ok_stat_inc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:86:6: error: no previous prototype for function 'ps3_cmd_stat_content_clear' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_debug.c:884:5: error: no previous prototype for function 'ps3_dump_dir_length' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1582:5: error: no previous prototype for function 'ps3_scsi_private_init_pd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1664:5: error: no previous prototype for function 'ps3_scsi_private_init_vd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1633:5: error: no previous prototype for function 'ps3_sas_expander_phys_refresh' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:148:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_hba' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:37:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_switch' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:89:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_raid' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:308:5: error: no previous prototype for function 'ps3_hard_reset_to_ready' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:786:6: error: no previous prototype for function 'ps3_clean_mgr_cmd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: unused variable 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: unused variable 'PS3_INTERRUPT_CMD_ENABLE_MSIX' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: unused variable 'PS3_INTERRUPT_MASK_DISABLE' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: unused variable 'PS3_INTERRUPT_STATUS_EXIST_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:26:27: error: unused variable 'PS3_INTERRUPT_CLEAR_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: unused variable 'PS3_SSD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:29:27: error: unused variable 'PS3_HDD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_module_para.c:610:14: error: no previous prototype for function 'ps3_cli_ver_query' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1059:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2020:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2041:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2101:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:212:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2464:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2828:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2937:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3024:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3280:15: error: no previous prototype for function 'ps3_raid_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3335:6: error: no previous prototype for function 'ps3_qos_mgrq_resend' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:336:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3479:6: error: no previous prototype for function 'ps3_raid_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:352:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:364:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3822:15: error: no previous prototype for function 'ps3_raid_qos_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:750:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:877:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:893:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1174:5: error: no previous prototype for function 'ps3_range_check_and_insert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1232:5: error: no previous prototype for function 'ps3_r1x_hash_range_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1313:6: error: no previous prototype for function 'ps3_r1x_hash_range_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:579:5: error: no previous prototype for function 'ps3_r1x_hash_bit_check' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:679:6: error: no previous prototype for function 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:731:5: error: no previous prototype for function 'ps3_r1x_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:989:6: error: no previous prototype for function 'ps3_r1x_hash_bit_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:155:6: error: no previous prototype for function 'rbtDelNodeDo' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:205:6: error: no previous prototype for function 'ps3_recovery_irq_queue_destroy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2701:6: error: no previous prototype for function 'ps3_hard_recovery_state_finish' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:364:5: error: no previous prototype for function 'ps3_recovery_state_transfer' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:73:30: error: no previous prototype for function 'ps3_recovery_context_alloc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:83:6: error: no previous prototype for function 'ps3_recovery_context_free' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:89:6: error: no previous prototype for function 'ps3_recovery_context_delete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:408:5: error: no previous prototype for function 'ps3_sas_update_phy_info' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1111:5: error: no previous prototype for function 'ps3_wait_for_outstanding_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:877:6: error: no previous prototype for function 'ps3_set_task_manager_busy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsih.c:1959:1: error: unused function 'ps3_scsih_dev_id_get' [-Werror,-Wunused-function]
include/linux/minmax.h:20:35: warning: comparison of distinct pointer types lacks a cast
kismet: WARNING: unmet direct dependencies detected for BPF_NET_GLOBAL_PROG when selected by SCHED_TASK_RELATIONSHIP
kismet: WARNING: unmet direct dependencies detected for PGP_KEY_PARSER when selected by PGP_PRELOAD
kismet: WARNING: unmet direct dependencies detected for PGP_PRELOAD when selected by PGP_PRELOAD_PUBLIC_KEYS
kismet: WARNING: unmet direct dependencies detected for SERIAL_EARLYCON when selected by SERIAL_IMX_EARLYCON
kismet: WARNING: unmet direct dependencies detected for TASK_PLACEMENT_BY_CPU_RANGE when selected by BPF_SCHED
mm/damon/core-test.h:284:2: warning: comparison of distinct pointer types ('typeof (__left) *' (aka 'unsigned int *') and 'typeof (__right) *' (aka 'int *')) [-Wcompare-distinct-pointer-types]
mm/hugetlb.c:2223:9: warning: variable 'gfp' set but not used [-Wunused-but-set-variable]
mm/khugepaged.c:1703: warning: Function parameter or member 'reliable' not described in 'collapse_file'
mm/page_alloc.c:6794:23: warning: no previous prototype for function 'arch_memmap_init' [-Wmissing-prototypes]
mm/process_vm_access.c: linux/compat.h is included more than once.
Unverified Error/Warning (likely false positive, kindly check if interested):
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-conn-name: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-filters: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-in-sigs: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-in-types: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-out-sigs: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/coresight-cti.yaml: arm,trig-out-types: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/arm/idle-states.yaml: idle-state-name: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/clock/idt,versaclock5.yaml: idt,mode: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/clock/idt,versaclock5.yaml: idt,slew-percent: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml: allwinner,tcon-channel: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml: adi,reference-select: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: label: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: qcom,avg-samples: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: qcom,decimation: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: qcom,hw-settle-time: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.yaml: qcom,pre-scaling: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,adc-channel-clk-src: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,adc-channel-names: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,adc-channel-types: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,adc-channels: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml: st,filter-order: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/ti,ads1015.yaml: ti,datarate: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/adc/ti,ads1015.yaml: ti,gain: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/addac/adi,ad74413r.yaml: adi,ch-func: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,cold-junction-handle: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,custom-rtd: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,custom-steinhart: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,custom-thermistor: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,custom-thermocouple: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,excitation-current-nanoamp: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,ideal-factor-value: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,number-of-wires: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,rsense-handle: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,rtd-curve: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml: adi,sensor-type: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml: affinity: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml: allOf: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/leds-lp50xx.yaml: allOf: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/leds-lp55xx.yaml: chan-name: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/leds-lp55xx.yaml: led-cur: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/leds-lp55xx.yaml: max-cur: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml: color: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml: function: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml: rohm,led-compatible: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/media/i2c/imx219.yaml: link-frequencies: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/media/i2c/ov8856.yaml: link-frequencies: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-bus-width: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tAH: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tAS: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tAW: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tBP: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml: ingenic,nemc-tSTRV: Missing additionalProperties/unevaluatedProperties constraint
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml: slew-rate: Missing additionalProperties/unevaluatedProperties constraint
drivers/net/ethernet/huawei/hinic3/ossl_knl_linux.h: net/devlink.h is included more than once.
drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.o: warning: objtool: mlx5_chains_put_table()+0x38f: unreachable instruction
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- arch-arm64-include-asm-atomic_lse.h:error:unknown-register-name-x0-in-asm
| |-- arch-arm64-include-asm-atomic_lse.h:error:unknown-register-name-x1-in-asm
| `-- arch-arm64-include-asm-atomic_lse.h:error:unknown-register-name-x2-in-asm
|-- arm64-randconfig-001-20250529
| |-- lib-gcc-aarch64-linux-..-plugin-include-config-elfos.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-defaults.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_clobbered-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_used-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:gimple_call_addr_fndecl-was-not-declared-in-this-scope
| `-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:is_gimple_reg-was-not-declared-in-this-scope
|-- arm64-randconfig-003-20250529
| |-- lib-gcc-aarch64-linux-..-plugin-include-config-elfos.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-defaults.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_clobbered-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_used-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:gimple_call_addr_fndecl-was-not-declared-in-this-scope
| `-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:is_gimple_reg-was-not-declared-in-this-scope
|-- arm64-randconfig-004-20250529
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:strncpy-specified-bound-equals-destination-size
| |-- include-linux-minmax.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
| `-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
|-- arm64-randconfig-051-20250529
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- arm64-randconfig-052-20250529
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- arm64-randconfig-053-20250529
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- arm64-randconfig-054-20250529
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- arm64-randconfig-055-20250529
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-conn-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-filters:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-in-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-sigs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-coresight-cti.yaml:arm-trig-out-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-arm-idle-states.yaml:idle-state-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-clock-idt-versaclock5.yaml:idt-slew-percent:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-display-allwinner-sun4i-a10-tcon.yaml:allwinner-tcon-channel:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-adi-ad7124.yaml:adi-reference-select:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:label:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-avg-samples:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-decimation:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-hw-settle-time:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-qcom-spmi-vadc.yaml:qcom-pre-scaling:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-clk-src:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-names:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channel-types:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-adc-channels:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-st-stm32-dfsdm-adc.yaml:st-filter-order:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-datarate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-adc-ti-ads1015.yaml:ti-gain:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-addac-adi-ad74413r.yaml:adi-ch-func:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-cold-junction-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-rtd:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-steinhart:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermistor:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-custom-thermocouple:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-excitation-current-nanoamp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-ideal-factor-value:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-number-of-wires:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rsense-handle:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-rtd-curve:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-iio-temperature-adi-ltc2983.yaml:adi-sensor-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-interrupt-controller-arm-gic-v3.yaml:affinity:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-cznic-turris-omnia-leds.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:chan-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:led-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp55xx.yaml:max-cur:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-leds-lp5x.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:color:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-leds-rohm-bd71828-leds.yaml:rohm-led-compatible:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-imx219.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-media-i2c-ov8856.yaml:link-frequencies:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-bus-width:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAH:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAS:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tAW:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tBP:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-ingenic-nemc.yaml:ingenic-nemc-tSTRV:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra124-emc.yaml:nvidia-ram-code:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-nvidia-tegra186-mc.yaml:nvidia-bpmp:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-asyncwait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-buswidth:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cclk-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-cpsize:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-mux-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-transaction-type:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-wait-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitcfg-enable:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-memory-controllers-st-stm32-fmc2-ebi.yaml:st-fmc2-ebi-cs-waitpol-high:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-cirrus-lochnagar.yaml:cirrus-micbias-input:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-gateworks-gsc.yaml:gw-mode:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stm32-timers.yaml:st-breakinput:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-mfd-st-stmfx.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:allOf:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_mult:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:cpts_clock_shift:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-cpsw-switch.yaml:ti-dual-emac-pvid:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-mac-only:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-net-ti-k3-am654-cpsw-nuss.yaml:ti-syscon-efuse:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:pinmux:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:slew-rate:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-ioport:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-st-stm32-pinctrl.yaml:st-bank-name:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:function:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-pinctrl-toshiba-visconti-pinctrl.yaml:groups:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:mclk-fs:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-amlogic-gx-sound-card.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-marvell-mmp-sspa.yaml:dai-format:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-aries-wm8994.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-midas-audio.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-sound-samsung-odroid.yaml:sound-dai:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-timer-arm-arch_timer_mmio.yaml:frame-number:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:manufacturer:Missing-additionalProperties-unevaluatedProperties-constraint
| |-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:product:Missing-additionalProperties-unevaluatedProperties-constraint
| `-- Documentation-devicetree-bindings-usb-aspeed-usb-vhub.yaml:serial-number:Missing-additionalProperties-unevaluatedProperties-constraint
|-- arm64-randconfig-r064-20250530
| |-- arch-arm64-include-asm-atomic_lse.h:error:unknown-register-name-x0-in-asm
| |-- arch-arm64-include-asm-atomic_lse.h:error:unknown-register-name-x1-in-asm
| `-- arch-arm64-include-asm-atomic_lse.h:error:unknown-register-name-x2-in-asm
|-- x86_64-allnoconfig
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_memsec.c::need-linux-version.h
| |-- drivers-net-ethernet-huawei-hinic3-ossl_knl_linux.h:net-devlink.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:linux-moduleparam.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_netdev.c:sxe_netdev.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:sxe_ipsec.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf.h:sxe_errno.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:sxevf.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:sxevf_hw.h-is-included-more-than-once.
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_netdev.c:sxevf_hw.h-is-included-more-than-once.
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-BPF_NET_GLOBAL_PROG-when-selected-by-SCHED_TASK_RELATIONSHIP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-DRM_PANEL_BRIDGE-when-selected-by-DRM_TOSHIBA_TC358762
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-PGP_KEY_PARSER-when-selected-by-PGP_PRELOAD
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-PGP_PRELOAD-when-selected-by-PGP_PRELOAD_PUBLIC_KEYS
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-SERIAL_EARLYCON-when-selected-by-SERIAL_IMX_EARLYCON
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-TASK_PLACEMENT_BY_CPU_RANGE-when-selected-by-BPF_SCHED
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
| `-- mm-process_vm_access.c:linux-compat.h-is-included-more-than-once.
|-- x86_64-allyesconfig
| |-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_cmd.c:warning:no-previous-prototype-for-function-cqm3_lb_send_cmd_box_async
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_dbg.c:warning:variable-cos_num-set-but-not-used
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_ethtool_stats.c:warning:no-previous-prototype-for-function-hinic3_rx_queue_stat_pack
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_ethtool_stats.c:warning:no-previous-prototype-for-function-hinic3_tx_queue_stat_pack
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-get_fecparam
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-hinic3_notify_all_vfs_bond_changed
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-hinic3_notify_vf_bond_status
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-print_port_info
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_mag_cfg.c:warning:no-previous-prototype-for-function-set_fecparam
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_main.c:warning:no-previous-prototype-for-function-hinic3_need_proc_bond_event
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_main.c:warning:no-previous-prototype-for-function-hinic3_need_proc_link_event
| |-- drivers-net-ethernet-huawei-hinic3-hinic3_netdev_ops.c:warning:variable-size-set-but-not-used
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_dev_mgmt.c:warning:no-previous-prototype-for-function-hinic3_write_oshr_info
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hw_api.c:warning:Function-parameter-or-member-instance-not-described-in-hinic3_sm_ctr_rd16_clear
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hw_comm.c:warning:no-previous-prototype-for-function-hinic3_is_optical_module_mode
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_hwif.c:warning:no-previous-prototype-for-function-hinic3_global_func_id_hw
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-__set_vroce_func_state
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-hinic3_get_roce_uld_by_pdev
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-hinic3_pdev_is_virtfn
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-hinic3_set_func_state
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-slave_host_mgmt_vroce_work
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_lld.c:warning:no-previous-prototype-for-function-slave_host_mgmt_work
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_sriov.c:warning:no-previous-prototype-for-function-hinic3_pci_sriov_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_phys_id_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_reg_test-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_all_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_auto_clear_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_cause_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_no_snoop_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_write_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pf_rst_done_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_auto_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_del-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_rss-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_lsc_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_mailbox_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-function-sxe_allow_inval_mac-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-function-sxe_multispeed_sfp_link_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_headers_cleanup-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_rx_buffer_page_offset_update-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-function-sxe_set_vf_link_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used-Werror-Wunused-but-set-variable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-function-sxe_txrx_ring_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_stop-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_link_state_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_ack_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_req_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_desc_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_tx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-function-sxevf_rx_ring_buffers_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete_exit-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-function-ps3_dump_context_show-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_file_name-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_log-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_close-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_open-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_write-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_filename_build-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_local_time-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_resp_status_convert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_trigger_irq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_cmd_stat_content_clear-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_io_recv_ok_stat_inc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-function-ps3_dump_dir_length-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_pd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_vd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-function-ps3_sas_expander_phys_refresh-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_hba-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_raid-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_switch-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-function-ps3_hard_reset_to_ready-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-function-ps3_clean_mgr_cmd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_HDD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CLEAR_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_ENABLE_MSIX-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_MASK_DISABLE-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_STATUS_EXIST_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_SSD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-function-ps3_cli_ver_query-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_cmd_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_reset-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clean-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_all_pd_rc_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_cmd_waitq_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_exclusive_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_mgrq_resend-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_pd_waitq_ratio_update-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_tg_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_vd_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_conflict_queue_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_check-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_range_check_and_insert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-function-rbtDelNodeDo-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_hard_recovery_state_finish-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_alloc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_delete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_irq_queue_destroy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_state_transfer-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-function-ps3_sas_update_phy_info-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_set_task_manager_busy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_wait_for_outstanding_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsih.c:error:unused-function-ps3_scsih_dev_id_get-Werror-Wunused-function
| |-- mm-damon-core-test.h:warning:comparison-of-distinct-pointer-types-(-typeof-(__left)-(aka-unsigned-int-)-and-typeof-(__right)-(aka-int-))
| |-- mm-hugetlb.c:warning:variable-gfp-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
|-- x86_64-buildonly-randconfig-002-20250529
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
|-- x86_64-buildonly-randconfig-003-20250529
| |-- include-linux-minmax.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
| `-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
|-- x86_64-buildonly-randconfig-004-20250529
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
|-- x86_64-buildonly-randconfig-005-20250529
| `-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
|-- x86_64-buildonly-randconfig-006-20250529
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
|-- x86_64-randconfig-161-20250530
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_phys_id_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_reg_test-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_all_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_auto_clear_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_cause_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_no_snoop_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_write_clear-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pf_rst_done_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_auto_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_del-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_rss-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_lsc_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_mailbox_irq_handler-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-function-sxe_allow_inval_mac-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-function-sxe_multispeed_sfp_link_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_headers_cleanup-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_rx_buffer_page_offset_update-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-function-sxe_set_vf_link_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used-Werror-Wunused-but-set-variable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-function-sxe_txrx_ring_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_event_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_reset-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_ring_irq_map-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_stop-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_disable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_link_state_get-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_read-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_write-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_ack_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_req_irq_trigger-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_ring_irq_interval_set-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_desc_configure-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_specific_irq_enable-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_tx_ring_switch-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_monitor.o:warning:objtool:sxevf_work_cb:can-t-find-switch-jump-table
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-function-sxevf_rx_ring_buffers_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_alloc-Werror-Wmissing-prototypes
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_free-Werror-Wmissing-prototypes
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- mm-hugetlb.c:warning:variable-gfp-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
`-- x86_64-rhel-9.4-rust
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_exit-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_entries_init-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_exit-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-function-sxe_debugfs_init-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_phys_id_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-function-sxe_reg_test-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_all_irq_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_auto_clear_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_event_irq_map-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_cause_get-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_get-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_irq_general_reg_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_link_speed_get-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_nic_reset-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_no_snoop_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_read_clear-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pending_irq_write_clear-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_pf_rst_done_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_auto_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_interval_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_ring_irq_map-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_specific_irq_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_del-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-function-sxe_hw_uc_addr_pool_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_dcb-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_disable_rss-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_lsc_irq_handler-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_mailbox_irq_handler-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-function-sxe_msi_irq_init-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-function-sxe_allow_inval_mac-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-function-sxe_multispeed_sfp_link_configure-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_headers_cleanup-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-function-sxe_rx_buffer_page_offset_update-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-function-sxe_set_vf_link_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used-Werror-Wunused-but-set-variable
|-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-function-sxe_txrx_ring_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_event_irq_map-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_reset-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_ring_irq_map-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_hw_stop-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_disable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_irq_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_link_state_get-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_read-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_mailbox_write-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_read-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_msg_write-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_ack_irq_trigger-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_pf_req_irq_trigger-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_ring_irq_interval_set-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_rcv_ctl_configure-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_desc_configure-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_rx_ring_switch-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_specific_irq_enable-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-function-sxevf_tx_ring_switch-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-function-sxevf_rx_ring_buffers_alloc-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_alloc-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-function-sxevf_tx_ring_free-Werror-Wmissing-prototypes
|-- drivers-net-ethernet-mellanox-mlx5-core-lib-fs_chains.o:warning:objtool:mlx5_chains_put_table:unreachable-instruction
|-- drivers-net-ethernet-mellanox-mlxsw-spectrum_router.o:warning:objtool:mlxsw_sp_neigh_entry_update:unreachable-instruction
|-- mm-hugetlb.c:warning:variable-gfp-set-but-not-used
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_file
`-- mm-page_alloc.c:warning:no-previous-prototype-for-function-arch_memmap_init
elapsed time: 731m
configs tested: 16
configs skipped: 117
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250529 gcc-5.5.0
arm64 randconfig-002-20250529 clang-21
arm64 randconfig-003-20250529 gcc-5.5.0
arm64 randconfig-004-20250529 gcc-13.3.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250529 gcc-12
x86_64 buildonly-randconfig-002-20250529 clang-20
x86_64 buildonly-randconfig-003-20250529 gcc-12
x86_64 buildonly-randconfig-004-20250529 clang-20
x86_64 buildonly-randconfig-005-20250529 gcc-12
x86_64 buildonly-randconfig-006-20250529 clang-20
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS] BUILD REGRESSION 5dc47e9223ca57c9b89808e91ec8e1cb1ee6692a
by kernel test robot 30 May '25
by kernel test robot 30 May '25
30 May '25
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: 5dc47e9223ca57c9b89808e91ec8e1cb1ee6692a !16519 mmc: sdhci-pci: Fix possible memory leak caused by missing pci_dev_put()
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202505070314.0zdCBK7T-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505160438.vuslIGAx-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505180330.wT5fsdK9-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201642.9kWf73yF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201731.rOzzhiIH-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505201910.3QGTFYPj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505202028.GvFwJHdW-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202505202138.LT7VPPBg-lkp@intel.com
arch/x86/kernel/fpu/core.c:175:14: warning: mixing declarations and code is a C99 extension [-Wdeclaration-after-statement]
drivers/gpu/drm/ttm/.tmp_ttm_page_alloc.o: warning: objtool: missing symbol for section .text.unlikely
drivers/gpu/drm/ttm/.tmp_ttm_page_alloc_dma.o: warning: objtool: missing symbol for section .text.unlikely
include/linux/filter.h:787:10: warning: cast between incompatible function types from 'u64 (*)(u64, u64, u64, u64, u64)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int)'} to 'u64 (*)(u64, u64, u64, u64, u64, const struct bpf_insn *)' {aka 'long long unsigned int (*)(long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, long long unsigned int, const struct bpf_insn *)'} [-Wcast-function-type]
include/linux/list.h:65:19: warning: storing the address of local variable 'tmp' in '((struct list_head *)lip)[5].prev' [-Wdangling-pointer=]
include/trace/trace_events.h:26:23: warning: 'str__fs__trace_system_name' defined but not used [-Wunused-const-variable=]
kernel/locking/.tmp_lockdep.o: warning: objtool: missing symbol for section .text
kismet: WARNING: unmet direct dependencies detected for CRYPTO_MICHAEL_MIC when selected by RTLLIB_CRYPTO_TKIP
kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by DRM_NOUVEAU
kismet: WARNING: unmet direct dependencies detected for IIO_BUFFER_CB when selected by TOUCHSCREEN_ADC
kismet: WARNING: unmet direct dependencies detected for PINCTRL_EXYNOS when selected by ARCH_EXYNOS
kismet: WARNING: unmet direct dependencies detected for UACCE when selected by CRYPTO_DEV_HISI_QM
mm/.tmp_page_counter.o: warning: objtool: missing symbol for section .text
mm/.tmp_sparse.o: warning: objtool: missing symbol for section .init.text
mm/huge_memory.c:2092:15: warning: variable 'orig_pud' set but not used [-Wunused-but-set-variable]
mm/huge_memory.c:2092:8: warning: variable 'orig_pud' set but not used [-Wunused-but-set-variable]
mm/hugetlb.c:1432:6: warning: no previous prototype for 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes]
mm/khugepaged.c:1387: warning: Function parameter or member 'hpage' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'mapping' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'mm' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'node' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'reliable' not described in 'collapse_shmem'
mm/khugepaged.c:1387: warning: Function parameter or member 'start' not described in 'collapse_shmem'
mm/maccess.c:85:6: warning: no previous prototype for '__probe_user_read' [-Wmissing-prototypes]
mm/memcontrol.c:5002:6: warning: no previous prototype for 'dhugetlb_pool_is_free' [-Wmissing-prototypes]
mm/memcontrol.c:6730: warning: bad line: | 0, otherwise.
mm/memory_hotplug.c:481:16: warning: variable 'start_pfn' set but not used [-Wunused-but-set-variable]
mm/memory_hotplug.c:481:23: warning: variable 'start_pfn' set but not used [-Wunused-but-set-variable]
mm/rmap.c:916:17: warning: variable 'cstart' set but not used [-Wunused-but-set-variable]
mm/rmap.c:916:31: warning: variable 'cstart' set but not used [-Wunused-but-set-variable]
mm/slab_common.c:1452:37: warning: 'proc_slabinfo_operations' defined but not used [-Wunused-const-variable=]
Unverified Error/Warning (likely false positive, kindly check if interested):
mm/hugetlb.c: linux/share_pool.h is included more than once.
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- include-asm-generic-bitops-non-atomic.h:warning:array-subscript-long-unsigned-int-is-partly-outside-array-bounds-of-u32-aka-unsigned-int
| |-- include-linux-thread_info.h:warning:b-may-be-used-uninitialized
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
|-- arm64-allnoconfig
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_AES-when-selected-by-RTLLIB_CRYPTO_CCMP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_ARC4-when-selected-by-RTLLIB_CRYPTO_TKIP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_ARC4-when-selected-by-RTLLIB_CRYPTO_WEP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-CRYPTO_MICHAEL_MIC-when-selected-by-RTLLIB_CRYPTO_TKIP
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-FB_BACKLIGHT-when-selected-by-DRM_NOUVEAU
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-IIO_BUFFER_CB-when-selected-by-TOUCHSCREEN_ADC
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-PINCTRL_EXYNOS-when-selected-by-ARCH_EXYNOS
| |-- kismet:WARNING:unmet-direct-dependencies-detected-for-UACCE-when-selected-by-CRYPTO_DEV_HISI_QM
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- arm64-defconfig
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-memcontrol.c:warning:no-previous-prototype-for-dhugetlb_pool_is_free
|-- arm64-randconfig-004-20250529
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-tmp-in-((struct-list_head-)lip)-.prev
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-dhugetlb_pool_is_free
| `-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
|-- x86_64-allmodconfig
| `-- arch-x86-kernel-fpu-core.c:warning:mixing-declarations-and-code-is-a-C99-extension
|-- x86_64-allnoconfig
| |-- mm-hugetlb.c:linux-share_pool.h-is-included-more-than-once.
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-allyesconfig
| |-- arch-x86-kernel-fpu-core.c:warning:mixing-declarations-and-code-is-a-C99-extension
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-buildonly-randconfig-001-20250529
| |-- drivers-gpu-drm-ttm-.tmp_ttm_page_alloc.o:warning:objtool:missing-symbol-for-section-.text.unlikely
| |-- drivers-gpu-drm-ttm-.tmp_ttm_page_alloc_dma.o:warning:objtool:missing-symbol-for-section-.text.unlikely
| |-- kernel-locking-.tmp_lockdep.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-.tmp_page_counter.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-.tmp_sparse.o:warning:objtool:missing-symbol-for-section-.init.text
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-dhugetlb_pool_is_free
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-slab_common.c:warning:proc_slabinfo_operations-defined-but-not-used
|-- x86_64-buildonly-randconfig-002-20250529
| |-- kernel-hung_task.c:error:use-of-undeclared-identifier-sysctl_hung_task_all_cpu_backtrace
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-003-20250529
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-memcontrol.c:warning:no-previous-prototype-for-dhugetlb_pool_is_free
|-- x86_64-buildonly-randconfig-004-20250529
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-005-20250529
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memcontrol.c:warning:no-previous-prototype-for-dhugetlb_pool_is_free
| `-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
|-- x86_64-buildonly-randconfig-006-20250529
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-defconfig
| |-- include-linux-filter.h:warning:cast-between-incompatible-function-types-from-u64-(-)(u64-u64-u64-u64-u64)-aka-long-long-unsigned-int-(-)(long-long-unsigned-int-long-long-unsigned-int-long-long-unsigne
| |-- include-trace-trace_events.h:warning:str__fs__trace_system_name-defined-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-free_huge_page_to_dhugetlb_pool
| |-- mm-maccess.c:warning:no-previous-prototype-for-__probe_user_read
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-randconfig-161-20250530
| |-- kernel-hung_task.c:error:use-of-undeclared-identifier-sysctl_hung_task_all_cpu_backtrace
| |-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
| |-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
`-- x86_64-rhel-9.4-rust
|-- mm-huge_memory.c:warning:variable-orig_pud-set-but-not-used
|-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- mm-khugepaged.c:warning:Function-parameter-or-member-hpage-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-mapping-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-mm-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-node-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
|-- mm-khugepaged.c:warning:Function-parameter-or-member-start-not-described-in-collapse_shmem
|-- mm-memcontrol.c:warning:bad-line:otherwise.
|-- mm-memory_hotplug.c:warning:variable-start_pfn-set-but-not-used
`-- mm-rmap.c:warning:variable-cstart-set-but-not-used
elapsed time: 731m
configs tested: 17
configs skipped: 128
tested configs:
arm64 allmodconfig gcc-15.1.0
arm64 allnoconfig gcc-15.1.0
arm64 defconfig gcc-15.1.0
arm64 randconfig-001-20250529 gcc-5.5.0
arm64 randconfig-002-20250529 gcc-5.5.0
arm64 randconfig-003-20250529 gcc-5.5.0
arm64 randconfig-004-20250529 gcc-13.3.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250529 gcc-12
x86_64 buildonly-randconfig-002-20250529 clang-20
x86_64 buildonly-randconfig-003-20250529 gcc-12
x86_64 buildonly-randconfig-004-20250529 clang-20
x86_64 buildonly-randconfig-005-20250529 gcc-12
x86_64 buildonly-randconfig-006-20250529 clang-20
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-18
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

29 May '25
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/ICB7K1
--------------------------------
A cpu with high irq, will trigger ksoftirqd and newidle balance
frequently.
Under this case, loadbalance is performed with irq disabled, it increase
interrupt latency affects network packet transmission.
Signed-off-by: Zhang Qiao <zhangqiao22(a)huawei.com>
---
kernel/sched/core.c | 7 ++++++-
kernel/sched/fair.c | 5 ++++-
kernel/sched/features.h | 1 +
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 4b6188abe01f..7819088ae359 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3815,7 +3815,12 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags,
}
if (rq->idle_stamp) {
- u64 delta = rq_clock(rq) - rq->idle_stamp;
+ u64 delta;
+
+ if (sched_feat(IRQ_AVG))
+ delta = rq_clock_task(rq) - rq->idle_stamp;
+ else
+ delta = rq_clock(rq) - rq->idle_stamp;
u64 max = 2*rq->max_idle_balance_cost;
update_avg(&rq->avg_idle, delta);
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index d3f8e6ce7e6b..292cff7f6296 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -5219,7 +5219,10 @@ static inline void update_misfit_status(struct task_struct *p, struct rq *rq)
static inline void rq_idle_stamp_update(struct rq *rq)
{
- rq->idle_stamp = rq_clock(rq);
+ if (sched_feat(IRQ_AVG))
+ rq->idle_stamp = rq_clock_task(rq);
+ else
+ rq->idle_stamp = rq_clock(rq);
}
static inline void rq_idle_stamp_clear(struct rq *rq)
diff --git a/kernel/sched/features.h b/kernel/sched/features.h
index 02577ddf10bd..ea7ba74810e3 100644
--- a/kernel/sched/features.h
+++ b/kernel/sched/features.h
@@ -98,6 +98,7 @@ SCHED_FEAT(UTIL_EST_FASTUP, true)
SCHED_FEAT(LATENCY_WARN, false)
SCHED_FEAT(HZ_BW, true)
+SCHED_FEAT(IRQ_AVG, false)
#ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY
/*
--
2.18.0.huawei.25
2
1
CVE-2022-49647
Chen Ridong (1):
cgroup: fix kabi for css_set
Tejun Heo (1):
cgroup: Use separate src/dst nodes when preloading css_sets for
migration
include/linux/cgroup-defs.h | 5 +++++
kernel/cgroup/cgroup.c | 25 +++++++++++++++++--------
2 files changed, 22 insertions(+), 8 deletions(-)
--
2.34.1
2
3
From: Frederic Weisbecker <frederic(a)kernel.org>
mainline inclusion
from mainline-v6.15-rc2
commit 56799bc035658738f362acec3e7647bb84e68933
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IC5BL4
CVE: CVE-2025-37747
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
Perf can hang while freeing a sigtrap event if a related deferred
signal hadn't managed to be sent before the file got closed:
perf_event_overflow()
task_work_add(perf_pending_task)
fput()
task_work_add(____fput())
task_work_run()
____fput()
perf_release()
perf_event_release_kernel()
_free_event()
perf_pending_task_sync()
task_work_cancel() -> FAILED
rcuwait_wait_event()
Once task_work_run() is running, the list of pending callbacks is
removed from the task_struct and from this point on task_work_cancel()
can't remove any pending and not yet started work items, hence the
task_work_cancel() failure and the hang on rcuwait_wait_event().
Task work could be changed to remove one work at a time, so a work
running on the current task can always cancel a pending one, however
the wait / wake design is still subject to inverted dependencies when
remote targets are involved, as pictured by Oleg:
T1 T2
fd = perf_event_open(pid => T2->pid); fd = perf_event_open(pid => T1->pid);
close(fd) close(fd)
<IRQ> <IRQ>
perf_event_overflow() perf_event_overflow()
task_work_add(perf_pending_task) task_work_add(perf_pending_task)
</IRQ> </IRQ>
fput() fput()
task_work_add(____fput()) task_work_add(____fput())
task_work_run() task_work_run()
____fput() ____fput()
perf_release() perf_release()
perf_event_release_kernel() perf_event_release_kernel()
_free_event() _free_event()
perf_pending_task_sync() perf_pending_task_sync()
rcuwait_wait_event() rcuwait_wait_event()
Therefore the only option left is to acquire the event reference count
upon queueing the perf task work and release it from the task work, just
like it was done before 3a5465418f5f ("perf: Fix event leak upon exec and file release")
but without the leaks it fixed.
Some adjustments are necessary to make it work:
* A child event might dereference its parent upon freeing. Care must be
taken to release the parent last.
* Some places assuming the event doesn't have any reference held and
therefore can be freed right away must instead put the reference and
let the reference counting to its job.
Reported-by: "Yi Lai" <yi1.lai(a)linux.intel.com>
Closes: https://lore.kernel.org/all/Zx9Losv4YcJowaP%2F@ly-workstation/
Reported-by: syzbot+3c4321e10eea460eb606(a)syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/673adf75.050a0220.87769.0024.GAE@google.com/
Fixes: 3a5465418f5f ("perf: Fix event leak upon exec and file release")
Signed-off-by: Frederic Weisbecker <frederic(a)kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz(a)infradead.org>
Link: https://lkml.kernel.org/r/20250304135446.18905-1-frederic@kernel.org
Conflicts:
kernel/events/core.c
include/linux/perf_event.h
[To apply this mainline patch, first revert the 008ebcfec23d ("[Huawei]
perf: Fix kabi broken of struct perf_event"). Then pick mainline patch
16b9569df9d2 ("perf: Don't disable preemption in perf_pending_task().").
Finally, pick this fix patch and resolve conflicts and merged all patch
together.]
Signed-off-by: Luo Gengkun <luogengkun2(a)huawei.com>
---
include/linux/perf_event.h | 2 +-
kernel/events/core.c | 65 +++++++++++---------------------------
2 files changed, 19 insertions(+), 48 deletions(-)
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 420f15ddce39..826fb16906fe 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -851,7 +851,7 @@ struct perf_event {
*/
__u32 orig_type;
- KABI_USE(1, struct rcuwait pending_work_wait)
+ KABI_RESERVE(1)
KABI_RESERVE(2)
KABI_RESERVE(3)
KABI_RESERVE(4)
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 69cdf8aabf52..f042d6101932 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -2294,6 +2294,7 @@ event_sched_out(struct perf_event *event, struct perf_event_context *ctx)
!event->pending_work &&
!task_work_add(current, &event->pending_task, TWA_RESUME)) {
event->pending_work = 1;
+ WARN_ON_ONCE(!atomic_long_inc_not_zero(&event->refcount));
} else {
local_dec(&event->ctx->nr_pending);
}
@@ -5187,35 +5188,9 @@ static bool exclusive_event_installable(struct perf_event *event,
static void perf_addr_filters_splice(struct perf_event *event,
struct list_head *head);
-static void perf_pending_task_sync(struct perf_event *event)
-{
- struct callback_head *head = &event->pending_task;
-
- if (!event->pending_work)
- return;
- /*
- * If the task is queued to the current task's queue, we
- * obviously can't wait for it to complete. Simply cancel it.
- */
- if (task_work_cancel(current, head)) {
- event->pending_work = 0;
- local_dec(&event->ctx->nr_pending);
- return;
- }
-
- /*
- * All accesses related to the event are within the same
- * non-preemptible section in perf_pending_task(). The RCU
- * grace period before the event is freed will make sure all
- * those accesses are complete by then.
- */
- rcuwait_wait_event(&event->pending_work_wait, !event->pending_work, TASK_UNINTERRUPTIBLE);
-}
-
static void _free_event(struct perf_event *event)
{
irq_work_sync(&event->pending_irq);
- perf_pending_task_sync(event);
unaccount_event(event);
@@ -5340,10 +5315,17 @@ static void perf_remove_from_owner(struct perf_event *event)
static void put_event(struct perf_event *event)
{
+ struct perf_event *parent;
+
if (!atomic_long_dec_and_test(&event->refcount))
return;
+ parent = event->parent;
_free_event(event);
+
+ /* Matches the refcount bump in inherit_event() */
+ if (parent)
+ put_event(parent);
}
/*
@@ -5427,11 +5409,6 @@ int perf_event_release_kernel(struct perf_event *event)
if (tmp == child) {
perf_remove_from_context(child, DETACH_GROUP);
list_move(&child->child_list, &free_list);
- /*
- * This matches the refcount bump in inherit_event();
- * this can't be the last reference.
- */
- put_event(event);
} else {
var = &ctx->refcount;
}
@@ -5457,7 +5434,8 @@ int perf_event_release_kernel(struct perf_event *event)
void *var = &child->ctx->refcount;
list_del(&child->child_list);
- free_event(child);
+ /* Last reference unless ->pending_task work is pending */
+ put_event(child);
/*
* Wake any perf_event_free_task() waiting for this event to be
@@ -5468,7 +5446,11 @@ int perf_event_release_kernel(struct perf_event *event)
}
no_ctx:
- put_event(event); /* Must be the 'last' reference */
+ /*
+ * Last reference unless ->pending_task work is pending on this event
+ * or any of its children.
+ */
+ put_event(event);
return 0;
}
EXPORT_SYMBOL_GPL(perf_event_release_kernel);
@@ -6857,12 +6839,6 @@ static void perf_pending_task(struct callback_head *head)
struct perf_event *event = container_of(head, struct perf_event, pending_task);
int rctx;
- /*
- * All accesses to the event must belong to the same implicit RCU read-side
- * critical section as the ->pending_work reset. See comment in
- * perf_pending_task_sync().
- */
- preempt_disable_notrace();
/*
* If we 'fail' here, that's OK, it means recursion is already disabled
* and we won't recurse 'further'.
@@ -6873,12 +6849,11 @@ static void perf_pending_task(struct callback_head *head)
event->pending_work = 0;
perf_sigtrap(event);
local_dec(&event->ctx->nr_pending);
- rcuwait_wake_up(&event->pending_work_wait);
}
+ put_event(event);
if (rctx >= 0)
perf_swevent_put_recursion_context(rctx);
- preempt_enable_notrace();
}
#ifdef CONFIG_GUEST_PERF_EVENTS
@@ -11990,7 +11965,6 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu,
init_waitqueue_head(&event->waitq);
init_irq_work(&event->pending_irq, perf_pending_irq);
init_task_work(&event->pending_task, perf_pending_task);
- rcuwait_init(&event->pending_work_wait);
mutex_init(&event->mmap_mutex);
raw_spin_lock_init(&event->addr_filters.lock);
@@ -13143,8 +13117,7 @@ perf_event_exit_event(struct perf_event *event, struct perf_event_context *ctx)
* Kick perf_poll() for is_event_hup();
*/
perf_event_wakeup(parent_event);
- free_event(event);
- put_event(parent_event);
+ put_event(event);
return;
}
@@ -13262,13 +13235,11 @@ static void perf_free_event(struct perf_event *event,
list_del_init(&event->child_list);
mutex_unlock(&parent->child_mutex);
- put_event(parent);
-
raw_spin_lock_irq(&ctx->lock);
perf_group_detach(event);
list_del_event(event, ctx);
raw_spin_unlock_irq(&ctx->lock);
- free_event(event);
+ put_event(event);
}
/*
--
2.34.1
1
0

29 May '25
From: Breno Leitao <leitao(a)debian.org>
mainline inclusion
from mainline-v6.15-rc1
commit 06717a7b6c86514dbd6ab322e8083ffaa4db5712
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBE42N
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
----------------------------------------------------------------------
I am seeing soft lockup on certain machine types when a cgroup OOMs. This
is happening because killing the process in certain machine might be very
slow, which causes the soft lockup and RCU stalls. This happens usually
when the cgroup has MANY processes and memory.oom.group is set.
Example I am seeing in real production:
[462012.244552] Memory cgroup out of memory: Killed process 3370438 (crosvm) ....
....
[462037.318059] Memory cgroup out of memory: Killed process 4171372 (adb) ....
[462037.348314] watchdog: BUG: soft lockup - CPU#64 stuck for 26s! [stat_manager-ag:1618982]
....
Quick look at why this is so slow, it seems to be related to serial flush
for certain machine types. For all the crashes I saw, the target CPU was
at console_flush_all().
In the case above, there are thousands of processes in the cgroup, and it
is soft locking up before it reaches the 1024 limit in the code (which
would call the cond_resched()). So, cond_resched() in 1024 blocks is not
sufficient.
Remove the counter-based conditional rescheduling logic and call
cond_resched() unconditionally after each task iteration, after fn() is
called. This avoids the lockup independently of how slow fn() is.
Link: https://lkml.kernel.org/r/20250523-memcg_fix-v1-1-ad3eafb60477@debian.org
Fixes: ade81479c7dd ("memcg: fix soft lockup in the OOM process")
Signed-off-by: Breno Leitao <leitao(a)debian.org>
Suggested-by: Rik van Riel <riel(a)surriel.com>
Acked-by: Shakeel Butt <shakeel.butt(a)linux.dev>
Cc: Michael van der Westhuizen <rmikey(a)meta.com>
Cc: Usama Arif <usamaarif642(a)gmail.com>
Cc: Pavel Begunkov <asml.silence(a)gmail.com>
Cc: Chen Ridong <chenridong(a)huawei.com>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Cc: Michal Hocko <mhocko(a)kernel.org>
Cc: Michal Hocko <mhocko(a)suse.com>
Cc: Muchun Song <muchun.song(a)linux.dev>
Cc: Roman Gushchin <roman.gushchin(a)linux.dev>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Conflicts:
mm/memcontrol.c
[context is mispatched]
Signed-off-by: Chen Ridong <chenridong(a)huawei.com>
---
mm/memcontrol.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index a35b94cacada..b9d083303cf6 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1230,7 +1230,6 @@ int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
{
struct mem_cgroup *iter;
int ret = 0;
- int i = 0;
BUG_ON(memcg == root_mem_cgroup);
@@ -1240,10 +1239,9 @@ int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
css_task_iter_start(&iter->css, CSS_TASK_ITER_PROCS, &it);
while (!ret && (task = css_task_iter_next(&it))) {
- /* Avoid potential softlockup warning */
- if ((++i & 1023) == 0)
- cond_resched();
ret = fn(task, arg);
+ /* Avoid potential softlockup warning */
+ cond_resched();
}
css_task_iter_end(&it);
if (ret) {
--
2.34.1
2
1
From: Breno Leitao <leitao(a)debian.org>
mainline inclusion
from mainline-v6.15-rc1
commit 06717a7b6c86514dbd6ab322e8083ffaa4db5712
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBE42N
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
----------------------------------------------------------------------
I am seeing soft lockup on certain machine types when a cgroup OOMs. This
is happening because killing the process in certain machine might be very
slow, which causes the soft lockup and RCU stalls. This happens usually
when the cgroup has MANY processes and memory.oom.group is set.
Example I am seeing in real production:
[462012.244552] Memory cgroup out of memory: Killed process 3370438 (crosvm) ....
....
[462037.318059] Memory cgroup out of memory: Killed process 4171372 (adb) ....
[462037.348314] watchdog: BUG: soft lockup - CPU#64 stuck for 26s! [stat_manager-ag:1618982]
....
Quick look at why this is so slow, it seems to be related to serial flush
for certain machine types. For all the crashes I saw, the target CPU was
at console_flush_all().
In the case above, there are thousands of processes in the cgroup, and it
is soft locking up before it reaches the 1024 limit in the code (which
would call the cond_resched()). So, cond_resched() in 1024 blocks is not
sufficient.
Remove the counter-based conditional rescheduling logic and call
cond_resched() unconditionally after each task iteration, after fn() is
called. This avoids the lockup independently of how slow fn() is.
Link: https://lkml.kernel.org/r/20250523-memcg_fix-v1-1-ad3eafb60477@debian.org
Fixes: ade81479c7dd ("memcg: fix soft lockup in the OOM process")
Signed-off-by: Breno Leitao <leitao(a)debian.org>
Suggested-by: Rik van Riel <riel(a)surriel.com>
Acked-by: Shakeel Butt <shakeel.butt(a)linux.dev>
Cc: Michael van der Westhuizen <rmikey(a)meta.com>
Cc: Usama Arif <usamaarif642(a)gmail.com>
Cc: Pavel Begunkov <asml.silence(a)gmail.com>
Cc: Chen Ridong <chenridong(a)huawei.com>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Cc: Michal Hocko <mhocko(a)kernel.org>
Cc: Michal Hocko <mhocko(a)suse.com>
Cc: Muchun Song <muchun.song(a)linux.dev>
Cc: Roman Gushchin <roman.gushchin(a)linux.dev>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Conflicts:
mm/memcontrol.c
[context is mispatched]
Signed-off-by: Chen Ridong <chenridong(a)huawei.com>
---
mm/memcontrol.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index d9467b38e2f7..fc7f211bcdc7 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1202,7 +1202,6 @@ int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
{
struct mem_cgroup *iter;
int ret = 0;
- int i = 0;
BUG_ON(memcg == root_mem_cgroup);
@@ -1212,10 +1211,9 @@ int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
css_task_iter_start(&iter->css, CSS_TASK_ITER_PROCS, &it);
while (!ret && (task = css_task_iter_next(&it))) {
- /* Avoid potential softlockup warning */
- if ((++i & 1023) == 0)
- cond_resched();
ret = fn(task, arg);
+ /* Avoid potential softlockup warning */
+ cond_resched();
}
css_task_iter_end(&it);
if (ret) {
--
2.34.1
2
1