From: Andrey Shumilin <shum.sdl(a)nppct.ru>
stable inclusion
from stable-v5.10.227
commit 252f147b1826cbb30ae0304cf86b66d3bb12b743
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB2YVH
CVE: CVE-2024-50180
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 9cf14f5a2746c19455ce9cb44341b5527b5e19c3 ]
The values of the variables xres and yres are placed in strbuf.
These variables are obtained from strbuf1.
The strbuf1 array contains digit characters
and a space if the array contains non-digit characters.
Then, when executing sprintf(strbuf, "%ux%ux8", xres, yres);
more than 16 bytes will be written to strbuf.
It is suggested to increase the size of the strbuf array to 24.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Andrey Shumilin <shum.sdl(a)nppct.ru>
Signed-off-by: Helge Deller <deller(a)gmx.de>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Yi Yang <yiyang13(a)huawei.com>
---
drivers/video/fbdev/sis/sis_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c
index e540cb0c5172..7787fd21932c 100644
--- a/drivers/video/fbdev/sis/sis_main.c
+++ b/drivers/video/fbdev/sis/sis_main.c
@@ -183,7 +183,7 @@ static void sisfb_search_mode(char *name, bool quiet)
{
unsigned int j = 0, xres = 0, yres = 0, depth = 0, rate = 0;
int i = 0;
- char strbuf[16], strbuf1[20];
+ char strbuf[24], strbuf1[20];
char *nameptr = name;
/* We don't know the hardware specs yet and there is no ivideo */
--
2.25.1
From: Andrey Shumilin <shum.sdl(a)nppct.ru>
stable inclusion
from stable-v5.10.227
commit 252f147b1826cbb30ae0304cf86b66d3bb12b743
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB2YVH
CVE: CVE-2024-50180
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 9cf14f5a2746c19455ce9cb44341b5527b5e19c3 ]
The values of the variables xres and yres are placed in strbuf.
These variables are obtained from strbuf1.
The strbuf1 array contains digit characters
and a space if the array contains non-digit characters.
Then, when executing sprintf(strbuf, "%ux%ux8", xres, yres);
more than 16 bytes will be written to strbuf.
It is suggested to increase the size of the strbuf array to 24.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Andrey Shumilin <shum.sdl(a)nppct.ru>
Signed-off-by: Helge Deller <deller(a)gmx.de>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Yi Yang <yiyang13(a)huawei.com>
---
drivers/video/fbdev/sis/sis_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c
index e540cb0c5172..7787fd21932c 100644
--- a/drivers/video/fbdev/sis/sis_main.c
+++ b/drivers/video/fbdev/sis/sis_main.c
@@ -183,7 +183,7 @@ static void sisfb_search_mode(char *name, bool quiet)
{
unsigned int j = 0, xres = 0, yres = 0, depth = 0, rate = 0;
int i = 0;
- char strbuf[16], strbuf1[20];
+ char strbuf[24], strbuf1[20];
char *nameptr = name;
/* We don't know the hardware specs yet and there is no ivideo */
--
2.25.1
Hi Zhao,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: f49b713adeb7d09d40da433b7700b1666a7d6e32
commit: 6636f4434a9c5c9c645694db206188ee5a6626dd [1297/1297] ext4: report error to userspace by netlink
config: x86_64-buildonly-randconfig-005-20241117 (https://download.01.org/0day-ci/archive/20241121/202411210950.bzCekRiW-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241121/202411210950.bzCekRiW-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/202411210950.bzCekRiW-lkp@intel.com/
All errors (new ones prefixed by >>):
ld: warning: arch/x86/lib/csum-copy_64.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ld: warning: arch/x86/lib/csum-copy_64.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
ld: warning: .tmp_vmlinux1 has a LOAD segment with RWX permissions
ld: fs/ext4/super.o: in function `ext4_netlink_send_info.part.0':
>> super.c:(.text+0x1c3cd): undefined reference to `__alloc_skb'
>> ld: super.c:(.text+0x1c456): undefined reference to `__nlmsg_put'
>> ld: super.c:(.text+0x1c422): undefined reference to `kfree_skb'
>> ld: super.c:(.text+0x1c50f): undefined reference to `netlink_broadcast'
ld: fs/ext4/super.o: in function `ext4_init_fs':
>> super.c:(.init.text+0x46ef): undefined reference to `init_net'
>> ld: super.c:(.init.text+0x46f9): undefined reference to `__netlink_kernel_create'
ld: fs/ext4/super.o: in function `ext4_exit_fs':
>> super.c:(.exit.text+0x65): undefined reference to `netlink_kernel_release'
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Hi Nick,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: f49b713adeb7d09d40da433b7700b1666a7d6e32
commit: b8ba22a604e4d0a3ad8e23af22f432e12b6f1a65 [1302/1302] nvme: fix compat address handling in several ioctls
config: arm64-randconfig-003-20241121 (https://download.01.org/0day-ci/archive/20241121/202411210730.g3bmaj7Y-lkp@…)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241121/202411210730.g3bmaj7Y-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/202411210730.g3bmaj7Y-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/nvme/host/core.c: In function 'nvme_to_user_ptr':
>> drivers/nvme/host/core.c:1163:27: error: 'compat_uptr_t' undeclared (first use in this function); did you mean 'compat_time_t'?
1163 | ptrval = (compat_uptr_t)ptrval;
| ^~~~~~~~~~~~~
| compat_time_t
drivers/nvme/host/core.c:1163:27: note: each undeclared identifier is reported only once for each function it appears in
drivers/nvme/host/core.c:1163:41: error: expected ';' before 'ptrval'
1163 | ptrval = (compat_uptr_t)ptrval;
| ^~~~~~
| ;
vim +1163 drivers/nvme/host/core.c
1154
1155 /*
1156 * Convert integer values from ioctl structures to user pointers, silently
1157 * ignoring the upper bits in the compat case to match behaviour of 32-bit
1158 * kernels.
1159 */
1160 static void __user *nvme_to_user_ptr(uintptr_t ptrval)
1161 {
1162 if (in_compat_syscall())
> 1163 ptrval = (compat_uptr_t)ptrval;
1164 return (void __user *)ptrval;
1165 }
1166
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Hi Bennie,
First bad commit (maybe != root cause):
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: cce003012298a00277187319a2527882a18278c1
commit: 8d65cdad5ea8e309af47a9a70c538bbbc1223e9a [1474/1474] Net: nebula_matrix: fix ci build warning
config: x86_64-randconfig-121-20241118 (https://download.01.org/0day-ci/archive/20241121/202411210302.R7m6i1xC-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241121/202411210302.R7m6i1xC-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/202411210302.R7m6i1xC-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2056:34: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected unsigned char [usertype] * @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2056:34: sparse: expected unsigned char [usertype] *
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2056:34: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2235:23: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected unsigned char [usertype] * @@ got unsigned char [noderef] [usertype] __iomem *hw_addr @@
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2235:23: sparse: expected unsigned char [usertype] *
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2235:23: sparse: got unsigned char [noderef] [usertype] __iomem *hw_addr
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:17:9: sparse: sparse: context imbalance in 'nbl_send_kt_data' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:95:17: sparse: sparse: context imbalance in 'nbl_check_kt_data' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:158:42: sparse: sparse: context imbalance in 'nbl_phy_fem_clear_tcam_ad' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:255:26: sparse: sparse: context imbalance in 'nbl_phy_fem_em0_pt_phy_l2_init' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:370:25: sparse: sparse: context imbalance in 'nbl_phy_search_key' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:432:26: sparse: sparse: context imbalance in 'nbl_phy_add_tcam' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:438:13: sparse: sparse: context imbalance in 'nbl_phy_del_tcam' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:480:9: sparse: sparse: context imbalance in 'nbl_phy_add_mcc' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:483:13: sparse: sparse: context imbalance in 'nbl_phy_del_mcc' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:568:13: sparse: sparse: context imbalance in 'nbl_shaping_eth_init' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:812:13: sparse: sparse: context imbalance in 'nbl_epro_action_filter_cfg' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:934:49: sparse: sparse: context imbalance in 'nbl_phy_init_qid_map_table' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:971:41: sparse: sparse: context imbalance in 'nbl_phy_set_qid_map_table' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1041:26: sparse: sparse: context imbalance in 'nbl_phy_cfg_ipro_dn_sport_tbl' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1067:26: sparse: sparse: context imbalance in 'nbl_phy_set_vnet_queue_info' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1078:26: sparse: sparse: context imbalance in 'nbl_phy_clear_vnet_queue_info' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1091:26: sparse: sparse: context imbalance in 'nbl_phy_cfg_vnet_qinfo_log' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1174:9: sparse: sparse: context imbalance in 'nbl_phy_restore_dvn_context' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1193:9: sparse: sparse: context imbalance in 'nbl_phy_restore_uvn_context' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1205:25: sparse: sparse: context imbalance in 'nbl_phy_get_tx_queue_cfg' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1223:25: sparse: sparse: context imbalance in 'nbl_phy_get_rx_queue_cfg' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1253:26: sparse: sparse: context imbalance in 'nbl_phy_cfg_tx_queue' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1274:26: sparse: sparse: context imbalance in 'nbl_phy_cfg_rx_queue' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1326:26: sparse: sparse: context imbalance in 'nbl_phy_set_tc_wgt' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1350:26: sparse: sparse: context imbalance in 'nbl_phy_active_shaping' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1371:26: sparse: sparse: context imbalance in 'nbl_phy_deactive_shaping' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1408:26: sparse: sparse: context imbalance in 'nbl_phy_set_shaping' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1515:26: sparse: sparse: context imbalance in 'nbl_phy_init_epro_rss_key' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1521:13: sparse: sparse: context imbalance in 'nbl_phy_read_epro_rss_key' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1563:25: sparse: sparse: context imbalance in 'nbl_phy_get_rss_alg_sel' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1583:26: sparse: sparse: context imbalance in 'nbl_phy_init_epro_vpt_tbl' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1602:26: sparse: sparse: context imbalance in 'nbl_phy_set_epro_rss_default' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1627:26: sparse: sparse: context imbalance in 'nbl_phy_set_epro_rss_pt' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1645:26: sparse: sparse: context imbalance in 'nbl_phy_clear_epro_rss_pt' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1658:26: sparse: sparse: context imbalance in 'nbl_phy_disable_dvn' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1667:26: sparse: sparse: context imbalance in 'nbl_phy_disable_uvn' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1687:25: sparse: sparse: context imbalance in 'nbl_phy_is_rxq_drain_out' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1747:9: sparse: sparse: context imbalance in 'nbl_phy_save_dvn_ctx' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1770:9: sparse: sparse: context imbalance in 'nbl_phy_save_uvn_ctx' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1802:25: sparse: sparse: context imbalance in 'nbl_phy_get_tx_queue_err_stats' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1832:26: sparse: sparse: context imbalance in 'nbl_phy_setup_queue_switch' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:1891:26: sparse: sparse: context imbalance in 'nbl_phy_init_pfc' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2059:13: sparse: sparse: context imbalance in 'nbl_phy_configure_msix_map' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2097:26: sparse: sparse: context imbalance in 'nbl_phy_configure_msix_info' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2238:13: sparse: sparse: context imbalance in 'nbl_phy_set_promisc_mode' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2260:25: sparse: sparse: context imbalance in 'nbl_phy_get_coalesce' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2267:13: sparse: sparse: context imbalance in 'nbl_phy_set_coalesce' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2293:26: sparse: sparse: context imbalance in 'nbl_phy_set_spoof_check_addr' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2309:26: sparse: sparse: context imbalance in 'nbl_phy_set_spoof_check_enable' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2472:25: sparse: sparse: context imbalance in 'nbl_phy_get_fw_pong' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2477:13: sparse: sparse: context imbalance in 'nbl_phy_set_fw_pong' - different lock contexts for basic block
drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c:2532:26: sparse: sparse: context imbalance in 'nbl_phy_process_abnormal_queue' - different lock contexts for basic block
vim +2056 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis.c
bad535d287c9c1 Bennie Yan 2024-09-24 2047
bad535d287c9c1 Bennie Yan 2024-09-24 2048 static u8 *nbl_phy_get_msix_irq_enable_info(void *priv, u16 global_vector_id, u32 *irq_data)
bad535d287c9c1 Bennie Yan 2024-09-24 2049 {
bad535d287c9c1 Bennie Yan 2024-09-24 2050 struct nbl_phy_mgt *phy_mgt = (struct nbl_phy_mgt *)priv;
bad535d287c9c1 Bennie Yan 2024-09-24 2051 struct nbl_msix_notify msix_notify = { 0 };
bad535d287c9c1 Bennie Yan 2024-09-24 2052
bad535d287c9c1 Bennie Yan 2024-09-24 2053 msix_notify.glb_msix_idx = global_vector_id;
bad535d287c9c1 Bennie Yan 2024-09-24 2054 memcpy(irq_data, &msix_notify, sizeof(msix_notify));
bad535d287c9c1 Bennie Yan 2024-09-24 2055
bad535d287c9c1 Bennie Yan 2024-09-24 @2056 return (phy_mgt->hw_addr + NBL_PCOMPLETER_MSIX_NOTIRY_OFFSET);
bad535d287c9c1 Bennie Yan 2024-09-24 2057 }
bad535d287c9c1 Bennie Yan 2024-09-24 2058
:::::: The code at line 2056 was first introduced by commit
:::::: bad535d287c9c1056d99de3666be7da84de4a8fc Net:nbl_core: Add nbl_core-driver for nebula-matrix S1055AS series smart NIC.
:::::: TO: Bennie Yan <bennie.yan(a)nebula-matrix.com>
:::::: CC: Bennie Yan <bennie.yan(a)nebula-matrix.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: cce003012298a00277187319a2527882a18278c1
commit: 0908fafca4fdc46cd425b6d2d39a5b283fbdc425 [1495/1495] net/hinic3: Support New SDK and NIC features
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20241121/202411210200.MEZRD0ST-lkp@…)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 592c0fe55f6d9a811028b5f3507be91458ab2713)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241121/202411210200.MEZRD0ST-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/202411210200.MEZRD0ST-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/net/ethernet/huawei/hinic3/adapter/sw_cmdq/sw_cmdq_ops.c:5:
In file included from drivers/net/ethernet/huawei/hinic3/hinic3_nic_cmdq.h:7:
In file included from drivers/net/ethernet/huawei/hinic3/ossl_knl.h:7:
In file included from drivers/net/ethernet/huawei/hinic3/ossl_knl_linux.h:7:
In file included from include/net/ipv6.h:12:
In file included from include/linux/ipv6.h:100:
In file included from include/linux/tcp.h:17:
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/arm64/include/asm/cacheflush.h:11:
In file included from include/linux/kgdb.h:19:
In file included from include/linux/kprobes.h:28:
In file included from include/linux/ftrace.h:13:
In file included from include/linux/kallsyms.h:13:
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/huawei/hinic3/adapter/sw_cmdq/sw_cmdq_ops.c:77:34: warning: expression does not compute the number of elements in this array; element type is 'u16' (aka 'unsigned short'), not 'u32' (aka 'unsigned int') [-Wsizeof-array-div]
77 | size = sizeof(indir_tbl->entry) / sizeof(u32);
| ~~~~~~~~~~~~~~~~ ^
drivers/net/ethernet/huawei/hinic3/adapter/sw_cmdq/sw_cmdq_ops.c:77:34: note: place parentheses around the 'sizeof(u32)' expression to silence this warning
6 warnings generated.
--
In file included from drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.c:7:
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/huawei/hinic3/hinic3_nic_io.c:272:5: warning: no previous prototype for function 'hinic3_get_rq_wqe_type' [-Wmissing-prototypes]
272 | int hinic3_get_rq_wqe_type(void *hwdev)
| ^
drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.c:272:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
272 | int hinic3_get_rq_wqe_type(void *hwdev)
| ^
| static
6 warnings generated.
vim +77 drivers/net/ethernet/huawei/hinic3/adapter/sw_cmdq/sw_cmdq_ops.c
61
62 static u8 prepare_cmd_buf_set_rss_indir_table(const struct hinic3_nic_io *nic_io,
63 const u32 *indir_table,
64 struct hinic3_cmd_buf *cmd_buf)
65 {
66 u32 i, size;
67 u32 *temp = NULL;
68 struct nic_rss_indirect_tbl *indir_tbl = NULL;
69
70 indir_tbl = (struct nic_rss_indirect_tbl *)cmd_buf->buf;
71 cmd_buf->size = sizeof(struct nic_rss_indirect_tbl);
72 memset(indir_tbl, 0, sizeof(*indir_tbl));
73
74 for (i = 0; i < NIC_RSS_INDIR_SIZE; i++)
75 indir_tbl->entry[i] = (u16)(*(indir_table + i));
76
> 77 size = sizeof(indir_tbl->entry) / sizeof(u32);
78 temp = (u32 *)indir_tbl->entry;
79 for (i = 0; i < size; i++)
80 temp[i] = cpu_to_be32(temp[i]);
81
82 return (u8)HINIC3_UCODE_CMD_SET_RSS_INDIR_TABLE;
83 }
84
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki