Kernel
Threads by month
- ----- 2025 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 43 participants
- 20353 discussions
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
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>
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 00b04c0ce172c..b3609b71cbe8f 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1322,7 +1322,6 @@ void mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
{
struct mem_cgroup *iter;
int ret = 0;
- int i = 0;
BUG_ON(mem_cgroup_is_root(memcg));
@@ -1332,10 +1331,9 @@ void 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
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
*** BLURB HERE ***
Eduard Zingerman (2):
bpf: check changes_pkt_data property for extension programs
bpf: fix null dereference when computing changes_pkt_data of prog w/o
subprogs
include/linux/bpf.h | 1 +
kernel/bpf/verifier.c | 19 +++++++++++++++----
2 files changed, 16 insertions(+), 4 deletions(-)
--
2.25.1
2
3

[openeuler:OLK-6.6 2331/2331] drivers/crypto/ccp/hygon/psp-dev.c:35:6: sparse: sparse: symbol 'psp_in_nowait_mode' was not declared. Should it be static?
by kernel test robot 29 May '25
by kernel test robot 29 May '25
29 May '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: fb62fea0a81a08823f133facca690b2f666a49ef
commit: 3907486bfebfabd1b4cfcfd94fdb04d617e68db8 [2331/2331] crypto: ccp: support psp generic ringbuffer
config: x86_64-randconfig-121-20250529 (https://download.01.org/0day-ci/archive/20250529/202505292025.Uqstjrf4-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/20250529/202505292025.Uqstjrf4-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/202505292025.Uqstjrf4-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/crypto/ccp/hygon/psp-dev.c:35:6: sparse: sparse: symbol 'psp_in_nowait_mode' was not declared. Should it be static?
drivers/crypto/ccp/hygon/psp-dev.c:47:10: sparse: sparse: symbol 'atomic64_exchange' was not declared. Should it be static?
drivers/crypto/ccp/hygon/psp-dev.c:52:5: sparse: sparse: symbol 'psp_mutex_init' was not declared. Should it be static?
vim +/psp_in_nowait_mode +35 drivers/crypto/ccp/hygon/psp-dev.c
34
> 35 bool psp_in_nowait_mode;
36 static struct psp_misc_dev *psp_misc;
37 #define HYGON_PSP_IOC_TYPE 'H'
38 enum HYGON_PSP_OPCODE {
39 HYGON_PSP_MUTEX_ENABLE = 1,
40 HYGON_PSP_MUTEX_DISABLE,
41 HYGON_VPSP_CTRL_OPT,
42 HYGON_PSP_OP_PIN_USER_PAGE,
43 HYGON_PSP_OP_UNPIN_USER_PAGE,
44 HYGON_PSP_OPCODE_MAX_NR,
45 };
46
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH OLK-5.10 V1] sched: Support NUMA parallel scheduling for multiple processes
by Cheng Yu 29 May '25
by Cheng Yu 29 May '25
29 May '25
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/ICBBNL
--------------------------------
For architectures with multiple NUMA node levels and large distances
between nodes, a better approach is to support processes running in
parallel on each NUMA node.
The usage is restricted to the following scenarios:
1. No CPU binding for user-space processes;
2. It is applicable to distributed applications, such as business
architectures with one master and multiple slaves running in
parallel;
3. The existing "qos dynamic affinity" and "qos smart grid" features
must not be used simultaneously.
Signed-off-by: Cheng Yu <serein.chengyu(a)huawei.com>
---
arch/arm64/Kconfig | 1 +
arch/arm64/configs/openeuler_defconfig | 1 +
arch/arm64/mm/numa.c | 74 ++++++++++++++++++++++++++
include/linux/perf_event.h | 2 +
include/linux/sched.h | 3 ++
init/Kconfig | 22 ++++++++
kernel/cgroup/cpuset.c | 8 ++-
kernel/events/core.c | 13 +++++
kernel/sched/debug.c | 37 +++++++++++++
kernel/sched/fair.c | 26 ++++++++-
kernel/sched/features.h | 4 ++
11 files changed, 187 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 93ced97f8c6c..76f07a283d4e 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -79,6 +79,7 @@ config ARM64
select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 && (GCC_VERSION >= 50000 || CC_IS_CLANG)
select ARCH_SUPPORTS_NUMA_BALANCING
select ARCH_SUPPORTS_SCHED_KEEP_ON_CORE
+ select ARCH_SUPPORTS_SCHED_PARAL
select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH
select ARCH_WANT_COMPAT_IPC_PARSE_VERSION if COMPAT
select ARCH_WANT_DEFAULT_BPF_JIT
diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig
index fb9f92d11bde..4dd4994d6fbb 100644
--- a/arch/arm64/configs/openeuler_defconfig
+++ b/arch/arm64/configs/openeuler_defconfig
@@ -190,6 +190,7 @@ CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_STEAL=y
CONFIG_SCHED_KEEP_ON_CORE=y
+CONFIG_SCHED_PARAL=y
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c
index 99a746e14f2b..6340513bab65 100644
--- a/arch/arm64/mm/numa.c
+++ b/arch/arm64/mm/numa.c
@@ -777,3 +777,77 @@ void __init arm64_numa_init(void)
numa_init(dummy_numa_init);
}
+
+#ifdef CONFIG_SCHED_PARAL
+#include <linux/perf_event.h>
+
+static atomic_t paral_nid_last = ATOMIC_INIT(-1);
+
+int probe_pmu_numa_event(void)
+{
+ struct perf_event *event;
+ struct perf_event_attr attr = {};
+ int type = perf_pmu_type_of_name("hisi_sccl3_hha0");
+
+ if (type == -1)
+ return -EINVAL;
+
+ attr.type = type;
+ attr.config = 0x02;
+ attr.size = sizeof(struct perf_event_attr);
+ attr.pinned = 1;
+ attr.disabled = 1;
+ attr.sample_period = 0;
+
+ event = perf_event_create_kernel_counter(&attr, smp_processor_id(),
+ NULL, NULL, NULL);
+ if (IS_ERR(event))
+ return PTR_ERR(event);
+
+ perf_event_release_kernel(event);
+
+ return 0;
+}
+
+static inline int update_sched_paral_nid(void)
+{
+ int onid, nnid;
+
+ do {
+ onid = atomic_read(¶l_nid_last);
+ nnid = (onid >= INT_MAX) ? 0 : (onid + 1);
+ } while (atomic_cmpxchg(¶l_nid_last, onid, nnid) != onid);
+
+ return nnid;
+}
+
+void set_task_paral_node(struct task_struct *p)
+{
+ int nid;
+ int i = 0;
+ const cpumask_t *cpus_mask;
+
+ if (is_global_init(current))
+ return;
+
+ if (p->flags & PF_KTHREAD || p->tgid != p->pid)
+ return;
+
+ while (i < nr_node_ids) {
+ nid = update_sched_paral_nid() % nr_node_ids;
+ cpus_mask = cpumask_of_node(nid);
+
+ if (cpumask_empty(cpus_mask) ||
+ !cpumask_subset(cpus_mask, p->cpus_ptr)) {
+ i++;
+ continue;
+ }
+
+ cpumask_copy(p->prefer_cpus, cpus_mask);
+ break;
+ }
+}
+#else
+void set_task_paral_node(struct task_struct *p) {}
+int probe_pmu_numa_event(void) { return -1; }
+#endif
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 2544bfdd948b..7814ff2e45c7 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1485,6 +1485,7 @@ extern void perf_event_task_tick(void);
extern int perf_event_account_interrupt(struct perf_event *event);
extern int perf_event_period(struct perf_event *event, u64 value);
extern u64 perf_event_pause(struct perf_event *event, bool reset);
+extern int perf_pmu_type_of_name(const char *name);
#else /* !CONFIG_PERF_EVENTS: */
static inline void *
perf_aux_output_begin(struct perf_output_handle *handle,
@@ -1577,6 +1578,7 @@ static inline u64 perf_event_pause(struct perf_event *event, bool reset)
{
return 0;
}
+static inline int perf_pmu_type_of_name(const char *name) { return -1; }
#endif
#if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_CPU_SUP_INTEL)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index e3170b7f81fa..181230773350 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2309,6 +2309,9 @@ int set_prefer_cpus_ptr(struct task_struct *p,
int sched_prefer_cpus_fork(struct task_struct *p, struct cpumask *mask);
void sched_prefer_cpus_free(struct task_struct *p);
void dynamic_affinity_enable(void);
+bool sched_paral_used(void);
+void set_task_paral_node(struct task_struct *p);
+int probe_pmu_numa_event(void);
#endif
#ifdef CONFIG_QOS_SCHED_SMART_GRID
diff --git a/init/Kconfig b/init/Kconfig
index 3a6a14e66acd..5f88cce193e8 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1389,6 +1389,28 @@ config SCHED_KEEP_ON_CORE
otherwise the task will not be migrated and the cpu0 will still be
used.
+#
+# For architectures that want to enable the support for SCHED_PARAL
+#
+config ARCH_SUPPORTS_SCHED_PARAL
+ bool
+
+config SCHED_PARAL
+ bool "Parallelly schedule processes on different NUMA nodes"
+ depends on ARCH_SUPPORTS_SCHED_PARAL
+ depends on QOS_SCHED_DYNAMIC_AFFINITY
+ default n
+ help
+ By enabling this feature, processes can be scheduled in parallel
+ on various NUMA nodes to better utilize the cache in NUMA node.
+ The usage is restricted to the following scenarios:
+ 1. No CPU binding is performed for user-space processes;
+ 2. It is applicable to distributed applications, such as business
+ architectures with one master and multiple slaves running in
+ parallel;
+ 3. The existing "qos dynamic affinity" and "qos smart grid"
+ features must not be used simultaneously.
+
config CHECKPOINT_RESTORE
bool "Checkpoint/restore support"
select PROC_CHILDREN
diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
index 7ecff06d2026..1f6ed08af9f5 100644
--- a/kernel/cgroup/cpuset.c
+++ b/kernel/cgroup/cpuset.c
@@ -2423,7 +2423,8 @@ static void cpuset_attach(struct cgroup_taskset *tset)
*/
WARN_ON_ONCE(set_cpus_allowed_ptr(task, cpus_attach));
#ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY
- set_prefer_cpus_ptr(task, prefer_cpus_attach);
+ if (!sched_paral_used() || !cpumask_empty(prefer_cpus_attach))
+ set_prefer_cpus_ptr(task, prefer_cpus_attach);
#endif
cpuset_change_task_nodemask(task, &cpuset_attach_nodemask_to);
@@ -3131,7 +3132,10 @@ static void cpuset_fork(struct task_struct *task)
set_cpus_allowed_ptr(task, current->cpus_ptr);
#ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY
- set_prefer_cpus_ptr(task, current->prefer_cpus);
+ rcu_read_lock();
+ if (!sched_paral_used() || !cpumask_empty(task_cs(current)->prefer_cpus))
+ set_prefer_cpus_ptr(task, current->prefer_cpus);
+ rcu_read_unlock();
#endif
task->mems_allowed = current->mems_allowed;
}
diff --git a/kernel/events/core.c b/kernel/events/core.c
index b56b572f1bd0..e0c193083aa0 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -13167,6 +13167,19 @@ static int __init perf_event_sysfs_init(void)
}
device_initcall(perf_event_sysfs_init);
+int perf_pmu_type_of_name(const char *name)
+{
+ unsigned int i;
+ struct pmu *pmu;
+
+ idr_for_each_entry(&pmu_idr, pmu, i) {
+ if (!strcmp(pmu->name, name))
+ return pmu->type;
+ }
+
+ return -1;
+}
+
#ifdef CONFIG_CGROUP_PERF
static struct cgroup_subsys_state *
perf_cgroup_css_alloc(struct cgroup_subsys_state *parent_css)
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 4275398bc713..d6b53d54dcf5 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -96,6 +96,39 @@ static void sched_feat_disable(int i) { };
static void sched_feat_enable(int i) { };
#endif /* CONFIG_JUMP_LABEL */
+#ifdef CONFIG_SCHED_PARAL
+static void sched_feat_disable_paral(char *cmp)
+{
+ struct task_struct *tsk, *t;
+
+ if (strncmp(cmp, "PARAL", 5) == 0) {
+ read_lock(&tasklist_lock);
+ for_each_process(tsk) {
+ if (tsk->flags & PF_KTHREAD || is_global_init(tsk))
+ continue;
+
+ for_each_thread(tsk, t)
+ cpumask_clear(t->prefer_cpus);
+ }
+ read_unlock(&tasklist_lock);
+ }
+}
+
+static bool sched_feat_enable_paral(char *cmp)
+{
+ if (strncmp(cmp, "PARAL", 5) != 0)
+ return true;
+
+ if (probe_pmu_numa_event() != 0)
+ return false;
+
+ return true;
+}
+#else
+static void sched_feat_disable_paral(char *cmp) {};
+static bool sched_feat_enable_paral(char *cmp) { return true; };
+#endif /* CONFIG_SCHED_PARAL */
+
static int sched_feat_set(char *cmp)
{
int i;
@@ -112,8 +145,12 @@ static int sched_feat_set(char *cmp)
if (neg) {
sysctl_sched_features &= ~(1UL << i);
+ sched_feat_disable_paral(cmp);
sched_feat_disable(i);
} else {
+ if (!sched_feat_enable_paral(cmp))
+ return -EPERM;
+
sysctl_sched_features |= (1UL << i);
sched_feat_enable(i);
}
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 437572c568ee..396c2b87c012 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -8063,6 +8063,16 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu)
}
#ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY
+bool sched_paral_used(void)
+{
+#ifdef CONFIG_SCHED_PARAL
+ if (sched_feat(PARAL))
+ return true;
+#endif
+
+ return false;
+}
+
static DEFINE_STATIC_KEY_FALSE(__dynamic_affinity_used);
static __always_inline bool dynamic_affinity_used(void)
@@ -8168,6 +8178,14 @@ static void set_task_select_cpus(struct task_struct *p, int *idlest_cpu,
}
rcu_read_unlock();
+ /* In extreme cases, it may cause uneven system load. */
+ if (sched_paral_used() && sysctl_sched_util_low_pct == 100 && nr_cpus_valid > 0) {
+ p->select_cpus = p->prefer_cpus;
+ if (sd_flag & SD_BALANCE_WAKE)
+ schedstat_inc(p->se.statistics.nr_wakeups_preferred_cpus);
+ return;
+ }
+
/*
* Follow cases should select cpus_ptr, checking by condition of
* tg_capacity > nr_cpus_valid:
@@ -8225,7 +8243,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f
#endif
#ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY
- if (dynamic_affinity_used() || smart_grid_used())
+ if (dynamic_affinity_used() || smart_grid_used() || sched_paral_used())
set_task_select_cpus(p, &idlest_cpu, sd_flag);
#endif
@@ -9867,7 +9885,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env)
#ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY
p->select_cpus = p->cpus_ptr;
- if (dynamic_affinity_used() || smart_grid_used())
+ if (dynamic_affinity_used() || smart_grid_used() || sched_paral_used())
set_task_select_cpus(p, NULL, 0);
if (!cpumask_test_cpu(env->dst_cpu, p->select_cpus)) {
#else
@@ -13549,6 +13567,10 @@ static void task_fork_fair(struct task_struct *p)
}
se->vruntime -= cfs_rq->min_vruntime;
+
+ if (sched_paral_used())
+ set_task_paral_node(p);
+
rq_unlock(rq, &rf);
}
diff --git a/kernel/sched/features.h b/kernel/sched/features.h
index fb885b20ba34..1fd89af55681 100644
--- a/kernel/sched/features.h
+++ b/kernel/sched/features.h
@@ -74,6 +74,10 @@ SCHED_FEAT(STEAL, false)
SCHED_FEAT(KEEP_ON_CORE, false)
#endif
+#ifdef CONFIG_SCHED_PARAL
+SCHED_FEAT(PARAL, false)
+#endif
+
/*
* Issue a WARN when we do multiple update_rq_clock() calls
* in a single rq->lock section. Default disabled because the
--
2.25.1
2
1

[openeuler:OLK-6.6 2331/2331] drivers/crypto/ccp/hygon/vpsp.c:64:1: sparse: sparse: symbol 'vpsp_cmd_ctx_table' was not declared. Should it be static?
by kernel test robot 29 May '25
by kernel test robot 29 May '25
29 May '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: e2c7f21ccac8f595f261a7971f6d6092d442c888
commit: 294caf049d134e08f0e70277ddb6a29698e9d96b [2331/2331] crypto: ccp: Use a workqueue to clean up the vpsp ringbuffer
config: x86_64-randconfig-121-20250529 (https://download.01.org/0day-ci/archive/20250529/202505291807.LPmsH7Fj-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/20250529/202505291807.LPmsH7Fj-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/202505291807.LPmsH7Fj-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/crypto/ccp/hygon/vpsp.c:64:1: sparse: sparse: symbol 'vpsp_cmd_ctx_table' was not declared. Should it be static?
>> drivers/crypto/ccp/hygon/vpsp.c:65:1: sparse: sparse: symbol 'table_rwlock' was not declared. Should it be static?
>> drivers/crypto/ccp/hygon/vpsp.c:695:1: sparse: sparse: symbol 'vpsp_dev_rwlock' was not declared. Should it be static?
drivers/crypto/ccp/hygon/vpsp.c:724:10: sparse: sparse: symbol 'allow_default_vid' was not declared. Should it be static?
drivers/crypto/ccp/hygon/vpsp.c:725:6: sparse: sparse: symbol 'vpsp_set_default_vid_permission' was not declared. Should it be static?
vim +/vpsp_cmd_ctx_table +64 drivers/crypto/ccp/hygon/vpsp.c
33
34 /*
35 * The file mainly implements the base execution logic of virtual PSP in kernel mode,
36 * which mainly includes:
37 * (1) Preprocess the guest data in the host kernel
38 * (2) The command that has been converted will interact with the channel of the
39 * psp through the driver and try to obtain the execution result
40 * (3) The executed command data is recovered, and then returned to the VM
41 *
42 * The primary implementation logic of virtual PSP in kernel mode
43 * call trace:
44 * guest command(vmmcall, KVM_HC_PSP_COPY_FORWARD_OP)
45 * |
46 * kvm_pv_psp_copy_op----> | -> kvm_pv_psp_cmd_pre_op
47 * |
48 * | -> vpsp_try_do_cmd/vpsp_try_get_result
49 * | |<=> psp device driver
50 * |
51 * |
52 * |-> kvm_pv_psp_cmd_post_op
53 *
54 * guest command(vmmcall, KVM_HC_PSP_FORWARD_OP)
55 * |
56 * kvm_pv_psp_forward_op-> |-> vpsp_try_do_cmd/vpsp_try_get_result
57 * |<=> psp device driver
58 */
59
60 /**
61 * used to locate the command context,
62 * when the guest enters the host via vmmcall
63 */
> 64 DEFINE_HASHTABLE(vpsp_cmd_ctx_table, 11);
> 65 DEFINE_RWLOCK(table_rwlock);
66 bool vpsp_in_ringbuffer_mode;
67 static struct vpsp_cmd_ctx *vpsp_cmd_ctx_array[CSV_COMMAND_PRIORITY_NUM]
68 [CSV_RING_BUFFER_SIZE / CSV_RING_BUFFER_ESIZE];
69
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Pu Lehui (1):
interference: Fix compilation issue
Xu Kuohai (1):
interference: Fix IFS cannot show in cgroup v1 sub-cgroup
drivers/base/arch_topology.c | 1 +
include/linux/cgroup.h | 4 ++++
2 files changed, 5 insertions(+)
--
2.34.1
2
3

