Kernel
Threads by month
- ----- 2025 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 50 participants
- 20860 discussions
[PATCH openEuler-1.0-LTS] wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds()
by Wang Liang 27 Oct '25
by Wang Liang 27 Oct '25
27 Oct '25
From: Jisoo Jang <jisoo.jang(a)yonsei.ac.kr>
stable inclusion
from stable-v4.19.276
commit d481fd6064bf215d7c5068e15aa390c3b16c9cd0
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICY47E
CVE: CVE-2022-50258
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 0a06cadcc2a0044e4a117cc0e61436fc3a0dad69 ]
This patch fixes a stack-out-of-bounds read in brcmfmac that occurs
when 'buf' that is not null-terminated is passed as an argument of
strsep() in brcmf_c_preinit_dcmds(). This buffer is filled with a firmware
version string by memcpy() in brcmf_fil_iovar_data_get().
The patch ensures buf is null-terminated.
Found by a modified version of syzkaller.
[ 47.569679][ T1897] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43236b for chip BCM43236/3
[ 47.582839][ T1897] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[ 47.601565][ T1897] ==================================================================
[ 47.602574][ T1897] BUG: KASAN: stack-out-of-bounds in strsep+0x1b2/0x1f0
[ 47.603447][ T1897] Read of size 1 at addr ffffc90001f6f000 by task kworker/0:2/1897
[ 47.604336][ T1897]
[ 47.604621][ T1897] CPU: 0 PID: 1897 Comm: kworker/0:2 Tainted: G O 5.14.0+ #131
[ 47.605617][ T1897] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014
[ 47.606907][ T1897] Workqueue: usb_hub_wq hub_event
[ 47.607453][ T1897] Call Trace:
[ 47.607801][ T1897] dump_stack_lvl+0x8e/0xd1
[ 47.608295][ T1897] print_address_description.constprop.0.cold+0xf/0x334
[ 47.609009][ T1897] ? strsep+0x1b2/0x1f0
[ 47.609434][ T1897] ? strsep+0x1b2/0x1f0
[ 47.609863][ T1897] kasan_report.cold+0x83/0xdf
[ 47.610366][ T1897] ? strsep+0x1b2/0x1f0
[ 47.610882][ T1897] strsep+0x1b2/0x1f0
[ 47.611300][ T1897] ? brcmf_fil_iovar_data_get+0x3a/0xf0
[ 47.611883][ T1897] brcmf_c_preinit_dcmds+0x995/0xc40
[ 47.612434][ T1897] ? brcmf_c_set_joinpref_default+0x100/0x100
[ 47.613078][ T1897] ? rcu_read_lock_sched_held+0xa1/0xd0
[ 47.613662][ T1897] ? rcu_read_lock_bh_held+0xb0/0xb0
[ 47.614208][ T1897] ? lock_acquire+0x19d/0x4e0
[ 47.614704][ T1897] ? find_held_lock+0x2d/0x110
[ 47.615236][ T1897] ? brcmf_usb_deq+0x1a7/0x260
[ 47.615741][ T1897] ? brcmf_usb_rx_fill_all+0x5a/0xf0
[ 47.616288][ T1897] brcmf_attach+0x246/0xd40
[ 47.616758][ T1897] ? wiphy_new_nm+0x1703/0x1dd0
[ 47.617280][ T1897] ? kmemdup+0x43/0x50
[ 47.617720][ T1897] brcmf_usb_probe+0x12de/0x1690
[ 47.618244][ T1897] ? brcmf_usbdev_qinit.constprop.0+0x470/0x470
[ 47.618901][ T1897] usb_probe_interface+0x2aa/0x760
[ 47.619429][ T1897] ? usb_probe_device+0x250/0x250
[ 47.619950][ T1897] really_probe+0x205/0xb70
[ 47.620435][ T1897] ? driver_allows_async_probing+0x130/0x130
[ 47.621048][ T1897] __driver_probe_device+0x311/0x4b0
[ 47.621595][ T1897] ? driver_allows_async_probing+0x130/0x130
[ 47.622209][ T1897] driver_probe_device+0x4e/0x150
[ 47.622739][ T1897] __device_attach_driver+0x1cc/0x2a0
[ 47.623287][ T1897] bus_for_each_drv+0x156/0x1d0
[ 47.623796][ T1897] ? bus_rescan_devices+0x30/0x30
[ 47.624309][ T1897] ? lockdep_hardirqs_on_prepare+0x273/0x3e0
[ 47.624907][ T1897] ? trace_hardirqs_on+0x46/0x160
[ 47.625437][ T1897] __device_attach+0x23f/0x3a0
[ 47.625924][ T1897] ? device_bind_driver+0xd0/0xd0
[ 47.626433][ T1897] ? kobject_uevent_env+0x287/0x14b0
[ 47.627057][ T1897] bus_probe_device+0x1da/0x290
[ 47.627557][ T1897] device_add+0xb7b/0x1eb0
[ 47.628027][ T1897] ? wait_for_completion+0x290/0x290
[ 47.628593][ T1897] ? __fw_devlink_link_to_suppliers+0x5a0/0x5a0
[ 47.629249][ T1897] usb_set_configuration+0xf59/0x16f0
[ 47.629829][ T1897] usb_generic_driver_probe+0x82/0xa0
[ 47.630385][ T1897] usb_probe_device+0xbb/0x250
[ 47.630927][ T1897] ? usb_suspend+0x590/0x590
[ 47.631397][ T1897] really_probe+0x205/0xb70
[ 47.631855][ T1897] ? driver_allows_async_probing+0x130/0x130
[ 47.632469][ T1897] __driver_probe_device+0x311/0x4b0
[ 47.633002][ T1897] ? usb_generic_driver_match+0x75/0x90
[ 47.633573][ T1897] ? driver_allows_async_probing+0x130/0x130
[ 47.634170][ T1897] driver_probe_device+0x4e/0x150
[ 47.634703][ T1897] __device_attach_driver+0x1cc/0x2a0
[ 47.635248][ T1897] bus_for_each_drv+0x156/0x1d0
[ 47.635748][ T1897] ? bus_rescan_devices+0x30/0x30
[ 47.636271][ T1897] ? lockdep_hardirqs_on_prepare+0x273/0x3e0
[ 47.636881][ T1897] ? trace_hardirqs_on+0x46/0x160
[ 47.637396][ T1897] __device_attach+0x23f/0x3a0
[ 47.637904][ T1897] ? device_bind_driver+0xd0/0xd0
[ 47.638426][ T1897] ? kobject_uevent_env+0x287/0x14b0
[ 47.638985][ T1897] bus_probe_device+0x1da/0x290
[ 47.639512][ T1897] device_add+0xb7b/0x1eb0
[ 47.639977][ T1897] ? __fw_devlink_link_to_suppliers+0x5a0/0x5a0
[ 47.640612][ T1897] ? kfree+0x14a/0x6b0
[ 47.641055][ T1897] ? __usb_get_extra_descriptor+0x116/0x160
[ 47.641679][ T1897] usb_new_device.cold+0x49c/0x1029
[ 47.642245][ T1897] ? hub_disconnect+0x450/0x450
[ 47.642756][ T1897] ? rwlock_bug.part.0+0x90/0x90
[ 47.643273][ T1897] ? _raw_spin_unlock_irq+0x24/0x30
[ 47.643822][ T1897] ? lockdep_hardirqs_on_prepare+0x273/0x3e0
[ 47.644445][ T1897] hub_event+0x1c98/0x3950
[ 47.644939][ T1897] ? hub_port_debounce+0x2e0/0x2e0
[ 47.645467][ T1897] ? check_irq_usage+0x861/0xf20
[ 47.645975][ T1897] ? drain_workqueue+0x280/0x360
[ 47.646506][ T1897] ? lock_release+0x640/0x640
[ 47.646994][ T1897] ? rcu_read_lock_sched_held+0xa1/0xd0
[ 47.647572][ T1897] ? rcu_read_lock_bh_held+0xb0/0xb0
[ 47.648111][ T1897] ? lockdep_hardirqs_on_prepare+0x273/0x3e0
[ 47.648735][ T1897] process_one_work+0x92b/0x1460
[ 47.649262][ T1897] ? pwq_dec_nr_in_flight+0x330/0x330
[ 47.649816][ T1897] ? rwlock_bug.part.0+0x90/0x90
[ 47.650336][ T1897] worker_thread+0x95/0xe00
[ 47.650830][ T1897] ? __kthread_parkme+0x115/0x1e0
[ 47.651361][ T1897] ? process_one_work+0x1460/0x1460
[ 47.651904][ T1897] kthread+0x3a1/0x480
[ 47.652329][ T1897] ? set_kthread_struct+0x120/0x120
[ 47.652878][ T1897] ret_from_fork+0x1f/0x30
[ 47.653370][ T1897]
[ 47.653608][ T1897]
[ 47.653848][ T1897] addr ffffc90001f6f000 is located in stack of task kworker/0:2/1897 at offset 512 in frame:
[ 47.654891][ T1897] brcmf_c_preinit_dcmds+0x0/0xc40
[ 47.655442][ T1897]
[ 47.655690][ T1897] this frame has 4 objects:
[ 47.656151][ T1897] [48, 56) 'ptr'
[ 47.656159][ T1897] [80, 148) 'revinfo'
[ 47.656534][ T1897] [192, 210) 'eventmask'
[ 47.656953][ T1897] [256, 512) 'buf'
[ 47.657410][ T1897]
[ 47.658035][ T1897] Memory state around the buggy address:
[ 47.658743][ T1897] ffffc90001f6ef00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 47.659577][ T1897] ffffc90001f6ef80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 47.660394][ T1897] >ffffc90001f6f000: f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00
[ 47.661199][ T1897] ^
[ 47.661625][ T1897] ffffc90001f6f080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 47.662455][ T1897] ffffc90001f6f100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1
[ 47.663318][ T1897] ==================================================================
[ 47.664147][ T1897] Disabling lock debugging due to kernel taint
Reported-by: Dokyung Song <dokyungs(a)yonsei.ac.kr>
Reported-by: Jisoo Jang <jisoo.jang(a)yonsei.ac.kr>
Reported-by: Minsuk Kang <linuxlovemin(a)yonsei.ac.kr>
Signed-off-by: Jisoo Jang <jisoo.jang(a)yonsei.ac.kr>
Signed-off-by: Kalle Valo <kvalo(a)kernel.org>
Link: https://lore.kernel.org/r/20221115043458.37562-1-jisoo.jang@yonsei.ac.kr
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Wang Liang <wangliang74(a)huawei.com>
---
drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
index 8510d207ee87..b4e895784002 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
@@ -273,6 +273,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
err);
goto done;
}
+ buf[sizeof(buf) - 1] = '\0';
ptr = (char *)buf;
strsep(&ptr, "\n");
--
2.34.1
2
1
Alexander Wetzel (1):
wifi: cfg80211: Fix use after free for wext
Hector Martin (1):
wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for
wext"
net/wireless/sme.c | 29 ++++++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-)
--
2.34.1
2
3
[PATCH openEuler-1.0-LTS] sctp: handle the error returned from sctp_auth_asoc_init_active_key
by Wang Liang 27 Oct '25
by Wang Liang 27 Oct '25
27 Oct '25
From: Xin Long <lucien.xin(a)gmail.com>
stable inclusion
from stable-v4.19.262
commit b8fa99a3a11bdd77fef6b4a97f1021eb30b5ba40
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICY46T
CVE: CVE-2022-50243
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 022152aaebe116a25c39818a07e175a8cd3c1e11 ]
When it returns an error from sctp_auth_asoc_init_active_key(), the
active_key is actually not updated. The old sh_key will be freeed
while it's still used as active key in asoc. Then an use-after-free
will be triggered when sending patckets, as found by syzbot:
sctp_auth_shkey_hold+0x22/0xa0 net/sctp/auth.c:112
sctp_set_owner_w net/sctp/socket.c:132 [inline]
sctp_sendmsg_to_asoc+0xbd5/0x1a20 net/sctp/socket.c:1863
sctp_sendmsg+0x1053/0x1d50 net/sctp/socket.c:2025
inet_sendmsg+0x99/0xe0 net/ipv4/af_inet.c:819
sock_sendmsg_nosec net/socket.c:714 [inline]
sock_sendmsg+0xcf/0x120 net/socket.c:734
This patch is to fix it by not replacing the sh_key when it returns
errors from sctp_auth_asoc_init_active_key() in sctp_auth_set_key().
For sctp_auth_set_active_key(), old active_key_id will be set back
to asoc->active_key_id when the same thing happens.
Fixes: 58acd1009226 ("sctp: update active_key for asoc when old key is being replaced")
Reported-by: syzbot+a236dd8e9622ed8954a3(a)syzkaller.appspotmail.com
Signed-off-by: Xin Long <lucien.xin(a)gmail.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Wang Liang <wangliang74(a)huawei.com>
---
net/sctp/auth.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/net/sctp/auth.c b/net/sctp/auth.c
index 9e0c98df20da..9cf61a18098a 100644
--- a/net/sctp/auth.c
+++ b/net/sctp/auth.c
@@ -886,12 +886,17 @@ int sctp_auth_set_key(struct sctp_endpoint *ep,
}
list_del_init(&shkey->key_list);
- sctp_auth_shkey_release(shkey);
list_add(&cur_key->key_list, sh_keys);
- if (asoc && asoc->active_key_id == auth_key->sca_keynumber)
- sctp_auth_asoc_init_active_key(asoc, GFP_KERNEL);
+ if (asoc && asoc->active_key_id == auth_key->sca_keynumber &&
+ sctp_auth_asoc_init_active_key(asoc, GFP_KERNEL)) {
+ list_del_init(&cur_key->key_list);
+ sctp_auth_shkey_release(cur_key);
+ list_add(&shkey->key_list, sh_keys);
+ return -ENOMEM;
+ }
+ sctp_auth_shkey_release(shkey);
return 0;
}
@@ -920,8 +925,13 @@ int sctp_auth_set_active_key(struct sctp_endpoint *ep,
return -EINVAL;
if (asoc) {
+ __u16 active_key_id = asoc->active_key_id;
+
asoc->active_key_id = key_id;
- sctp_auth_asoc_init_active_key(asoc, GFP_KERNEL);
+ if (sctp_auth_asoc_init_active_key(asoc, GFP_KERNEL)) {
+ asoc->active_key_id = active_key_id;
+ return -ENOMEM;
+ }
} else
ep->active_key_id = key_id;
--
2.34.1
2
1
[PATCH openEuler-1.0-LTS] igb: Do not free q_vector unless new one was allocated
by Wang Liang 27 Oct '25
by Wang Liang 27 Oct '25
27 Oct '25
From: Kees Cook <keescook(a)chromium.org>
stable inclusion
from stable-v4.19.270
commit 68e8adbcaf7a8743e473343b38b9dad66e2ac6f3
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICY474
CVE: CVE-2022-50252
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 0668716506ca66f90d395f36ccdaebc3e0e84801 ]
Avoid potential use-after-free condition under memory pressure. If the
kzalloc() fails, q_vector will be freed but left in the original
adapter->q_vector[v_idx] array position.
Cc: Jesse Brandeburg <jesse.brandeburg(a)intel.com>
Cc: Tony Nguyen <anthony.l.nguyen(a)intel.com>
Cc: "David S. Miller" <davem(a)davemloft.net>
Cc: Eric Dumazet <edumazet(a)google.com>
Cc: Jakub Kicinski <kuba(a)kernel.org>
Cc: Paolo Abeni <pabeni(a)redhat.com>
Cc: intel-wired-lan(a)lists.osuosl.org
Cc: netdev(a)vger.kernel.org
Signed-off-by: Kees Cook <keescook(a)chromium.org>
Reviewed-by: Michael J. Ruhl <michael.j.ruhl(a)intel.com>
Reviewed-by: Jacob Keller <jacob.e.keller(a)intel.com>
Tested-by: Gurucharan <gurucharanx.g(a)intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen(a)intel.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Wang Liang <wangliang74(a)huawei.com>
---
drivers/net/ethernet/intel/igb/igb_main.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index ef5d11723d56..7a94716deb60 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -1204,8 +1204,12 @@ static int igb_alloc_q_vector(struct igb_adapter *adapter,
if (!q_vector) {
q_vector = kzalloc(size, GFP_KERNEL);
} else if (size > ksize(q_vector)) {
- kfree_rcu(q_vector, rcu);
- q_vector = kzalloc(size, GFP_KERNEL);
+ struct igb_q_vector *new_q_vector;
+
+ new_q_vector = kzalloc(size, GFP_KERNEL);
+ if (new_q_vector)
+ kfree_rcu(q_vector, rcu);
+ q_vector = new_q_vector;
} else {
memset(q_vector, 0, size);
}
--
2.34.1
2
1
Fix CVE-2023-53719 for openEuler-1.0-LTS
Bartosz Golaszewski (1):
drivers: provide devm_platform_ioremap_resource()
Ke Zhang (1):
serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
drivers/base/platform.c | 18 ++++++++++++++++++
drivers/tty/serial/arc_uart.c | 7 ++++---
include/linux/platform_device.h | 3 +++
3 files changed, 25 insertions(+), 3 deletions(-)
--
2.25.1
2
3
[openeuler:OLK-6.6 3042/3042] drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c:743: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
by kernel test robot 27 Oct '25
by kernel test robot 27 Oct '25
27 Oct '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 9094437bec1ace7378abfe84597e722209d03f85
commit: 468b0cd7b1e1c131b3ee7d2ea8b96521d3faad8b [3042/3042] net:nebula-matrix:Add S1000 SNIC driver support
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20251027/202510271326.G0BQX79z-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251027/202510271326.G0BQX79z-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/202510271326.G0BQX79z-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:7:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_product_base.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_include.h:12:
In file included from include/linux/pci.h:1669:
In file included from include/linux/dmapool.h:14:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2247:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
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_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:797:18: warning: variable 'pdev' set but not used [-Wunused-but-set-variable]
797 | struct pci_dev *pdev;
| ^
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:4550:14: warning: attribute declaration must precede definition [-Wignored-attributes]
4550 | static union __maybe_unused epro_aft_u aft_def[NBL_FWD_TYPE_MAX] = {
| ^
include/linux/compiler_attributes.h:356:56: note: expanded from macro '__maybe_unused'
356 | #define __maybe_unused __attribute__((__unused__))
| ^
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_epro.h:590:7: note: previous definition is here
590 | union epro_aft_u {
| ^
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:7:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_product_base.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_include.h:10:
In file included from include/linux/mod_devicetable.h:14:
In file included from include/linux/uuid.h:11:
In file included from include/linux/string.h:294:
include/linux/fortify-string.h:606:4: warning: call to '__read_overflow2_field' declared with 'warning' attribute: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Wattribute-warning]
606 | __read_overflow2_field(q_size_field, size);
| ^
8 warnings generated.
--
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c:7:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_product_base.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_include.h:12:
In file included from include/linux/pci.h:1669:
In file included from include/linux/dmapool.h:14:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2247:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
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_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c:156:2: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
156 | default:
| ^
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c:156:2: note: insert 'break;' to avoid fall-through
156 | default:
| ^
| break;
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c:1823:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
1823 | int ret = 0;
| ^
7 warnings generated.
--
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:7:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_ethtool.h:10:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h:10:
In file included from include/linux/mm.h:2247:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
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_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:1378:26: warning: variable 'vector' set but not used [-Wunused-but-set-variable]
1378 | struct nbl_serv_vector *vector;
| ^
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:3025:28: warning: variable 'ring_mgt' set but not used [-Wunused-but-set-variable]
3025 | struct nbl_serv_ring_mgt *ring_mgt;
| ^
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:4002:22: warning: variable 'adapter' set but not used [-Wunused-but-set-variable]
4002 | struct nbl_adapter *adapter;
| ^
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:4552:36: warning: variable 'net_resource_mgt' set but not used [-Wunused-but-set-variable]
4552 | struct nbl_serv_net_resource_mgt *net_resource_mgt;
| ^
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:5726:15: warning: variable 'name' set but not used [-Wunused-but-set-variable]
5726 | u8 *strtab, *name, *product_code = NULL;
| ^
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c:5730:6: warning: variable 'p4_size' set but not used [-Wunused-but-set-variable]
5730 | u32 p4_size = 0;
| ^
11 warnings generated.
--
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_ipsec.c:7:
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_ipsec.h:13:
In file included from include/linux/if_vlan.h:10:
In file included from include/linux/netdevice.h:38:
In file included from include/net/net_namespace.h:43:
In file included from include/linux/skbuff.h:17:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/x86/include/asm/cacheflush.h:5:
In file included from include/linux/mm.h:2247:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
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_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_ipsec.c:70:29: warning: result of comparison of constant 256 with expression of type 'u8' (aka 'unsigned char') is always true [-Wtautological-constant-out-of-range-compare]
70 | x->props.replay_window != NBL_IPSEC_WINDOW_256) {
| ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~
6 warnings generated.
--
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_tc.c:1265: warning: Cannot understand * @brief: handle action parse by type
on line 1265 - I thought it was a doc line
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_tc.c:1290: warning: Cannot understand * @brief: handle action parse
on line 1290 - I thought it was a doc line
--
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c:743: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* check dma conflict when multi devices in one iommu group, That is, when ACS not support.
vim +743 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c
741
742 /**
> 743 * check dma conflict when multi devices in one iommu group, That is, when ACS not support.
744 * return -1 means multi devices conflict.
745 * return 1 means mapping exist and not conflict.
746 * return 0 means mapping not existed.
747 */
748 static int nbl_userdev_check_dma_conflict(struct nbl_dev_user *user,
749 unsigned long vaddr, dma_addr_t iova, size_t size)
750 {
751 struct nbl_dev_user_iommu_group *group = user->group;
752 struct nbl_userdev_dma *dma;
753 struct rb_node *n;
754 struct page *h_page;
755 size_t unmapped = 0;
756 unsigned long vfn, pfn, vaddr_new;
757 dma_addr_t iova_new;
758 int ret;
759
760 dma = nbl_userdev_find_dma(group, vaddr, 1);
761 if (dma && dma->vaddr != vaddr)
762 return -1;
763
764 dma = nbl_userdev_find_dma(group, vaddr + size - 1, 0);
765 if (dma && dma->vaddr + dma->size != vaddr + size)
766 return -1;
767
768 if (!nbl_userdev_find_dma(group, vaddr, size))
769 return 0;
770 n = nbl_userdev_find_dma_first_node(group, vaddr, size);
771 vaddr_new = vaddr;
772 iova_new = iova;
773 while (n) {
774 dma = rb_entry(n, struct nbl_userdev_dma, node);
775 if (dma->iova >= iova + size)
776 break;
777
778 if (dma->vaddr >= vaddr + size)
779 break;
780
781 if (dma->vaddr != vaddr_new || dma->iova != iova_new)
782 break;
783
784 vfn = vaddr_new >> PAGE_SHIFT;
785 ret = vfio_pin_pages(NBL_USERDEV_TO_VFIO_DEV(user),
786 vaddr_new, 1, IOMMU_READ | IOMMU_WRITE, &h_page);
787 if (ret <= 0)
788 break;
789 pfn = page_to_pfn(h_page);
790 vfio_unpin_pages(NBL_USERDEV_TO_VFIO_DEV(user), vaddr_new, 1);
791 if (pfn != dma->pfn)
792 break;
793
794 n = rb_next(n);
795 unmapped += dma->size;
796 vaddr_new += dma->size;
797 iova_new += dma->size;
798 }
799
800 if (unmapped != size)
801 return -1;
802
803 return 1;
804 }
805
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3045/3045] arch/x86/kvm/vmx/vmx.h:757:26: error: 'struct kvm_vcpu_arch' has no member named 'hyperv_enabled'
by kernel test robot 27 Oct '25
by kernel test robot 27 Oct '25
27 Oct '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 9094437bec1ace7378abfe84597e722209d03f85
commit: 2a3cfce9a18a4b772f01830cbc95fe00125431d8 [3045/3045] KVM: x86: Make Hyper-V emulation optional
config: x86_64-buildonly-randconfig-002-20251027 (https://download.01.org/0day-ci/archive/20251027/202510271331.Y6ayA7xV-lkp@…)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251027/202510271331.Y6ayA7xV-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/202510271331.Y6ayA7xV-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from arch/x86/kvm/kvm-asm-offsets.c:10:
arch/x86/kvm/vmx/vmx.h: In function 'guest_cpuid_has_evmcs':
>> arch/x86/kvm/vmx/vmx.h:757:26: error: 'struct kvm_vcpu_arch' has no member named 'hyperv_enabled'
757 | return vcpu->arch.hyperv_enabled &&
| ^
--
In file included from arch/x86/kvm/vmx/nested.h:8,
from arch/x86/kvm/vmx/nested.c:14:
arch/x86/kvm/vmx/vmx.h: In function 'guest_cpuid_has_evmcs':
>> arch/x86/kvm/vmx/vmx.h:757:26: error: 'struct kvm_vcpu_arch' has no member named 'hyperv_enabled'
757 | return vcpu->arch.hyperv_enabled &&
| ^
In file included from include/asm-generic/bug.h:5,
from arch/x86/include/asm/bug.h:99,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/percpu.h:5,
from arch/x86/kvm/vmx/nested.c:5:
arch/x86/kvm/vmx/nested.c: In function 'nested_vmx_transition_tlb_flush':
>> arch/x86/kvm/vmx/nested.c:1178:13: error: implicit declaration of function 'to_hv_vcpu' [-Wimplicit-function-declaration]
1178 | if (to_hv_vcpu(vcpu) && enable_ept)
| ^~~~~~~~~~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/vmx/nested.c:1178:9: note: in expansion of macro 'if'
1178 | if (to_hv_vcpu(vcpu) && enable_ept)
| ^~
--
In file included from arch/x86/kvm/vmx/nested.h:8,
from arch/x86/kvm/vmx/vmx.c:60:
arch/x86/kvm/vmx/vmx.h: In function 'guest_cpuid_has_evmcs':
>> arch/x86/kvm/vmx/vmx.h:757:26: error: 'struct kvm_vcpu_arch' has no member named 'hyperv_enabled'
757 | return vcpu->arch.hyperv_enabled &&
| ^
arch/x86/kvm/vmx/vmx.c: In function 'hv_enable_l2_tlb_flush':
>> arch/x86/kvm/vmx/vmx.c:540:26: error: implicit declaration of function 'to_kvm_hv'; did you mean 'to_kvm_vmx'? [-Wimplicit-function-declaration]
540 | &to_kvm_hv(vcpu->kvm)->hv_pa_pg;
| ^~~~~~~~~
| to_kvm_vmx
arch/x86/kvm/vmx/vmx.c:540:46: error: invalid type argument of '->' (have 'int')
540 | &to_kvm_hv(vcpu->kvm)->hv_pa_pg;
| ^~
--
arch/x86/kvm/x86.c: In function 'kvm_arch_free_vm':
>> arch/x86/kvm/x86.c:12528:15: error: implicit declaration of function 'to_kvm_hv' [-Wimplicit-function-declaration]
12528 | kfree(to_kvm_hv(kvm)->hv_pa_pg);
| ^~~~~~~~~
>> arch/x86/kvm/x86.c:12528:29: error: invalid type argument of '->' (have 'int')
12528 | kfree(to_kvm_hv(kvm)->hv_pa_pg);
| ^~
--
In file included from include/asm-generic/bug.h:5,
from arch/x86/include/asm/bug.h:99,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/percpu.h:5,
from include/linux/context_tracking_state.h:5,
from include/linux/hardirq.h:5,
from include/linux/kvm_host.h:7,
from arch/x86/kvm/lapic.c:20:
arch/x86/kvm/lapic.c: In function 'apic_set_eoi':
>> arch/x86/kvm/lapic.c:1479:13: error: implicit declaration of function 'to_hv_vcpu' [-Wimplicit-function-declaration]
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~~~~~~~~~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
>> arch/x86/kvm/lapic.c:1480:30: error: implicit declaration of function 'to_hv_synic' [-Wimplicit-function-declaration]
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~~~~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:61: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:61: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:61: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:61: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:57:61: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:68:10: note: in definition of macro '__trace_if_value'
68 | (cond) ? \
| ^~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:68:10: note: in definition of macro '__trace_if_value'
68 | (cond) ? \
| ^~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:68:10: note: in definition of macro '__trace_if_value'
68 | (cond) ? \
| ^~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:68:10: note: in definition of macro '__trace_if_value'
68 | (cond) ? \
| ^~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
>> arch/x86/kvm/lapic.c:1480:53: error: invalid type argument of '->' (have 'int')
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~
include/linux/compiler.h:68:10: note: in definition of macro '__trace_if_value'
68 | (cond) ? \
| ^~~~
include/linux/compiler.h:55:28: note: in expansion of macro '__trace_if_var'
55 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
arch/x86/kvm/lapic.c:1479:9: note: in expansion of macro 'if'
1479 | if (to_hv_vcpu(apic->vcpu) &&
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:1480:13: note: in expansion of macro 'test_bit'
1480 | test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
| ^~~~~~~~
arch/x86/kvm/lapic.c: In function 'kvm_get_apic_interrupt':
arch/x86/kvm/lapic.c:2954:67: error: invalid type argument of '->' (have 'int')
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:2954:9: note: in expansion of macro 'if'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:2954:33: note: in expansion of macro 'test_bit'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~~~~~~~
arch/x86/kvm/lapic.c:2954:67: error: invalid type argument of '->' (have 'int')
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:2954:9: note: in expansion of macro 'if'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:2954:33: note: in expansion of macro 'test_bit'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~~~~~~~
arch/x86/kvm/lapic.c:2954:67: error: invalid type argument of '->' (have 'int')
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:2954:9: note: in expansion of macro 'if'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:2954:33: note: in expansion of macro 'test_bit'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~~~~~~~
arch/x86/kvm/lapic.c:2954:67: error: invalid type argument of '->' (have 'int')
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:2954:9: note: in expansion of macro 'if'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:2954:33: note: in expansion of macro 'test_bit'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~~~~~~~
arch/x86/kvm/lapic.c:2954:67: error: invalid type argument of '->' (have 'int')
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/compiler.h:57:52: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:2954:9: note: in expansion of macro 'if'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/bitops.h:61:41: note: in expansion of macro 'bitop'
61 | #define test_bit(nr, addr) bitop(_test_bit, nr, addr)
| ^~~~~
arch/x86/kvm/lapic.c:2954:33: note: in expansion of macro 'test_bit'
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~~~~~~~
arch/x86/kvm/lapic.c:2954:67: error: invalid type argument of '->' (have 'int')
2954 | if (to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap)) {
| ^~
include/linux/compiler.h:57:61: note: in definition of macro '__trace_if_var'
57 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
arch/x86/kvm/lapic.c:2954:9: note: in expansion of macro 'if'
..
vim +757 arch/x86/kvm/vmx/vmx.h
d588bb9be1da6a Chao Gao 2022-04-19 750
85ab071af83952 Sean Christopherson 2022-08-30 751 static inline bool guest_cpuid_has_evmcs(struct kvm_vcpu *vcpu)
85ab071af83952 Sean Christopherson 2022-08-30 752 {
85ab071af83952 Sean Christopherson 2022-08-30 753 /*
85ab071af83952 Sean Christopherson 2022-08-30 754 * eVMCS is exposed to the guest if Hyper-V is enabled in CPUID and
85ab071af83952 Sean Christopherson 2022-08-30 755 * eVMCS has been explicitly enabled by userspace.
85ab071af83952 Sean Christopherson 2022-08-30 756 */
85ab071af83952 Sean Christopherson 2022-08-30 @757 return vcpu->arch.hyperv_enabled &&
85ab071af83952 Sean Christopherson 2022-08-30 758 to_vmx(vcpu)->nested.enlightened_vmcs_enabled;
85ab071af83952 Sean Christopherson 2022-08-30 759 }
85ab071af83952 Sean Christopherson 2022-08-30 760
:::::: The code at line 757 was first introduced by commit
:::::: 85ab071af83952a44473e3d02304c17053ade2f4 KVM: nVMX: Treat eVMCS as enabled for guest iff Hyper-V is also enabled
:::::: TO: Sean Christopherson <seanjc(a)google.com>
:::::: CC: Paolo Bonzini <pbonzini(a)redhat.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 3045/3045] drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h:285:24: error: array type has incomplete element type 'struct dcb_app'
by kernel test robot 27 Oct '25
by kernel test robot 27 Oct '25
27 Oct '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 9094437bec1ace7378abfe84597e722209d03f85
commit: 468b0cd7b1e1c131b3ee7d2ea8b96521d3faad8b [3045/3045] net:nebula-matrix:Add S1000 SNIC driver support
config: x86_64-buildonly-randconfig-006-20251027 (https://download.01.org/0day-ci/archive/20251027/202510271304.QdT93JQS-lkp@…)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251027/202510271304.QdT93JQS-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/202510271304.QdT93JQS-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h:15,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.h:10,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_hwmon.h:10,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_hwmon.c:7:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:348:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
348 | int (*ieee_setets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:349:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
349 | int (*ieee_getets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:350:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
350 | int (*ieee_setpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:351:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
351 | int (*ieee_getpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:352:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
352 | int (*ieee_setapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:353:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
353 | int (*ieee_delapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
--
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h:15,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h:12,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_ipsec.h:14,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_ipsec.c:7:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:348:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
348 | int (*ieee_setets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:349:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
349 | int (*ieee_getets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:350:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
350 | int (*ieee_setpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:351:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
351 | int (*ieee_getpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:352:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
352 | int (*ieee_setapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:353:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
353 | int (*ieee_delapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h:285:24: error: array type has incomplete element type 'struct dcb_app'
285 | struct dcb_app app[NBL_DSCP_MAX];
| ^~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h:287:25: error: field 'ets' has incomplete type
287 | struct ieee_ets ets;
| ^~~
--
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h:15,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.h:10,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.h:10,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.c:7:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:348:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
348 | int (*ieee_setets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:349:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
349 | int (*ieee_getets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:350:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
350 | int (*ieee_setpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:351:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
351 | int (*ieee_getpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:352:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
352 | int (*ieee_setapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:353:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
353 | int (*ieee_delapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.c: In function 'nbl_res_txrx_xmit_xdp_ring':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.c:1310:30: warning: variable 'eth' set but not used [-Wunused-but-set-variable]
1310 | const struct ethhdr *eth;
| ^~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.c: In function 'nbl_res_txrx_restore_abnormal_ring':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.c:3499:32: warning: variable 'vector' set but not used [-Wunused-but-set-variable]
3499 | struct nbl_res_vector *vector = NULL;
| ^~~~~~
--
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h:15,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.h:10,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_fc.h:10,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_fc.c:7:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:348:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
348 | int (*ieee_setets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:349:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
349 | int (*ieee_getets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:350:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
350 | int (*ieee_setpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:351:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
351 | int (*ieee_getpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:352:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
352 | int (*ieee_setapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:353:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
353 | int (*ieee_delapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_fc.c: In function 'nbl_fc_del_stats':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_fc.c:303:27: warning: variable 'counter_list' set but not used [-Wunused-but-set-variable]
303 | struct list_head *counter_list;
| ^~~~~~~~~~~~
--
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h:15,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.h:10,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:7:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:348:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
348 | int (*ieee_setets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:349:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
349 | int (*ieee_getets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:350:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
350 | int (*ieee_setpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:351:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
351 | int (*ieee_getpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:352:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
352 | int (*ieee_setapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:353:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
353 | int (*ieee_delapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c: In function 'nbl_disp_chan_get_pause_stats_resp':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:2842:13: warning: variable 'err' set but not used [-Wunused-but-set-variable]
2842 | int err = NBL_CHAN_RESP_OK;
| ^~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c: In function 'nbl_disp_chan_get_eth_ctrl_stats_resp':
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:2957:13: warning: variable 'err' set but not used [-Wunused-but-set-variable]
2957 | int err = NBL_CHAN_RESP_OK;
| ^~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c: In function 'nbl_disp_chan_get_eth_mac_stats_resp':
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:3013:13: warning: variable 'err' set but not used [-Wunused-but-set-variable]
3013 | int err = NBL_CHAN_RESP_OK;
| ^~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c: In function 'nbl_disp_chan_get_rmon_stats_resp':
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:3069:13: warning: variable 'err' set but not used [-Wunused-but-set-variable]
3069 | int err = NBL_CHAN_RESP_OK;
| ^~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c: In function 'nbl_disp_chan_destroy_msix_map_resp':
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:3554:45: warning: variable 'param' set but not used [-Wunused-but-set-variable]
3554 | struct nbl_chan_param_cfg_msix_map *param;
| ^~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c: In function 'nbl_disp_chan_set_intr_suppress_level_resp':
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:7888:33: warning: variable 'chan_ops' set but not used [-Wunused-but-set-variable]
7888 | struct nbl_channel_ops *chan_ops;
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c: In function 'nbl_disp_chan_del_nd_upcall_flow_resp':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c:8102:33: warning: variable 'common' set but not used [-Wunused-but-set-variable]
8102 | struct nbl_common_info *common;
| ^~~~~~
--
In file included from drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h:15,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.h:10,
from drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:10:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:348:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
348 | int (*ieee_setets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:349:62: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
349 | int (*ieee_getets)(struct net_device *netdev, struct ieee_ets *ets);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:350:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
350 | int (*ieee_setpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:351:62: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
351 | int (*ieee_getpfc)(struct net_device *netdev, struct ieee_pfc *pfc);
| ^~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:352:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
352 | int (*ieee_setapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h:353:62: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
353 | int (*ieee_delapp)(struct net_device *netdev, struct dcb_app *app);
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: In function 'nbl_dev_prepare_reset_task':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:896:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
896 | int ret;
| ^~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: At top level:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3084:66: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
3084 | static int nbl_dev_ieee_setets(struct net_device *netdev, struct ieee_ets *ets)
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: In function 'nbl_dev_ieee_setets':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3090:46: error: passing argument 2 of 'serv_ops->ieee_setets' from incompatible pointer type [-Wincompatible-pointer-types]
3090 | return serv_ops->ieee_setets(netdev, ets);
| ^~~
| |
| struct ieee_ets *
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3090:46: note: expected 'struct ieee_ets *' but argument is of type 'struct ieee_ets *'
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: At top level:
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3093:66: warning: 'struct ieee_ets' declared inside parameter list will not be visible outside of this definition or declaration
3093 | static int nbl_dev_ieee_getets(struct net_device *netdev, struct ieee_ets *ets)
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: In function 'nbl_dev_ieee_getets':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3099:46: error: passing argument 2 of 'serv_ops->ieee_getets' from incompatible pointer type [-Wincompatible-pointer-types]
3099 | return serv_ops->ieee_getets(netdev, ets);
| ^~~
| |
| struct ieee_ets *
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3099:46: note: expected 'struct ieee_ets *' but argument is of type 'struct ieee_ets *'
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: At top level:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3102:66: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
3102 | static int nbl_dev_ieee_setpfc(struct net_device *netdev, struct ieee_pfc *pfc)
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: In function 'nbl_dev_ieee_setpfc':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3108:46: error: passing argument 2 of 'serv_ops->ieee_setpfc' from incompatible pointer type [-Wincompatible-pointer-types]
3108 | return serv_ops->ieee_setpfc(netdev, pfc);
| ^~~
| |
| struct ieee_pfc *
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3108:46: note: expected 'struct ieee_pfc *' but argument is of type 'struct ieee_pfc *'
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: At top level:
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3111:66: warning: 'struct ieee_pfc' declared inside parameter list will not be visible outside of this definition or declaration
3111 | static int nbl_dev_ieee_getpfc(struct net_device *netdev, struct ieee_pfc *pfc)
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: In function 'nbl_dev_ieee_getpfc':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3117:46: error: passing argument 2 of 'serv_ops->ieee_getpfc' from incompatible pointer type [-Wincompatible-pointer-types]
3117 | return serv_ops->ieee_getpfc(netdev, pfc);
| ^~~
| |
| struct ieee_pfc *
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3117:46: note: expected 'struct ieee_pfc *' but argument is of type 'struct ieee_pfc *'
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: At top level:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3120:66: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
3120 | static int nbl_dev_ieee_setapp(struct net_device *netdev, struct dcb_app *app)
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: In function 'nbl_dev_ieee_setapp':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3126:46: error: passing argument 2 of 'serv_ops->ieee_setapp' from incompatible pointer type [-Wincompatible-pointer-types]
3126 | return serv_ops->ieee_setapp(netdev, app);
| ^~~
| |
| struct dcb_app *
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3126:46: note: expected 'struct dcb_app *' but argument is of type 'struct dcb_app *'
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: At top level:
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3129:66: warning: 'struct dcb_app' declared inside parameter list will not be visible outside of this definition or declaration
3129 | static int nbl_dev_ieee_delapp(struct net_device *netdev, struct dcb_app *app)
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: In function 'nbl_dev_ieee_delapp':
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3135:46: error: passing argument 2 of 'serv_ops->ieee_delapp' from incompatible pointer type [-Wincompatible-pointer-types]
3135 | return serv_ops->ieee_delapp(netdev, app);
| ^~~
| |
| struct dcb_app *
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3135:46: note: expected 'struct dcb_app *' but argument is of type 'struct dcb_app *'
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: At top level:
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3219:21: error: variable 'dcbnl_ops_leonis_pf' has initializer but incomplete type
3219 | static const struct dcbnl_rtnl_ops dcbnl_ops_leonis_pf = {
| ^~~~~~~~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3220:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'ieee_setets'
3220 | .ieee_setets = nbl_dev_ieee_setets,
| ^~~~~~~~~~~
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3220:24: warning: excess elements in struct initializer
3220 | .ieee_setets = nbl_dev_ieee_setets,
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3220:24: note: (near initialization for 'dcbnl_ops_leonis_pf')
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3221:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'ieee_getets'
3221 | .ieee_getets = nbl_dev_ieee_getets,
| ^~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3221:24: warning: excess elements in struct initializer
3221 | .ieee_getets = nbl_dev_ieee_getets,
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3221:24: note: (near initialization for 'dcbnl_ops_leonis_pf')
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3222:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'ieee_setpfc'
3222 | .ieee_setpfc = nbl_dev_ieee_setpfc,
| ^~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3222:24: warning: excess elements in struct initializer
3222 | .ieee_setpfc = nbl_dev_ieee_setpfc,
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3222:24: note: (near initialization for 'dcbnl_ops_leonis_pf')
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3223:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'ieee_getpfc'
3223 | .ieee_getpfc = nbl_dev_ieee_getpfc,
| ^~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3223:24: warning: excess elements in struct initializer
3223 | .ieee_getpfc = nbl_dev_ieee_getpfc,
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3223:24: note: (near initialization for 'dcbnl_ops_leonis_pf')
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3224:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'ieee_setapp'
3224 | .ieee_setapp = nbl_dev_ieee_setapp,
| ^~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3224:24: warning: excess elements in struct initializer
3224 | .ieee_setapp = nbl_dev_ieee_setapp,
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3224:24: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3225:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'ieee_delapp'
3225 | .ieee_delapp = nbl_dev_ieee_delapp,
| ^~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3225:24: warning: excess elements in struct initializer
3225 | .ieee_delapp = nbl_dev_ieee_delapp,
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3225:24: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3226:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'getdcbx'
3226 | .getdcbx = nbl_dev_getdcbx,
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3226:20: warning: excess elements in struct initializer
3226 | .getdcbx = nbl_dev_getdcbx,
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3226:20: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3227:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'setdcbx'
3227 | .setdcbx = nbl_dev_setdcbx,
| ^~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3227:20: warning: excess elements in struct initializer
3227 | .setdcbx = nbl_dev_setdcbx,
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3227:20: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3228:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'getnumtcs'
3228 | .getnumtcs = nbl_dev_getnumtcs,
| ^~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3228:22: warning: excess elements in struct initializer
3228 | .getnumtcs = nbl_dev_getnumtcs,
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3228:22: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3229:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'setpfccfg'
3229 | .setpfccfg = nbl_dev_setpfccfg,
| ^~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3229:22: warning: excess elements in struct initializer
3229 | .setpfccfg = nbl_dev_setpfccfg,
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3229:22: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3230:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'getpfccfg'
3230 | .getpfccfg = nbl_dev_getpfccfg,
| ^~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3230:22: warning: excess elements in struct initializer
3230 | .getpfccfg = nbl_dev_getpfccfg,
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3230:22: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3231:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'getstate'
3231 | .getstate = nbl_dev_getstate,
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3231:21: warning: excess elements in struct initializer
3231 | .getstate = nbl_dev_getstate,
| ^~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3231:21: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3232:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'setstate'
3232 | .setstate = nbl_dev_setstate,
| ^~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3232:21: warning: excess elements in struct initializer
3232 | .setstate = nbl_dev_setstate,
| ^~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3232:21: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3233:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'getpfcstate'
3233 | .getpfcstate = nbl_dev_getpfcstate,
| ^~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3233:24: warning: excess elements in struct initializer
3233 | .getpfcstate = nbl_dev_getpfcstate,
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3233:24: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3234:10: error: 'const struct dcbnl_rtnl_ops' has no member named 'getcap'
3234 | .getcap = nbl_dev_getcap,
| ^~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3234:19: warning: excess elements in struct initializer
3234 | .getcap = nbl_dev_getcap,
| ^~~~~~~~~~~~~~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3234:19: note: (near initialization for 'dcbnl_ops_leonis_pf')
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: In function 'nbl_dev_setup_dcbnl_ops_leonis':
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3243:23: error: 'struct net_device' has no member named 'dcbnl_ops'
3243 | netdev->dcbnl_ops = &dcbnl_ops_leonis_pf;
| ^~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: In function 'nbl_dev_remove_dcbnl_ops':
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3249:15: error: 'struct net_device' has no member named 'dcbnl_ops'
3249 | netdev->dcbnl_ops = NULL;
| ^~
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c: At top level:
drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c:3219:36: error: storage size of 'dcbnl_ops_leonis_pf' isn't known
3219 | static const struct dcbnl_rtnl_ops dcbnl_ops_leonis_pf = {
| ^~~~~~~~~~~~~~~~~~~
..
vim +285 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h
272
273 #define NBL_DCB_NO_HW_CHG 1
274 #define NBL_DCB_HW_CHG 2
275 struct nbl_serv_qos_info {
276 u8 dcbx_mode;
277 u8 dcbx_state;
278 u8 trust_mode; /* Trust Mode value 0:802.1p 1: dscp */
279 u8 pfc[NBL_MAX_PFC_PRIORITIES];
280 u8 dscp2prio_map[NBL_DSCP_MAX]; /* DSCP -> Priority map */
281 int rdma_bw;
282 u32 rdma_rate;
283 u32 net_rate;
284 DECLARE_BITMAP(dscp_mapped, NBL_DSCP_MAX);
> 285 struct dcb_app app[NBL_DSCP_MAX];
286 int buffer_sizes[NBL_MAX_PFC_PRIORITIES][2];
> 287 struct ieee_ets ets;
288 };
289
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Patch#1 KVM: arm64: Allow userspace to get the writable masks for feature ID registers
Patch#2 KVM: arm64: Document KVM_ARM_GET_REG_WRITABLE_MASKS
Patch#3 KVM: arm64: Use guest ID register values for the sake of emulation
Patch#4 KVM: arm64: Advertise selected DebugVer in DBGDIDR.Version
Patch#5 KVM: arm64: Reject attempts to set invalid debug arch version
Patch#6 KVM: arm64: Bump up the default KVM sanitised debug version to v8p8
Patch#7 KVM: arm64: Allow userspace to change ID_AA64ISAR{0-2}_EL1
Patch#8 KVM: arm64: Allow userspace to change ID_AA64MMFR{0-2}_EL1
Patch#9 KVM: arm64: Allow userspace to change ID_AA64PFR0_EL1
Patch#10 KVM: arm64: Allow userspace to change ID_AA64ZFR0_EL1
Patch#11 KVM: arm64: Document vCPU feature selection UAPIs
Reference: https://lore.kernel.org/all/20231003230408.3405722-1-oliver.upton@linux.dev/
selftest相关未合入
Patch#12 KVM: arm64: Make the exposed feature bits in AA64DFR0_EL1 writable from userspace
Reference: https://lore.kernel.org/all/20240816132819.34316-1-shameerali.kolothum.thod…
单patch合入
Patch#13 KVM: arm64: Disable MPAM visibility by default and ignore VMM writes
Reference: https://lore.kernel.org/all/20241030160317.2528209-7-joey.gouly@arm.com/
单patch合入
Patch#14 KVM: arm64: Rename is_id_reg() to imply VM scope
Patch#15 KVM: arm64: Reset VM feature ID regs from kvm_reset_sys_regs()
Patch#16 KVM: arm64: Only reset vCPU-scoped feature ID regs once
Reference: https://lore.kernel.org/all/20240502233529.1958459-1-oliver.upton@linux.dev/
后面patch基于此series, 只合入影响后面patch的部分
Patch#17 KVM: arm64: Use read-only helper for reading VM ID registers
Patch#18 KVM: arm64: Add helper for writing ID regs
Patch#19 KVM: arm64: Treat CTR_EL0 as a VM feature ID register
Patch#20 KVM: arm64: show writable masks for feature registers
Patch#21 KVM: arm64: rename functions for invariant sys regs
Reference: https://lore.kernel.org/all/20240619174036.483943-1-oliver.upton@linux.dev/
nv及debug相关未合入
Patch#22 KVM: arm64: Make the L1Ip feature bits in CTR_EL0 writable from userspace
Reference: https://lore.kernel.org/all/20241022073943.35764-1-shameerali.kolothum.thod…
单patch合入
Patch#23 KVM: arm64: Remove duplicated AA64MMFR1_EL1 XNX
Reference: https://lore.kernel.org/all/E1s2AxF-00AWLv-03@rmk-PC.armlinux.org.uk/
单patch合入
Patch#24 KVM: arm64: Make ID_AA64MMFR1_EL1.{HCX, TWED} writable from userspace
Reference: https://lore.kernel.org/linux-arm-kernel/20250911114621.3724469-1-yangjinqi…
selftest相关未合入
Patch#25 KVM: arm64: Do not allow ID_AA64MMFR0_EL1.ASIDbits to be overridden
Reference: https://lore.kernel.org/all/20241203190236.505759-1-maz@kernel.org/
单patch合入
Patch#26 KVM: arm64: Sanitise ID_AA64MMFR3_EL1
Reference: https://lore.kernel.org/all/20240822151113.1479789-11-joey.gouly@arm.com/
后面patch基于此series的此patch, 只合入此patch
Patch#27 KVM: arm64: Expose S1PIE to guests
Reference: https://lore.kernel.org/all/20241005-kvm-arm64-fix-s1pie-v1-1-5901f02de749@…
单patch合入
Patch#28 KVM: arm64: Make AA64PFR1_EL1.NMI writeable
此patch未合入主线, 因为vNMI未合入主线, 仅openeuler需要。
Patch#29 KVM: arm64: use KABI_EXTEND to revert struct kvm kabi change
此patch用于KABI屏蔽, 由Patch#19引入, 在struct kvm_arch添加了ctr_el0。
James Morse (1):
KVM: arm64: Disable MPAM visibility by default and ignore VMM writes
Jing Zhang (5):
KVM: arm64: Allow userspace to get the writable masks for feature ID
registers
KVM: arm64: Document KVM_ARM_GET_REG_WRITABLE_MASKS
KVM: arm64: Use guest ID register values for the sake of emulation
KVM: arm64: Allow userspace to change ID_AA64MMFR{0-2}_EL1
KVM: arm64: Allow userspace to change ID_AA64PFR0_EL1
Jinqian Yang (2):
KVM: arm64: Make ID_AA64MMFR1_EL1.{HCX, TWED} writable from userspace
KVM: arm64: Make AA64PFR1_EL1.NMI writeable
Joey Gouly (1):
KVM: arm64: Sanitise ID_AA64MMFR3_EL1
Marc Zyngier (1):
KVM: arm64: Do not allow ID_AA64MMFR0_EL1.ASIDbits to be overridden
Mark Brown (1):
KVM: arm64: Expose S1PIE to guests
Oliver Upton (11):
KVM: arm64: Advertise selected DebugVer in DBGDIDR.Version
KVM: arm64: Reject attempts to set invalid debug arch version
KVM: arm64: Bump up the default KVM sanitised debug version to v8p8
KVM: arm64: Allow userspace to change ID_AA64ISAR{0-2}_EL1
KVM: arm64: Allow userspace to change ID_AA64ZFR0_EL1
KVM: arm64: Document vCPU feature selection UAPIs
KVM: arm64: Rename is_id_reg() to imply VM scope
KVM: arm64: Reset VM feature ID regs from kvm_reset_sys_regs()
KVM: arm64: Only reset vCPU-scoped feature ID regs once
KVM: arm64: Use read-only helper for reading VM ID registers
KVM: arm64: Add helper for writing ID regs
Russell King (1):
KVM: arm64: Remove duplicated AA64MMFR1_EL1 XNX
Sebastian Ott (3):
KVM: arm64: Treat CTR_EL0 as a VM feature ID register
KVM: arm64: show writable masks for feature registers
KVM: arm64: rename functions for invariant sys regs
Shameer Kolothum (2):
KVM: arm64: Make the exposed feature bits in AA64DFR0_EL1 writable
from userspace
KVM: arm64: Make the L1Ip feature bits in CTR_EL0 writable from
userspace
yangjinqian (1):
KVM: arm64: use KABI_EXTEND to revert struct kvm kabi change
Documentation/virt/kvm/api.rst | 52 +++
Documentation/virt/kvm/arm/index.rst | 1 +
Documentation/virt/kvm/arm/vcpu-features.rst | 48 +++
arch/arm64/include/asm/kvm_emulate.h | 3 +-
arch/arm64/include/asm/kvm_host.h | 23 ++
arch/arm64/include/uapi/asm/kvm.h | 32 ++
arch/arm64/kvm/arm.c | 15 +-
arch/arm64/kvm/pmu-emul.c | 2 +-
arch/arm64/kvm/sys_regs.c | 359 +++++++++++++++----
include/uapi/linux/kvm.h | 2 +
10 files changed, 451 insertions(+), 86 deletions(-)
create mode 100644 Documentation/virt/kvm/arm/vcpu-features.rst
--
2.33.0
2
30
Patch#1 KVM: arm64: Allow userspace to get the writable masks for feature ID registers
Patch#2 KVM: arm64: Document KVM_ARM_GET_REG_WRITABLE_MASKS
Patch#3 KVM: arm64: Use guest ID register values for the sake of emulation
Patch#4 KVM: arm64: Advertise selected DebugVer in DBGDIDR.Version
Patch#5 KVM: arm64: Reject attempts to set invalid debug arch version
Patch#6 KVM: arm64: Bump up the default KVM sanitised debug version to v8p8
Patch#7 KVM: arm64: Allow userspace to change ID_AA64ISAR{0-2}_EL1
Patch#8 KVM: arm64: Allow userspace to change ID_AA64MMFR{0-2}_EL1
Patch#9 KVM: arm64: Allow userspace to change ID_AA64PFR0_EL1
Patch#10 KVM: arm64: Allow userspace to change ID_AA64ZFR0_EL1
Patch#11 KVM: arm64: Document vCPU feature selection UAPIs
Reference: https://lore.kernel.org/all/20231003230408.3405722-1-oliver.upton@linux.dev/
selftest相关未合入
Patch#12 KVM: arm64: Make the exposed feature bits in AA64DFR0_EL1 writable from userspace
Reference: https://lore.kernel.org/all/20240816132819.34316-1-shameerali.kolothum.thod…
单patch合入
Patch#13 KVM: arm64: Disable MPAM visibility by default and ignore VMM writes
Reference: https://lore.kernel.org/all/20241030160317.2528209-7-joey.gouly@arm.com/
单patch合入
Patch#14 KVM: arm64: Rename is_id_reg() to imply VM scope
Patch#15 KVM: arm64: Reset VM feature ID regs from kvm_reset_sys_regs()
Patch#16 KVM: arm64: Only reset vCPU-scoped feature ID regs once
Reference: https://lore.kernel.org/all/20240502233529.1958459-1-oliver.upton@linux.dev/
后面patch基于此series, 只合入影响后面patch的部分
Patch#17 KVM: arm64: Use read-only helper for reading VM ID registers
Patch#18 KVM: arm64: Add helper for writing ID regs
Patch#19 KVM: arm64: Treat CTR_EL0 as a VM feature ID register
Patch#20 KVM: arm64: show writable masks for feature registers
Patch#21 KVM: arm64: rename functions for invariant sys regs
Reference: https://lore.kernel.org/all/20240619174036.483943-1-oliver.upton@linux.dev/
nv及debug相关未合入
Patch#22 KVM: arm64: Make the L1Ip feature bits in CTR_EL0 writable from userspace
Reference: https://lore.kernel.org/all/20241022073943.35764-1-shameerali.kolothum.thod…
单patch合入
Patch#23 KVM: arm64: Remove duplicated AA64MMFR1_EL1 XNX
Reference: https://lore.kernel.org/all/E1s2AxF-00AWLv-03@rmk-PC.armlinux.org.uk/
单patch合入
Patch#24 KVM: arm64: Make HCX writable from userspace
Reference: https://lore.kernel.org/linux-arm-kernel/20250911114621.3724469-1-yangjinqi…
selftest相关未合入
Patch#25 KVM: arm64: Do not allow ID_AA64MMFR0_EL1.ASIDbits to be overridden
Reference: https://lore.kernel.org/all/20241203190236.505759-1-maz@kernel.org/
单patch合入
Patch#26 KVM: arm64: Sanitise ID_AA64MMFR3_EL1
Reference: https://lore.kernel.org/all/20240822151113.1479789-11-joey.gouly@arm.com/
后面patch基于此series的此patch, 只合入此patch
Patch#27 KVM: arm64: Expose S1PIE to guests
Reference: https://lore.kernel.org/all/20241005-kvm-arm64-fix-s1pie-v1-1-5901f02de749@…
Patch#28 KVM: arm64: Make AA64PFR1_EL1.NMI writeable
此patch未合入主线, 因为vNMI未合入主线, 仅openeuler需要。
Patch#29 KVM: arm64: use KABI_EXTEND to revert struct kvm kabi change
此patch用于KABI屏蔽, 由Patch#19引入, 在struct kvm_arch添加了ctr_el0。
James Morse (1):
KVM: arm64: Disable MPAM visibility by default and ignore VMM writes
Jing Zhang (5):
KVM: arm64: Allow userspace to get the writable masks for feature ID
registers
KVM: arm64: Document KVM_ARM_GET_REG_WRITABLE_MASKS
KVM: arm64: Use guest ID register values for the sake of emulation
KVM: arm64: Allow userspace to change ID_AA64MMFR{0-2}_EL1
KVM: arm64: Allow userspace to change ID_AA64PFR0_EL1
Jinqian Yang (2):
KVM: arm64: Make ID_AA64MMFR1_EL1.{HCX, TWED} writable from userspace
KVM: arm64: Make AA64PFR1_EL1.NMI writeable
Joey Gouly (1):
KVM: arm64: Sanitise ID_AA64MMFR3_EL1
Marc Zyngier (1):
KVM: arm64: Do not allow ID_AA64MMFR0_EL1.ASIDbits to be overridden
Mark Brown (1):
KVM: arm64: Expose S1PIE to guests
Oliver Upton (11):
KVM: arm64: Advertise selected DebugVer in DBGDIDR.Version
KVM: arm64: Reject attempts to set invalid debug arch version
KVM: arm64: Bump up the default KVM sanitised debug version to v8p8
KVM: arm64: Allow userspace to change ID_AA64ISAR{0-2}_EL1
KVM: arm64: Allow userspace to change ID_AA64ZFR0_EL1
KVM: arm64: Document vCPU feature selection UAPIs
KVM: arm64: Rename is_id_reg() to imply VM scope
KVM: arm64: Reset VM feature ID regs from kvm_reset_sys_regs()
KVM: arm64: Only reset vCPU-scoped feature ID regs once
KVM: arm64: Use read-only helper for reading VM ID registers
KVM: arm64: Add helper for writing ID regs
Russell King (1):
KVM: arm64: Remove duplicated AA64MMFR1_EL1 XNX
Sebastian Ott (3):
KVM: arm64: Treat CTR_EL0 as a VM feature ID register
KVM: arm64: show writable masks for feature registers
KVM: arm64: rename functions for invariant sys regs
Shameer Kolothum (2):
KVM: arm64: Make the exposed feature bits in AA64DFR0_EL1 writable
from userspace
KVM: arm64: Make the L1Ip feature bits in CTR_EL0 writable from
userspace
yangjinqian (1):
KVM: arm64: use KABI_EXTEND to revert struct kvm kabi change
Documentation/virt/kvm/api.rst | 52 +++
Documentation/virt/kvm/arm/index.rst | 1 +
Documentation/virt/kvm/arm/vcpu-features.rst | 48 +++
arch/arm64/include/asm/kvm_emulate.h | 3 +-
arch/arm64/include/asm/kvm_host.h | 23 ++
arch/arm64/include/uapi/asm/kvm.h | 32 ++
arch/arm64/kvm/arm.c | 15 +-
arch/arm64/kvm/pmu-emul.c | 2 +-
arch/arm64/kvm/sys_regs.c | 359 +++++++++++++++----
include/uapi/linux/kvm.h | 2 +
10 files changed, 451 insertions(+), 86 deletions(-)
create mode 100644 Documentation/virt/kvm/arm/vcpu-features.rst
--
2.33.0
2
30