drivers/staging/rtl8723bs/os_dep/osdep_service.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
Replace kmalloc + memset with kzalloc for simpler and cleaner code.
Signed-off-by: Minu Jin <s9430939@naver.com>
---
drivers/staging/rtl8723bs/os_dep/osdep_service.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
index a00f9f0c85c5..be46132a533a 100644
--- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
@@ -24,12 +24,7 @@ void *_rtw_malloc(u32 sz)
void *_rtw_zmalloc(u32 sz)
{
- void *pbuf = _rtw_malloc(sz);
-
- if (pbuf)
- memset(pbuf, 0, sz);
-
- return pbuf;
+ return kzalloc(sz, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
}
inline struct sk_buff *_rtw_skb_alloc(u32 sz)
--
2.43.0
On Tue, Jan 20, 2026 at 02:40:36PM +0900, Minu Jin wrote:
> Replace kmalloc + memset with kzalloc for simpler and cleaner code.
>
> Signed-off-by: Minu Jin <s9430939@naver.com>
> ---
> drivers/staging/rtl8723bs/os_dep/osdep_service.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
> index a00f9f0c85c5..be46132a533a 100644
> --- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c
> +++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
> @@ -24,12 +24,7 @@ void *_rtw_malloc(u32 sz)
>
> void *_rtw_zmalloc(u32 sz)
> {
> - void *pbuf = _rtw_malloc(sz);
> -
> - if (pbuf)
> - memset(pbuf, 0, sz);
> -
> - return pbuf;
> + return kzalloc(sz, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
This in_interrupt() is garbage. We should use GFP_ATOMIC if we
are in an interrupt handler or if holding a spinlock. The right
thing to do is review all the callers and figure out whether
GFP_ATOMIC or GFP_KERNEL is appropriate.
regards,
dan carpenter
On Tue, Jan 20, 2026 at 02:40:36PM +0900, Minu Jin wrote:
> Replace kmalloc + memset with kzalloc for simpler and cleaner code.
>
> Signed-off-by: Minu Jin <s9430939@naver.com>
> ---
> drivers/staging/rtl8723bs/os_dep/osdep_service.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
> index a00f9f0c85c5..be46132a533a 100644
> --- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c
> +++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
> @@ -24,12 +24,7 @@ void *_rtw_malloc(u32 sz)
>
> void *_rtw_zmalloc(u32 sz)
> {
> - void *pbuf = _rtw_malloc(sz);
> -
> - if (pbuf)
> - memset(pbuf, 0, sz);
> -
> - return pbuf;
> + return kzalloc(sz, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
So there is now no more calles to _rtw_malloc(), so why is it left in
here? Oh wait, it's a wrapper for nothing? Odd.
And the in_interrupt() check really doesn't work, that shouldn't be
used.
And finally, try to just replace the callers with the real call to
kzalloc, don't propagate this mess any more, the wrapper needs to be
removed entirely.
Same for probably all functions in this file, right?
thanks,
greg k-h
© 2016 - 2026 Red Hat, Inc.