All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.