From: Arsenii Pashchenko <ulijg308@gmail.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
ulijg308@gmail.com
Subject: [PATCH 26/61] staging: rtl8723bs: clean up Michael MIC pseudo header logic
Date: Wed, 15 Jul 2026 19:47:54 +0700 [thread overview]
Message-ID: <20260715124829.90290-27-ulijg308@gmail.com> (raw)
In-Reply-To: <20260715124829.90290-1-ulijg308@gmail.com>
Clean up the single-use Michael MIC calculation logic. Simplify the
priority array initialization to a standard zero-initializer and pass
the array directly instead of using the redundant address-of-first-element
(&priority[0]) syntax.
This reduces visual clutter and aligns the block with modern Linux
kernel coding practices without introducing an unneeded helper.
Signed-off-by: Arsenii Pashchenko <ulijg308@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_recv.c | 27 +++++++++++++++++-
drivers/staging/rtl8723bs/core/rtw_security.c | 28 -------------------
.../staging/rtl8723bs/include/rtw_security.h | 8 ------
3 files changed, 26 insertions(+), 37 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 78bd04982..cad44923b 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -378,7 +378,32 @@ static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *p
pframe = precvframe->u.hdr.rx_data;
payload = pframe + prxattrib->hdrlen + prxattrib->iv_len;
- rtw_seccalctkipmic(mickey, pframe, payload, datalen, &miccode[0], (unsigned char)prxattrib->priority); /* care the length of the data */
+ /* care the length of the data */
+ struct mic_data micdata;
+ u8 priority[4] = {0};
+
+ rtw_secmicsetkey(&micdata, mickey);
+ priority[0] = (unsigned char)prxattrib->priority;
+
+ /* Michael MIC pseudo header: DA, SA, 3 x 0, Priority */
+ if (pframe[1] & 1) { /* ToDS == 1 */
+ rtw_secmicappend(&micdata, &pframe[16], 6); /* DA */
+ if (pframe[1] & 2) /* From Ds == 1 */
+ rtw_secmicappend(&micdata, &pframe[24], 6);
+ else
+ rtw_secmicappend(&micdata, &pframe[10], 6);
+ } else { /* ToDS == 0 */
+ rtw_secmicappend(&micdata, &pframe[4], 6); /* DA */
+ if (pframe[1] & 2) /* From Ds == 1 */
+ rtw_secmicappend(&micdata, &pframe[16], 6);
+ else
+ rtw_secmicappend(&micdata, &pframe[10], 6);
+ }
+ rtw_secmicappend(&micdata, priority, 4);
+
+ rtw_secmicappend(&micdata, payload, datalen);
+
+ rtw_secgetmic(&micdata, &miccode[0]);
pframemic = payload + datalen;
diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index a4a4f0e6d..6f3069498 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -196,34 +196,6 @@ void rtw_secgetmic(struct mic_data *pmicdata, u8 *dst)
secmicclear(pmicdata);
}
-void rtw_seccalctkipmic(u8 *key, u8 *header, u8 *data, u32 data_len, u8 *mic_code, u8 pri)
-{
- struct mic_data micdata;
- u8 priority[4] = {0x0, 0x0, 0x0, 0x0};
-
- rtw_secmicsetkey(&micdata, key);
- priority[0] = pri;
-
- /* Michael MIC pseudo header: DA, SA, 3 x 0, Priority */
- if (header[1] & 1) { /* ToDS == 1 */
- rtw_secmicappend(&micdata, &header[16], 6); /* DA */
- if (header[1] & 2) /* From Ds == 1 */
- rtw_secmicappend(&micdata, &header[24], 6);
- else
- rtw_secmicappend(&micdata, &header[10], 6);
- } else { /* ToDS == 0 */
- rtw_secmicappend(&micdata, &header[4], 6); /* DA */
- if (header[1] & 2) /* From Ds == 1 */
- rtw_secmicappend(&micdata, &header[16], 6);
- else
- rtw_secmicappend(&micdata, &header[10], 6);
- }
- rtw_secmicappend(&micdata, &priority[0], 4);
-
- rtw_secmicappend(&micdata, data, data_len);
-
- rtw_secgetmic(&micdata, mic_code);
-}
/* macros for extraction/creation of unsigned char/unsigned short values */
#define RotR1(v16) ((((v16) >> 1) & 0x7FFF) ^ (((v16) & 1) << 15))
diff --git a/drivers/staging/rtl8723bs/include/rtw_security.h b/drivers/staging/rtl8723bs/include/rtw_security.h
index 22eec2215..5bad48ed6 100644
--- a/drivers/staging/rtl8723bs/include/rtw_security.h
+++ b/drivers/staging/rtl8723bs/include/rtw_security.h
@@ -249,14 +249,6 @@ void rtw_secmicappendbyte(struct mic_data *pmicdata, u8 b);
void rtw_secmicappend(struct mic_data *pmicdata, u8 *src, u32 nBytes);
void rtw_secgetmic(struct mic_data *pmicdata, u8 *dst);
-void rtw_seccalctkipmic(
- u8 *key,
- u8 *header,
- u8 *data,
- u32 data_len,
- u8 *Miccode,
- u8 priority);
-
u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe);
u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe);
void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe);
--
2.55.0
next prev parent reply other threads:[~2026-07-15 12:50 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-15 12:47 [PATCH 00/61] staging: rtl8723bs: monolithic HAL cleanup and tx power limit fix Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 01/61] staging: rtl8723bs: remove redundant rtw_ap_set_group_key wrapper Arsenii Pashchenko
2026-07-15 13:15 ` Greg Kroah-Hartman
2026-07-15 13:19 ` Greg Kroah-Hartman
2026-07-15 12:47 ` [PATCH 02/61] staging: rtl8723bs: replace is_same_ess with rtw_ssid_differ Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 03/61] staging: rtl8723bs: remove redundant rtw_to_roam wrapper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 04/61] staging: rtl8723bs: remove redundant rtw_dec_to_roam helper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 05/61] staging: rtl8723bs: remove unused OnAtim stub function Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 06/61] staging: rtl8723bs: remove DoReserved stub and clean up OnAction_tbl Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 07/61] staging: rtl8723bs: remove redundant issue_deauth wrapper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 08/61] staging: rtl8723bs: remove unused NULL_hdl function Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 09/61] staging: rtl8723bs: remove unused set_csa_hdl function Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 10/61] staging: rtl8723bs: remove unused tdls_hdl function Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 11/61] staging: rtl8723bs: inline rtw_ps_deny_get() and remove dead code Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 12/61] staging: rtl8723bs: replace custom CMAC with kernel Crypto API helper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 13/61] staging: rtl8723bs: remove redundant rtw_get_oper_ch() wrapper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 14/61] staging: rtl8723bs: remove ODM_CheckPowerStatus and dead branches Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 15/61] staging: rtl8723bs: remove unimplemented halbtcoutsrc_GetBtReg helper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 16/61] staging: rtl8723bs: remove rtw_free_evt_priv wrapper and rename helper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 17/61] staging: rtl8723bs: remove rtw_free_cmd_priv " Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 18/61] staging: rtl8723bs: replace rtw_dm_in_lps_hdl with direct hal call Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 19/61] staging: rtl8723bs: make lps_ctrl_wk_hdl() static Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 20/61] staging: rtl8723bs: sanitize and align efuse read function headers Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 21/61] staging: rtl8723bs: replace rtw_reset_continual_io_error with atomic_set Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 22/61] staging: rtl8723bs: inline single-use init_mlme_default_rate_set Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 23/61] staging: rtl8723bs: remove issue_probereq wrapper and rename helper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 24/61] staging: rtl8723bs: remove register_task_alive inline helper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 25/61] staging: rtl8723bs: remove unregister_task_alive " Arsenii Pashchenko
2026-07-15 12:47 ` Arsenii Pashchenko [this message]
2026-07-15 12:47 ` [PATCH 27/61] staging: rtl8723bs: replace rtw_set_oper_bw with direct assignment Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 28/61] staging: rtl8723bs: inline single-use _clear_cam_entry helper Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 29/61] staging: rtl8723bs: collapse set_sta_rate and Update_RA_Entry wrappers Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 30/61] staging: rtl8723bs: replace correct_TSF with direct HAL call Arsenii Pashchenko
2026-07-15 12:47 ` [PATCH 31/61] staging: rtl8723bs: replace rtw_sctx_done with direct status call Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 32/61] staging: rtl8723bs: remove rtw_free_mlme_priv wrapper and rename helper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 33/61] staging: rtl8723bs: remove duplicate prototype of rtw_free_network_nolock Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 34/61] staging: rtl8723bs: replace rtw_get_beacon_interval_from_ie with define Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 35/61] staging: rtl8723bs: inline _rtw_free_network_nolock into wrapper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 36/61] staging: rtl8723bs: remove rtw_wmm_event_callback and update handler Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 37/61] staging: rtl8723bs: replace halbtc8723b1ant_SwMechanism with direct call Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 38/61] staging: rtl8723bs: remove redundant ternary operators from bool returns Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 39/61] staging: rtl8723bs: remove redundant DM wrapper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 40/61] staging: rtl8723bs: remove EXhalbtc8723b2ant_InitHwConfig Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 41/61] staging: rtl8723bs: remove EXhalbtc8723b1ant_InitHwConfig Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 42/61] staging: rtl8723bs: remove ConfigureTxpowerTrack wrapper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 43/61] staging: rtl8723bs: remove hal_init_macaddr wrapper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 44/61] staging: rtl8723bs: remove rtw_init_hal_com_default_value Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 45/61] staging: rtl8723bs: remove c2h_evt_clear wrapper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 46/61] staging: rtl8723bs: remove rtw_get_mgntframe_raid helper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 47/61] staging: rtl8723bs: clean up phy power conversion function Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 48/61] staging: rtl8723bs: remove PHY_TxPowerByRateConfiguration wrapper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 49/61] staging: rtl8723bs: remove phy_GetChannelIndexOfTxPowerLimit helper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 50/61] staging: rtl8723bs: inline SetHwReg8723BS into rtw_hal_set_hwreg Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 51/61] staging: rtl8723bs: inline GetHwReg8723BS into rtw_hal_get_hwreg Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 52/61] staging: rtl8723bs: inline SetHwRegWithBuf8723B into helper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 53/61] staging: rtl8723bs: inline GetHalDefVar8723BSDIO " Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 54/61] staging: rtl8723bs: inline SetHalODMVar into rtw_hal_set_odm_var Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 55/61] staging: rtl8723bs: inline CheckIPSStatus logic with defines Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 56/61] staging: rtl8723bs: inline rtl8723bs_hal_xmitframe_enqueue helper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 57/61] staging: rtl8723bs: inline rtl8723bs_hal_xmit into rtw_hal_xmit Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 58/61] staging: rtl8723bs: extend rtw_hal_mgnt_xmit functionality Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 59/61] staging: rtl8723bs: inline rtl8723bs_init_xmit_priv helper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 60/61] staging: rtl8723bs: inline recv private data freeing helper Arsenii Pashchenko
2026-07-15 12:48 ` [PATCH 61/61] staging: rtl8723bs: fix tx power limit lookup by using correct channel index Arsenii Pashchenko
2026-07-15 13:03 ` [PATCH 00/61] staging: rtl8723bs: monolithic HAL cleanup and tx power limit fix Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260715124829.90290-27-ulijg308@gmail.com \
--to=ulijg308@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox