drivers/staging/rtl8723bs/hal/sdio_ops.c | 3 +-- drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-)
Replace open-coded alloc+memcpy patterns with kmemdup().
This simplifies the code and avoids manual size/copy handling.
Signed-off-by: Alexandru Hossu <hossu.alexandru@gmail.com>
v4:
- Drop unrelated DT binding changes from earlier attempts.
- Include both rtl8723bs changes in one staging-only patch.
- Wrap long line reported by checkpatch.
---
drivers/staging/rtl8723bs/hal/sdio_ops.c | 3 +--
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl8723bs/hal/sdio_ops.c
index c9cb20c61..6e03d3d8a 100644
--- a/drivers/staging/rtl8723bs/hal/sdio_ops.c
+++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c
@@ -583,11 +583,10 @@ s32 sdio_local_write(
)
return sd_cmd52_write(intfhdl, addr, cnt, buf);
- tmpbuf = kmalloc(cnt, GFP_ATOMIC);
+ tmpbuf = kmemdup(buf, cnt, GFP_ATOMIC);
if (!tmpbuf)
return -ENOMEM;
- memcpy(tmpbuf, buf, cnt);
err = sd_write(intfhdl, addr, cnt, tmpbuf);
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
index 7cb0c6f22..0ae7b6389 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
@@ -1430,13 +1430,12 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel
goto exit;
}
- buf = kzalloc(ielen, GFP_KERNEL);
+ buf = kmemdup(pie, ielen, GFP_KERNEL);
if (!buf) {
ret = -ENOMEM;
goto exit;
}
- memcpy(buf, pie, ielen);
if (ielen < RSN_HEADER_LEN) {
ret = -1;
--
2.43.0
On Wed, Mar 04, 2026 at 02:59:14PM +0100, Alexandru Hossu wrote: > Replace open-coded alloc+memcpy patterns with kmemdup(). > > This simplifies the code and avoids manual size/copy handling. > > Signed-off-by: Alexandru Hossu <hossu.alexandru@gmail.com> > > v4: > - Drop unrelated DT binding changes from earlier attempts. > - Include both rtl8723bs changes in one staging-only patch. > - Wrap long line reported by checkpatch. > > --- > drivers/staging/rtl8723bs/hal/sdio_ops.c | 3 +-- > drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 3 +-- > 2 files changed, 2 insertions(+), 4 deletions(-) Please slow down and read the documentation that my bot pointed you at. The version information here is not done properly :(
Replace open-coded kzalloc()+memcpy() with kmemdup() to simplify the code.
Signed-off-by: Alexandru Hossu <hossu.alexandru@gmail.com>
---
v6:
- Rebase onto staging-next.
- Limit changes to ioctl_cfg80211.c since sdio_ops.c is already fixed there.
- Place version notes below the --- line (canonical patch format).
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
index 47cba32375d9..453ba1db773f 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
@@ -1430,14 +1430,12 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel
goto exit;
}
- buf = kzalloc(ielen, GFP_KERNEL);
+ buf = kmemdup(pie, ielen, GFP_KERNEL);
if (!buf) {
ret = -ENOMEM;
goto exit;
}
- memcpy(buf, pie, ielen);
-
if (ielen < RSN_HEADER_LEN) {
ret = -1;
goto exit;
--
2.43.0
On Thu, Mar 05, 2026 at 11:23:18AM +0100, Alexandru Hossu wrote: > Replace open-coded kzalloc()+memcpy() with kmemdup() to simplify the code. > > Signed-off-by: Alexandru Hossu <hossu.alexandru@gmail.com> > --- > v6: > - Rebase onto staging-next. > - Limit changes to ioctl_cfg80211.c since sdio_ops.c is already fixed there. > - Place version notes below the --- line (canonical patch format). > Thanks! Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org> regards, dan carpenter
© 2016 - 2026 Red Hat, Inc.