[openeuler:OLK-6.6 2331/2331] drivers/crypto/ccp/hygon/vpsp.c:588:10: sparse: sparse: symbol 'allow_default_vid' was not declared. Should it be static?
by kernel test robot 29 May '25
by kernel test robot 29 May '25
29 May '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: d6c09e6ce9d7651c2136ae254cbc3c9845fd0317
commit: e2861aaa47961017ada7f66de11104bbf3b85eb1 [2331/2331] crypto: ccp: move vpsp-related functions to vpsp.c
config: x86_64-randconfig-121-20250529 (https://download.01.org/0day-ci/archive/20250529/202505291615.pbSUmoIC-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/20250529/202505291615.pbSUmoIC-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/202505291615.pbSUmoIC-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/crypto/ccp/hygon/vpsp.c:72:1: sparse: sparse: symbol 'g_hbuf_wrap' was not declared. Should it be static?
drivers/crypto/ccp/hygon/vpsp.c:559:1: sparse: sparse: symbol 'vpsp_rwlock' was not declared. Should it be static?
>> drivers/crypto/ccp/hygon/vpsp.c:588:10: sparse: sparse: symbol 'allow_default_vid' was not declared. Should it be static?
>> drivers/crypto/ccp/hygon/vpsp.c:589:6: sparse: sparse: symbol 'vpsp_set_default_vid_permission' was not declared. Should it be static?
vim +/allow_default_vid +588 drivers/crypto/ccp/hygon/vpsp.c
582
583 /**
584 * When 'allow_default_vid' is set to 1,
585 * QEMU is allowed to use 'vid 0' by default
586 * in the absence of a valid 'vid' setting.
587 */
> 588 uint32_t allow_default_vid = 1;
> 589 void vpsp_set_default_vid_permission(uint32_t is_allow)
590 {
591 allow_default_vid = is_allow;
592 }
593
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0