From: Minu Jin <s9430939@naver.com>
To: gregkh@linuxfoundation.org
Cc: andy@kernel.org, dan.carpenter@linaro.org, trohan2000@gmail.com,
straube.linux@gmail.com, linux-staging@lists.linux.dev,
linux-kernel@vger.kernel.org, Minu Jin <s9430939@naver.com>
Subject: [PATCH v5 1/5] staging: rtl8723bs: introduce kmemdup() where applicable
Date: Wed, 4 Feb 2026 15:44:50 +0900 [thread overview]
Message-ID: <20260204064455.1379342-2-s9430939@naver.com> (raw)
In-Reply-To: <20260204064455.1379342-1-s9430939@naver.com>
Replace memory allocation followed by memcpy() with kmemdup() to simplify
the code and improve readability.
Signed-off-by: Minu Jin <s9430939@naver.com>
---
drivers/staging/rtl8723bs/core/rtw_ap.c | 14 ++++----------
drivers/staging/rtl8723bs/core/rtw_mlme.c | 3 +--
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 3 +--
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c | 4 +---
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 3 +--
drivers/staging/rtl8723bs/os_dep/osdep_service.c | 6 ++----
6 files changed, 10 insertions(+), 23 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c
index 477fe238add4..94f0e439abae 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ap.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ap.c
@@ -114,11 +114,8 @@ static void update_BCNTIM(struct adapter *padapter)
dst_ie = pie + offset;
}
- if (remainder_ielen > 0) {
- pbackup_remainder_ie = rtw_malloc(remainder_ielen);
- if (pbackup_remainder_ie && premainder_ie)
- memcpy(pbackup_remainder_ie, premainder_ie, remainder_ielen);
- }
+ if (premainder_ie && remainder_ielen)
+ pbackup_remainder_ie = kmemdup(premainder_ie, remainder_ielen, GFP_ATOMIC);
*dst_ie++ = WLAN_EID_TIM;
@@ -1440,11 +1437,8 @@ static void update_bcn_wps_ie(struct adapter *padapter)
remainder_ielen = ielen - wps_offset - wps_ielen;
- if (remainder_ielen > 0) {
- pbackup_remainder_ie = rtw_malloc(remainder_ielen);
- if (pbackup_remainder_ie)
- memcpy(pbackup_remainder_ie, premainder_ie, remainder_ielen);
- }
+ if (premainder_ie && remainder_ielen)
+ pbackup_remainder_ie = kmemdup(premainder_ie, remainder_ielen, GFP_ATOMIC);
wps_ielen = (uint)pwps_ie_src[1];/* to get ie data len */
if ((wps_offset + wps_ielen + 2 + remainder_ielen) <= MAX_IE_SZ) {
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c
index 8e1e1c97f0c4..2bbf2b17e3ba 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c
@@ -1337,10 +1337,9 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
/* report to upper layer */
spin_lock_bh(&psta->lock);
if (psta->passoc_req && psta->assoc_req_len > 0) {
- passoc_req = rtw_zmalloc(psta->assoc_req_len);
+ passoc_req = kmemdup(psta->passoc_req, psta->assoc_req_len, GFP_ATOMIC);
if (passoc_req) {
assoc_req_len = psta->assoc_req_len;
- memcpy(passoc_req, psta->passoc_req, assoc_req_len);
kfree(psta->passoc_req);
psta->passoc_req = NULL;
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
index 884fcce50d9c..fb16febec151 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
@@ -1333,9 +1333,8 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
spin_lock_bh(&pstat->lock);
kfree(pstat->passoc_req);
pstat->assoc_req_len = 0;
- pstat->passoc_req = rtw_zmalloc(pkt_len);
+ pstat->passoc_req = kmemdup(pframe, pkt_len, GFP_ATOMIC);
if (pstat->passoc_req) {
- memcpy(pstat->passoc_req, pframe, pkt_len);
pstat->assoc_req_len = pkt_len;
}
spin_unlock_bh(&pstat->lock);
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
index 399edfbf8ec6..0980fa4718b1 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
@@ -159,12 +159,10 @@ static void rtl8723bs_c2h_packet_handler(struct adapter *padapter,
if (length == 0)
return;
- tmp = rtw_zmalloc(length);
+ tmp = kmemdup(pbuf, length, GFP_ATOMIC);
if (!tmp)
return;
- memcpy(tmp, pbuf, length);
-
res = rtw_c2h_packet_wk_cmd(padapter, tmp, length);
if (!res)
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
index 476ab055e53e..3cc3faba8ce2 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
@@ -1163,11 +1163,10 @@ static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *b
pmlmepriv->wps_probe_req_ie = NULL;
}
- pmlmepriv->wps_probe_req_ie = rtw_malloc(wps_ielen);
+ pmlmepriv->wps_probe_req_ie = kmemdup(wps_ie, wps_ielen, GFP_KERNEL);
if (!pmlmepriv->wps_probe_req_ie)
return -EINVAL;
- memcpy(pmlmepriv->wps_probe_req_ie, wps_ie, wps_ielen);
pmlmepriv->wps_probe_req_ie_len = wps_ielen;
}
}
diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
index 01ca423faf87..c999071cadde 100644
--- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
@@ -129,11 +129,9 @@ void rtw_buf_update(u8 **buf, u32 *buf_len, u8 *src, u32 src_len)
goto keep_ori;
/* duplicate src */
- dup = rtw_malloc(src_len);
- if (dup) {
+ dup = kmemdup(src, src_len, GFP_ATOMIC);
+ if (dup)
dup_len = src_len;
- memcpy(dup, src, dup_len);
- }
keep_ori:
ori = *buf;
--
2.43.0
next prev parent reply other threads:[~2026-02-04 6:55 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-04 6:44 [PATCH v5 0/5] staging: rtl8723bs: replace custom wrappers with kernel APIs Minu Jin
2026-02-04 6:44 ` Minu Jin [this message]
2026-02-04 10:16 ` [PATCH v5 1/5] staging: rtl8723bs: introduce kmemdup() where applicable Andy Shevchenko
2026-02-04 6:44 ` [PATCH v5 2/5] staging: rtl8723bs: replace rtw_malloc() with kmalloc() Minu Jin
2026-02-04 10:21 ` Andy Shevchenko
2026-02-04 6:44 ` [PATCH v5 3/5] staging: rtl8723bs: replace rtw_zmalloc() with kzalloc() Minu Jin
2026-02-04 10:27 ` Andy Shevchenko
2026-02-04 6:44 ` [PATCH v5 4/5] staging: rtl8723bs: use standard skb allocation APIs Minu Jin
2026-02-04 10:28 ` Andy Shevchenko
2026-02-04 6:44 ` [PATCH v5 5/5] staging: rtl8723bs: remove unused allocation wrapper functions Minu Jin
2026-02-04 10:29 ` Andy Shevchenko
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=20260204064455.1379342-2-s9430939@naver.com \
--to=s9430939@naver.com \
--cc=andy@kernel.org \
--cc=dan.carpenter@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=straube.linux@gmail.com \
--cc=trohan2000@gmail.com \
/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
all inboxes | Powered by JetHome®