[PATCH v4] staging: rtl8723bs: replace alloc+memcpy with kmemdup

Alexandru Hossu posted 1 patch 1 month, 1 week ago
There is a newer version of this series
drivers/staging/rtl8723bs/hal/sdio_ops.c          | 3 +--
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
[PATCH v4] staging: rtl8723bs: replace alloc+memcpy with kmemdup
Posted by Alexandru Hossu 1 month, 1 week ago
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
Re: [PATCH v4] staging: rtl8723bs: replace alloc+memcpy with kmemdup
Posted by Greg KH 1 month, 1 week ago
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 :(
[PATCH v6] staging: rtl8723bs: use kmemdup() in rtw_cfg80211_set_wpa_ie
Posted by Alexandru Hossu 1 month, 1 week ago
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
Re: [PATCH v6] staging: rtl8723bs: use kmemdup() in rtw_cfg80211_set_wpa_ie
Posted by Dan Carpenter 1 month, 1 week ago
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