[PATCH v5 0/5] staging: rtl8723bs: replace custom wrappers with kernel APIs

Minu Jin posted 5 patches 3 days, 8 hours ago
There is a newer version of this series
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(-)
[PATCH v5 0/5] staging: rtl8723bs: replace custom wrappers with kernel APIs
Posted by Minu Jin 3 days, 8 hours ago
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