From c26002f936b680d25cbc2463cf3ececde64195c8 Mon Sep 17 00:00:00 2001 From: mufengyan Date: Wed, 28 Aug 2024 17:52:15 +0800 Subject: [PATCH 1/2] UNIC: Using UBL-related macros to isolate UB header files driver inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IAN6V7 CVE: NA ----------------------------------------------------------- To improve the maintainability of the HNS3 and UNIC drivers, the header files used by the UNIC are isolated by using the CONFIG_HNS3_UBL macro. Use CONFIG_UB_UDMA_HNS3 to isolate the header files related to the UDMA and use the CONFIG_UBL macro to isolate the ubl.h file. Fixes: 737ec46e9632 ("UNIC: Adds the process of UNIC driver initializing") Signed-off-by: mufengyan --- drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c | 2 ++ drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 4 ++++ drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 2 ++ drivers/net/ethernet/hisilicon/hns3/hns3_unic_debugfs.c | 2 ++ drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 4 ++++ drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c | 2 ++ drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 6 ++++++ drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 2 ++ drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 2 +- drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 4 ++++ 10 files changed, 29 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c index be2272a424d2..ec8ee2fa0a20 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c @@ -7,7 +7,9 @@ #include "hnae3.h" #include "hns3_debugfs.h" #include "hns3_enet.h" +#ifdef CONFIG_HNS3_UBL #include "hns3_unic_debugfs.h" +#endif static struct dentry *hns3_dbgfs_root; diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c index 95c61f0509df..93c8a9271187 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -23,11 +23,15 @@ #include #include +#if IS_ENABLED(CONFIG_UBL) #include "ubl.h" +#endif #include "hnae3.h" #include "hnae3_ext.h" #include "hns3_enet.h" +#ifdef CONFIG_HNS3_UBL #include "hns3_unic.h" +#endif #include "hns3_roh.h" /* All hns3 tracepoints are defined by the include below, which * must be included exactly once across the whole kernel with diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c index 9e7b1993d8fe..8e469cb5b378 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c @@ -8,7 +8,9 @@ #include "hns3_enet.h" #include "hns3_ethtool.h" +#ifdef CONFIG_HNS3_UBL #include "hns3_unic.h" +#endif /* tqp related stats */ #define HNS3_TQP_STAT(_string, _member) { \ diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_unic_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3_unic_debugfs.c index 051e81b87558..1dfa7e0836eb 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_unic_debugfs.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_unic_debugfs.c @@ -18,7 +18,9 @@ #include "hnae3.h" #include "hns3_debugfs.h" #include "hns3_enet.h" +#ifdef CONFIG_HNS3_UBL #include "hns3_unic_debugfs.h" +#endif static struct hns3_dbg_dentry_info ub_dbg_dentry[] = { { diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c index 01e0c589818b..7566cb306324 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c @@ -6,10 +6,14 @@ #include "hclge_debugfs.h" #include "hclge_err.h" #include "hclge_main.h" +#ifdef CONFIG_HNS3_UBL #include "hclge_unic_debugfs.h" +#endif #include "hclge_regs.h" #include "hclge_tm.h" +#if IS_ENABLED(CONFIG_UB_UDMA_HNS3) #include "hclge_udma.h" +#endif #include "hnae3.h" static const char * const state_str[] = { "off", "on" }; diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c index 84b65994cb9d..74075a279f5f 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c @@ -2,7 +2,9 @@ /* Copyright (c) 2016-2017 Hisilicon Limited. */ #include "hclge_err.h" +#if IS_ENABLED(CONFIG_UB_UDMA_HNS3) #include "hclge_udma.h" +#endif static const struct hclge_hw_error hclge_imp_tcm_ecc_int[] = { { diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index 811a13a146f8..6068b32f4261 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -16,7 +16,9 @@ #include #include #include +#if IS_ENABLED(CONFIG_UBL) #include "ubl.h" +#endif #include "hclge_cmd.h" #include "hclge_dcb.h" #include "hclge_ext.h" @@ -29,11 +31,15 @@ #include "hnae3.h" #include "hclge_devlink.h" #include "hclge_comm_cmd.h" +#if IS_ENABLED(CONFIG_UB_UDMA_HNS3) #include "hclge_udma.h" +#endif +#ifdef CONFIG_HNS3_UBL #include "hclge_comm_unic_addr.h" #include "hclge_unic_ip.h" #include "hclge_unic_guid.h" #include "hclge_unic_addr.h" +#endif #include "hclge_trace.h" diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c index da02d01d6d38..1eddb79c8f52 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c @@ -5,9 +5,11 @@ #include "hclge_mbx.h" #include "hnae3.h" #include "hclge_comm_rss.h" +#ifdef CONFIG_HNS3_UBL #include "hclge_comm_unic_addr.h" #include "hclge_unic_guid.h" #include "hclge_unic_ip.h" +#endif #include "hclge_dcb.h" #include "hclge_tm.h" diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c index 45011c8592ad..d3dc9c011156 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c @@ -635,7 +635,7 @@ int hclge_tm_qs_shaper_cfg(struct hclge_vport *vport, int max_tx_rate) u32 shaper_para; int ret, i; -#if CONFIG_HNS3_UBL +#ifdef CONFIG_HNS3_UBL /* vf rate limiting is not supported in ub link mode, a success message * is directly returned to prevent redundant failure information from * being printed in the reset and uninstallation processes. diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c index 9f341cb10cb4..0d955f065d9e 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c @@ -11,11 +11,15 @@ #include "hnae3.h" #include "hclgevf_devlink.h" #include "hclge_comm_rss.h" +#if IS_ENABLED(CONFIG_UB_UDMA_HNS3) #include "hclgevf_udma.h" +#endif +#ifdef CONFIG_HNS3_UBL #include "hclge_comm_unic_addr.h" #include "hclgevf_unic_ip.h" #include "hclgevf_unic_guid.h" #include "hclgevf_unic_addr.h" +#endif #include "hclgevf_trace.h" #include "hclgevf_dcb.h" -- Gitee From acd5977f47917dd95753d0de3b9bc09fe7d5014f Mon Sep 17 00:00:00 2001 From: mufengyan Date: Wed, 28 Aug 2024 20:59:51 +0800 Subject: [PATCH 2/2] UNIC: Use the macro CONFIG_HNS3_UBL to isolate debugfs dentry driver inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IAN6V7 CVE: NA ----------------------------------------------------------- When the driver runs in UB mode, the debugfs should use ub dentry rather than the nic dentry. Thus we use the macro CONFIG_HNS3_UBL to isolate these two dentries. Fixes: 97d2f8090892 ("UNIC: Debugfs supports query of ip and guid table's list and specification") Signed-off-by: mufengyan --- drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.h b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.h index 4a5ef8a90a10..d2c580434898 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.h +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.h @@ -5,6 +5,9 @@ #define __HNS3_DEBUGFS_H #include "hnae3.h" +#ifdef CONFIG_HNS3_UBL +#include "hns3_unic_debugfs.h" +#endif #define HNS3_DBG_READ_LEN 65536 #define HNS3_DBG_READ_LEN_128KB 0x20000 @@ -48,7 +51,11 @@ struct hns3_dbg_dentry_info { struct hns3_dbg_cmd_info { const char *name; enum hnae3_dbg_cmd cmd; +#ifdef CONFIG_HNS3_UBL + enum hns3_dbg_ub_dentry_type dentry; +#else enum hns3_dbg_dentry_type dentry; +#endif u32 buf_len; int (*init)(struct hnae3_handle *handle, unsigned int cmd); }; -- Gitee