This series replaces redundant custom wrapper functions (rtw_malloc(),
rtw_zmalloc(), rtw_skb_alloc(), etc.) with standard kernel APIs (kmalloc(),
kzalloc(), kmemdup(), skb_copy(), __dev_alloc_skb()).
The original wrappers relied on an internal in_interrupt() check to
select GFP flags. I have analyzed all call sites and replaced them with
explicit GFP_KERNEL or GFP_ATOMIC flags based on the context.
Changes in v5:
(suggested by Andy Shevchenko)
- Completely restructured the patch series.
- Use kmemdup() where applicable (replacing kmalloc + memcpy patterns).
- Used kzalloc() for allocations followed by manual zero-initialization.
- Used array_size() and size_add() for overflow-safe allocations.
- Updated error return codes from -1 to -ENOMEM where appropriate.
Changes in v4
(suggested by Andy Shevchenko)
- Use kmemdup() where applicable.
- Use array_size(), size_add() for overflow safe allocations.
- Use sizeof(*ptr) instead of sizeof(struct val) for
better maintainability.
Changes in v3
- I have analyzed each call site to apply the appropriate GFP flags
based on the execution context.
- Improved the logical separation of patches to maintain git bisect
- Removed redundant definitions and unused macros (e.g., rtw_skb_alloc_f)
in the final cleanup patch.
Minu Jin (5):
staging: rtl8723bs: introduce kmemdup() where applicable
staging: rtl8723bs: replace rtw_malloc() with kmalloc()
staging: rtl8723bs: replace rtw_zmalloc() with kzalloc()
staging: rtl8723bs: use standard skb allocation APIs
staging: rtl8723bs: remove unused allocation wrapper functions
drivers/staging/rtl8723bs/core/rtw_ap.c | 22 ++---
drivers/staging/rtl8723bs/core/rtw_cmd.c | 83 +++++++++----------
drivers/staging/rtl8723bs/core/rtw_mlme.c | 13 ++-
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 41 +++++----
drivers/staging/rtl8723bs/core/rtw_recv.c | 4 +-
drivers/staging/rtl8723bs/core/rtw_security.c | 3 +-
.../staging/rtl8723bs/core/rtw_wlan_util.c | 2 +-
drivers/staging/rtl8723bs/core/rtw_xmit.c | 8 +-
.../staging/rtl8723bs/hal/rtl8723b_hal_init.c | 4 +-
.../staging/rtl8723bs/hal/rtl8723bs_recv.c | 11 +--
drivers/staging/rtl8723bs/hal/sdio_ops.c | 28 +++----
.../staging/rtl8723bs/include/osdep_service.h | 11 ---
.../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 27 +++---
drivers/staging/rtl8723bs/os_dep/os_intfs.c | 2 +-
.../staging/rtl8723bs/os_dep/osdep_service.c | 40 +--------
drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 5 +-
16 files changed, 120 insertions(+), 184 deletions(-)
--
2.43.0