From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C34BF477E42 for ; Wed, 15 Jul 2026 12:50:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784119842; cv=none; b=ONx/5orZWAFGfuh84mPWjISLh8svt1DiWlRLQLQlIYg59dxPvp8sVvgPUFvgwbeu1T47gwe/lcjtoHNsdPYFHA71norB4pNg74/+gqLoe0cWtGewJO+oJXS6UBY9Vyr1dMmFG3r3d7rsFnzxk1B5wf6pvLajrB7fUsH46BhUF/A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784119842; c=relaxed/simple; bh=W1kfFFf1UUPfOfx0z2bPSwVddljx+aBrFAOom2o0kOc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Kju87noNr03I66TbIvcOAetX8z9gFCMkHK9F5U77PjNjomUCM6jftR6/RFFtqzWJCQ7HTPslV/VFnQl+4nANwKbLevGeZbRA9WwqO5HMehXMlHwvIM6qqXR7Rt+ads17pInNs26+MAfUgLgwwlTfwENdqxpUHdEbi1XSZ37KRlk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XyhQamXu; arc=none smtp.client-ip=209.85.167.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XyhQamXu" Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-5aeb5e85378so5765922e87.1 for ; Wed, 15 Jul 2026 05:50:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784119836; x=1784724636; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Om3ALfTPaVgmdWBb4RekgbtnCb4GzAeqiusNpd+QUcM=; b=XyhQamXuW8lqAqm8zWXnA6C0Mhg5aHdJIvCNSYwHM3ovPz/luf70/qkdYinirlmgoB rU857Bjx+/2mR3eCZVmuo3t2FKfnAsi7RWnuJpMQbcBGXKFDHhUdrHzGsd++ZV5qRr97 wTYzxB8VXptXKgU/xlFAvtJn5wTkDoNBwvZzB8i4VChJVIOUb8ibEzf3z9wrgw/JMVwb WmKmOHVkH8PloaygWHqPUKP6EyyuWRZ8eXPK0+zyG4YKTHXYC6qDSn4l4SCyAGoAgJr4 ljPESnPg+FqeL3rWt6uuG39ajU1K/DR5sZ+Nsvgag7fZy5ikzbKmJKixn9c7m4HGnlKf ZT0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784119836; x=1784724636; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Om3ALfTPaVgmdWBb4RekgbtnCb4GzAeqiusNpd+QUcM=; b=qGSh1t/UNTDOlvrewvTUcNCJ+JPxKY8lUeM9zrhHbD5PkeaZ8vy8RvMKxpncv638JF FhTs0BruiqVAuFfn1R7E6x8Syw9P6EPdPMURxTNTAmCXHXyAHLs0rzO9OBE73xXXzlc3 gnZDGrlNOk6o4UJnpetilQ24SUgZzeg33HTjt+j2SINDlN433ytL2vbFoNM/jFoUk/Vw HcPlF16gQfjS8WQy/SC2aRuZP36iB8gxCdQTZQBRySAh2C27N8wSGWmbAqeKyq6P0nVp 8N0JB+pIoWUbr3L1h/sfCGly5vmoBtZ43X/HFCD/yhXJ9RD2eZgaUBP3uPQl0pPotjjn 2dlg== X-Forwarded-Encrypted: i=1; AHgh+RpsXA5nHBZe2DECLHVludWJz967+nVyN3Dd/ZKQi31ePnE3J3GmUhIg3lVHoZc6nrAOmadK4ecVp1lTtNU=@vger.kernel.org X-Gm-Message-State: AOJu0Ywb+ww09yypEvQpo2eAWRCvbGjMMsvS4U9OPvdE8SQ4mZLf3H3M EkcXsq6d+c5i+ikovk4mBJTHzfHKsqtAFWpJdt68tAeQyotV+HRMrsEsFX3nQLLmWwo= X-Gm-Gg: AfdE7clHYpyCF3AWdQ65LfA1ymgTAzYwUA1Ax2zBkDCdog/mNbVA3ZOiC96PYbFBQ54 d58DQmowHT4CeYlbPnkLrVU1365l2ZZ5UaoX3t0Vfh9vKdmbG5Pp2znA/TBZc0P/BCqsfEk64nQ vLaKESpqEK/+xEvrHXeFv964U7PFIIxEM2uHhwwCJDyig/8vRKMI+EIx065aBPTIzTPRMuj9A3z Ir8QaNb4V0QB6zRV0JIeqaC6wfqXmEnSFWJSx9bK2+Va/HyrTN7ndRU5idGA43AQpBZBMWQqVdB QDtMiMaYLrS8++4JTINENl5YZtCTMZeZT3rHuNJzb8VPrBUrMB6s4jCnVYLKdDpF5xR7XmbutkP 2FdPPb2dls220xdz2s1TeHYfF9Vn2fSKG81iG2g44Ixnsq/7IlJV9KvwWO6KHHAlL2MMS+b9JhY Ig50/VgIwbhM8QX9W+ZEGD75Osj/le2x+Bp7nK7AMmlj4o+xtzeSNCdXhDC4XaIUHggNL2XL12E KaTiJvjbCKqKQ== X-Received: by 2002:a05:6512:3a8d:b0:5ae:d80f:c77c with SMTP id 2adb3069b0e04-5b159b8410bmr1494206e87.30.1784119835984; Wed, 15 Jul 2026 05:50:35 -0700 (PDT) Received: from archlinux ([94.180.44.28]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5b022fac999sm3404042e87.55.2026.07.15.05.50.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 05:50:35 -0700 (PDT) From: Arsenii Pashchenko To: Greg Kroah-Hartman 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 Message-ID: <20260715124829.90290-27-ulijg308@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260715124829.90290-1-ulijg308@gmail.com> References: <20260715124829.90290-1-ulijg308@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 --- 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