]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtlwifi: Constify struct rtl_hal_ops and rtl_hal_cfg
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 17 May 2025 16:46:14 +0000 (18:46 +0200)
committerPing-Ke Shih <pkshih@realtek.com>
Tue, 10 Jun 2025 01:12:16 +0000 (09:12 +0800)
'struct rtl_hal_ops' and 'struct rtl_hal_cfg' are not modified in these
drivers.

Constifying this structure moves some data to a read-only section, so
increase overall security, especially when the structure holds some
function pointers.

Constification of rtl_hal_cfg is only needed in rtl8192cu/sw.c

On a x86_64, with allmodconfig, as an example:
Before:
======
   text    data     bss     dec     hex filename
  10167    5512     128   15807    3dbf drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.o

After:
=====
   text    data     bss     dec     hex filename
  10743    4936     128   15807    3dbf drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.o

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/2c3f3d8d8b2f7dcb8cc64cebe89e55720d1d733d.1747500351.git.christophe.jaillet@wanadoo.fr
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c

index 2ad4523d1bef9f5badebcfd1bf0c72503b254aae..79c6e0901e5707ded36089a9bd40ad668c787be9 100644 (file)
@@ -190,7 +190,7 @@ static bool rtl88e_get_btc_status(void)
        return false;
 }
 
-static struct rtl_hal_ops rtl8188ee_hal_ops = {
+static const struct rtl_hal_ops rtl8188ee_hal_ops = {
        .init_sw_vars = rtl88e_init_sw_vars,
        .deinit_sw_vars = rtl88e_deinit_sw_vars,
        .read_eeprom_info = rtl88ee_read_eeprom_info,
index ce7c28d9c8743bafb4964288c59a2728c37a2b84..f06b159f975d36794a1cce31d565bc65c20e3647 100644 (file)
@@ -167,7 +167,7 @@ static void rtl92c_deinit_sw_vars(struct ieee80211_hw *hw)
        }
 }
 
-static struct rtl_hal_ops rtl8192ce_hal_ops = {
+static const struct rtl_hal_ops rtl8192ce_hal_ops = {
        .init_sw_vars = rtl92c_init_sw_vars,
        .deinit_sw_vars = rtl92c_deinit_sw_vars,
        .read_eeprom_info = rtl92ce_read_eeprom_info,
index c9b9e2bc90cc49cb6131f31a3101bdf299abe8fa..00a6778df7049ff1e56edbb75900ece6686c3e1a 100644 (file)
@@ -81,7 +81,7 @@ static bool rtl92cu_get_btc_status(void)
        return false;
 }
 
-static struct rtl_hal_ops rtl8192cu_hal_ops = {
+static const struct rtl_hal_ops rtl8192cu_hal_ops = {
        .init_sw_vars = rtl92cu_init_sw_vars,
        .deinit_sw_vars = rtl92cu_deinit_sw_vars,
        .read_chip_version = rtl92c_read_chip_version,
@@ -156,7 +156,7 @@ static struct rtl_hal_usbint_cfg rtl92cu_interface_cfg = {
        .usb_mq_to_hwq = rtl8192cu_mq_to_hwq,
 };
 
-static struct rtl_hal_cfg rtl92cu_hal_cfg = {
+static const struct rtl_hal_cfg rtl92cu_hal_cfg = {
        .name = "rtl92c_usb",
        .alt_fw_name = "rtlwifi/rtl8192cufw.bin",
        .ops = &rtl8192cu_hal_ops,
index e36e4aeb9a9534d618fc9898c690ad15307cdff0..7612c22a9842bedfd83fd17fc89cafbaa5f9d33f 100644 (file)
@@ -184,7 +184,7 @@ static void rtl92d_deinit_sw_vars(struct ieee80211_hw *hw)
                skb_queue_purge(&rtlpriv->mac80211.skb_waitq[tid]);
 }
 
-static struct rtl_hal_ops rtl8192de_hal_ops = {
+static const struct rtl_hal_ops rtl8192de_hal_ops = {
        .init_sw_vars = rtl92d_init_sw_vars,
        .deinit_sw_vars = rtl92d_deinit_sw_vars,
        .read_eeprom_info = rtl92d_read_eeprom_info,
index 162e734d5b08c86ac0991f626db4d0b33cd6152e..181dd7823b264b88cb8d1a774d01c616607fce35 100644 (file)
@@ -176,7 +176,7 @@ static bool rtl92ee_get_btc_status(void)
        return true;
 }
 
-static struct rtl_hal_ops rtl8192ee_hal_ops = {
+static const struct rtl_hal_ops rtl8192ee_hal_ops = {
        .init_sw_vars = rtl92ee_init_sw_vars,
        .deinit_sw_vars = rtl92ee_deinit_sw_vars,
        .read_eeprom_info = rtl92ee_read_eeprom_info,
index e63c67b1861b5fe9fc989126b1a7701576e277f7..1cf801feb45e2cdbbe1bf69db45ec3595644bcf0 100644 (file)
@@ -221,7 +221,7 @@ static bool rtl92se_is_tx_desc_closed(struct ieee80211_hw *hw, u8 hw_queue,
        return true;
 }
 
-static struct rtl_hal_ops rtl8192se_hal_ops = {
+static const struct rtl_hal_ops rtl8192se_hal_ops = {
        .init_sw_vars = rtl92s_init_sw_vars,
        .deinit_sw_vars = rtl92s_deinit_sw_vars,
        .read_eeprom_info = rtl92se_read_eeprom_info,
index 048744166a920f17428d34e8174173cd4537e272..dcd7cdb96aa44d6025de8b9bcaae377e9f382060 100644 (file)
@@ -183,7 +183,7 @@ static bool is_fw_header(struct rtlwifi_firmware_header *hdr)
        return (le16_to_cpu(hdr->signature) & 0xfff0) == 0x2300;
 }
 
-static struct rtl_hal_ops rtl8723e_hal_ops = {
+static const struct rtl_hal_ops rtl8723e_hal_ops = {
        .init_sw_vars = rtl8723e_init_sw_vars,
        .deinit_sw_vars = rtl8723e_deinit_sw_vars,
        .read_eeprom_info = rtl8723e_read_eeprom_info,
index 0a92d0325098a757cfd72ba1f9d2f0888a9cc8ce..5967df08e34ecb0e1bfebb54b48cd5bf4254b054 100644 (file)
@@ -187,7 +187,7 @@ static bool is_fw_header(struct rtlwifi_firmware_header *hdr)
        return (le16_to_cpu(hdr->signature) & 0xfff0) == 0x5300;
 }
 
-static struct rtl_hal_ops rtl8723be_hal_ops = {
+static const struct rtl_hal_ops rtl8723be_hal_ops = {
        .init_sw_vars = rtl8723be_init_sw_vars,
        .deinit_sw_vars = rtl8723be_deinit_sw_vars,
        .read_eeprom_info = rtl8723be_read_eeprom_info,
index b5266e5604167b035fed61255e789ae0f84bcad7..1557d32efdd2256f0a4c9fd7cde57c9b68d0112a 100644 (file)
@@ -229,7 +229,7 @@ static bool rtl8821ae_get_btc_status(void)
        return true;
 }
 
-static struct rtl_hal_ops rtl8821ae_hal_ops = {
+static const struct rtl_hal_ops rtl8821ae_hal_ops = {
        .init_sw_vars = rtl8821ae_init_sw_vars,
        .deinit_sw_vars = rtl8821ae_deinit_sw_vars,
        .read_eeprom_info = rtl8821ae_read_eeprom_info,