public inbox for linux-staging@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH v6 0/5] staging: rtl8723bs: replace custom wrappers with kernel APIs
@ 2026-02-04 13:13 Minu Jin
  2026-02-04 13:13 ` [PATCH v6 1/5] staging: rtl8723bs: introduce kmemdup() where applicable Minu Jin
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Minu Jin @ 2026-02-04 13:13 UTC (permalink / raw)
  To: gregkh, andy
  Cc: dan.carpenter, trohan2000, straube.linux, linux-staging,
	linux-kernel, Minu Jin

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.

About GFP Flags:
- GFP_ATOMIC is used for allocations in atomic contexts such as
  spinlock-protected sections, tasklets, and timer handlers.
- GFP_KERNEL is used for process contexts where sleeping is allowed.

I would like to thank Andy Shevchenko
for the continuous reviews and the time spent on my patches.

Changes in v6:
(suggested by Andy Shevchenko)
- Add standard for selecting the GFP flag in Cover-Letter
- Patch 1: Removed unnecessary curly braces in OnAssocReq() and comment
  about GFP Flag.
- Patch 3: Converted a remaining 'return -1' to '-ENOMEM' in
  cfg80211_rtw_add_key()
- Collected Reviewed-by tags from Andy Shevchenko for patches 2, 3, 4, and 5.

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 | 45 +++++-----
 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 | 29 +++----
 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, 123 insertions(+), 187 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-02-04 13:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-04 13:13 [PATCH v6 0/5] staging: rtl8723bs: replace custom wrappers with kernel APIs Minu Jin
2026-02-04 13:13 ` [PATCH v6 1/5] staging: rtl8723bs: introduce kmemdup() where applicable Minu Jin
2026-02-04 13:24   ` Andy Shevchenko
2026-02-04 13:13 ` [PATCH v6 2/5] staging: rtl8723bs: replace rtw_malloc() with kmalloc() Minu Jin
2026-02-04 13:20   ` Minu Jin
2026-02-04 13:30     ` Andy Shevchenko
2026-02-04 13:13 ` [PATCH v6 3/5] staging: rtl8723bs: replace rtw_zmalloc() with kzalloc() Minu Jin
2026-02-04 13:13 ` [PATCH v6 4/5] staging: rtl8723bs: use standard skb allocation APIs Minu Jin
2026-02-04 13:13 ` [PATCH v6 5/5] staging: rtl8723bs: remove unused allocation wrapper functions Minu Jin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox