From nobody Sun Feb 8 18:30:52 2026 Received: from cvsmtppost12.nm.naver.com (cvsmtppost12.nm.naver.com [114.111.35.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 77603189F30 for ; Sat, 31 Jan 2026 19:30:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.111.35.232 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769887819; cv=none; b=LUKj5L+6yS33Sn2EJHcAT5NZbDXyL///x9sSWVJeIK13gvlVNH0QqWVrtoZe0uHB2AZzZrV4KRmhCezkLIbygYRXg4jcMFUkY8it06LTH8RJM8nYcTZvyc7kAsbmoI44MpJ7qgUobFyiUqZ9jlEM5UrKXcXmC6n3tkXbxuQ6JHA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769887819; c=relaxed/simple; bh=LEXeYcwQ6R6n0PDgeqbYfUcDECMlGQhF5l0t5sapTmQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=G15IB7Kp5i9uCGzxbPhfROyH6sne0eUR9vD/lrAo9flE6PUTaOgsMMJ8fMFltT9jQ4p+vfUB8K0rJJ7UkLCC74LWxgbiBKedry/4n6FL5eek7Q/94sZY3mUbMRRzMyeq7hspBl4UZeUjhUz5QV6BdgB/+30in8P49CQ2x1eGy0U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naver.com; spf=pass smtp.mailfrom=naver.com; dkim=pass (2048-bit key) header.d=naver.com header.i=@naver.com header.b=EbZ51MV0; arc=none smtp.client-ip=114.111.35.232 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naver.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=naver.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=naver.com header.i=@naver.com header.b="EbZ51MV0" Received: from cvsendbo022.nm ([10.112.20.47]) by cvsmtppost12.nm.naver.com with ESMTP id aj2S3D+LRpSeE1FJrnIguQ for ; Sat, 31 Jan 2026 19:30:09 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=naver.com; s=s20171208; t=1769887809; bh=LEXeYcwQ6R6n0PDgeqbYfUcDECMlGQhF5l0t5sapTmQ=; h=From:To:Subject:Date:Message-ID:From:Subject:Feedback-ID: X-Works-Security; b=EbZ51MV0lJs25f107+eoYiJ9k8hbokEqktwcpR46QYFEH1PnngyQCTAy7nmcNkmSG AM2Dt6BZqwIkaZ90pPodSI1BHTEJvNQ3HZWrdPpjxzbTvlGls14N0vx3tybIUB6l51 PnzJDQ6RR3fza9HulIjx0b0vw9wEaD0sOvq+AdDRy5Eeau12rd6cwk64plHb8XnF24 xZFnKgjlkQNqGwfVGoKw0IPce35xCr3Zu1pyMW8h45A+m7U6r5UDAahWTqGo4Sb4z4 gd3iOEflohQ/KaO9X6Ar3ovE00u8TsyJ/yCZHIBho5uMo2rpyXfSIu11qY8t3YZR2T gKLI/h6e0Jl+Q== X-Session-ID: nwPvzEAjSDmjJARsqQe+Tg X-Works-Send-Opt: p/Y/jAJYjHmwKo2qKqJYFquqFNwkx0eFjAJYKg== X-Works-Smtp-Source: uqb9aAvrFqJZ+Hm/KAt9+6E= Received: from JMW-Ubuntu.. ([14.38.141.199]) by cvnsmtp011.nm.naver.com with ESMTP id nwPvzEAjSDmjJARsqQe+Tg for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Sat, 31 Jan 2026 19:30:08 -0000 From: Minu Jin To: gregkh@linuxfoundation.org Cc: dan.carpenter@linaro.org, trohan2000@gmail.com, andy@kernel.org, linux-staging@lists.linux.dev, straube.linux@gmail.com, linux-kernel@vger.kernel.org, Minu Jin , Andy Shevchenko Subject: [PATCH v4 1/4] staging: rtl8723bs: replace rtw_malloc() with kmalloc() Date: Sun, 1 Feb 2026 04:29:58 +0900 Message-ID: <20260131193001.303307-2-s9430939@naver.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260131193001.303307-1-s9430939@naver.com> References: <20260131193001.303307-1-s9430939@naver.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Remove wrapper function _rtw_malloc() and macro rtw_malloc(). Replace all rtw_malloc with kmalloc. All call sites are reviewed to select GFP_KERNEL or GFP_ATOMIC. 1. GFP_KERNEL: Used in paths that are executed in process context and are allowed to sl= eep. - Driver initialization and probe paths. - Workqueue callbacks and cfg80211 configuration callbacks. 2. GFP_ATOMIC: Used in paths that must not sleep because they operate in atomic contex= ts. - Interrupt handlers and SoftIRQ contexts. - Functions called while holding spinlocks. - Low-level I/O operations (SDIO) (eg, sdio_read32()) Replace kmalloc()/memcpy() with kmemdup() where possible. Replace sizeof(struct val) with sizeof(*ptr). Remove blank line after kmalloc(). Suggested-by: Andy Shevchenko Signed-off-by: Minu Jin --- drivers/staging/rtl8723bs/core/rtw_ap.c | 12 ++++-------- drivers/staging/rtl8723bs/core/rtw_cmd.c | 2 +- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 2 +- drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c | 4 ++-- drivers/staging/rtl8723bs/hal/sdio_ops.c | 14 +++++++------- drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 7 +++---- drivers/staging/rtl8723bs/os_dep/osdep_service.c | 8 +++----- 7 files changed, 21 insertions(+), 28 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8= 723bs/core/rtw_ap.c index 3ff5daf1e5aa..bfe520a7c549 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -114,10 +114,8 @@ static void update_BCNTIM(struct adapter *padapter) dst_ie =3D pie + offset; } =20 - if (remainder_ielen > 0) { - pbackup_remainder_ie =3D rtw_malloc(remainder_ielen); - if (pbackup_remainder_ie && premainder_ie) - memcpy(pbackup_remainder_ie, premainder_ie, remainder_ielen); + if (remainder_ielen > 0 && premainder_ie) { + pbackup_remainder_ie =3D kmemdup(premainder_ie, remainder_ielen, GFP_ATO= MIC); } =20 *dst_ie++ =3D WLAN_EID_TIM; @@ -1440,10 +1438,8 @@ static void update_bcn_wps_ie(struct adapter *padapt= er) =20 remainder_ielen =3D ielen - wps_offset - wps_ielen; =20 - if (remainder_ielen > 0) { - pbackup_remainder_ie =3D rtw_malloc(remainder_ielen); - if (pbackup_remainder_ie) - memcpy(pbackup_remainder_ie, premainder_ie, remainder_ielen); + if (remainder_ielen > 0 && premainder_ie) { + pbackup_remainder_ie =3D kmemdup(premainder_ie, remainder_ielen, GFP_ATO= MIC); } =20 wps_ielen =3D (uint)pwps_ie_src[1];/* to get ie data len */ diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl= 8723bs/core/rtw_cmd.c index f80476946622..0cafa5326129 100644 --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c @@ -1695,7 +1695,7 @@ static void c2h_wk_callback(struct work_struct *work) /* This C2H event is read, clear it */ c2h_evt_clear(adapter); } else { - c2h_evt =3D rtw_malloc(16); + c2h_evt =3D kmalloc(16, GFP_KERNEL); if (c2h_evt) { /* This C2H event is not read, read & clear now */ if (c2h_evt_read_88xx(adapter, c2h_evt) !=3D _SUCCESS) { diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/stagin= g/rtl8723bs/core/rtw_mlme_ext.c index fa1e3ad59254..04542219752c 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -589,7 +589,7 @@ unsigned int OnBeacon(struct adapter *padapter, union r= ecv_frame *precv_frame) if (!memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network), ETH_A= LEN)) { if (pmlmeinfo->state & WIFI_FW_AUTH_NULL) { /* we should update current network before auth, or some IE is wrong */ - pbss =3D rtw_malloc(sizeof(struct wlan_bssid_ex)); + pbss =3D kmalloc(sizeof(*pbss), GFP_ATOMIC); if (pbss) { if (collect_bss_info(padapter, precv_frame, pbss) =3D=3D _SUCCESS) { update_network(&(pmlmepriv->cur_network.network), pbss, padapter, tru= e); diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/st= aging/rtl8723bs/hal/rtl8723b_hal_init.c index 054e2c2eab02..144094eeec30 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c @@ -642,7 +642,7 @@ static void hal_ReadEFuse_WiFi( if ((_offset + _size_byte) > EFUSE_MAX_MAP_LEN) return; =20 - efuseTbl =3D rtw_malloc(EFUSE_MAX_MAP_LEN); + efuseTbl =3D kmalloc(EFUSE_MAX_MAP_LEN, GFP_ATOMIC); if (!efuseTbl) return; =20 @@ -730,7 +730,7 @@ static void hal_ReadEFuse_BT( if ((_offset + _size_byte) > EFUSE_BT_MAP_LEN) return; =20 - efuseTbl =3D rtw_malloc(EFUSE_BT_MAP_LEN); + efuseTbl =3D kmalloc(EFUSE_BT_MAP_LEN, GFP_ATOMIC); if (!efuseTbl) return; =20 diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl= 8723bs/hal/sdio_ops.c index 454f2fabc116..7d211464cb2f 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_ops.c +++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c @@ -181,7 +181,7 @@ static u32 sdio_read32(struct intf_hdl *intfhdl, u32 ad= dr) } else { u8 *tmpbuf; =20 - tmpbuf =3D rtw_malloc(8); + tmpbuf =3D kmalloc(8, GFP_ATOMIC); if (!tmpbuf) return SDIO_ERR_VAL32; =20 @@ -228,7 +228,7 @@ static s32 sdio_readN(struct intf_hdl *intfhdl, u32 add= r, u32 cnt, u8 *buf) =20 ftaddr &=3D ~(u16)0x3; n =3D cnt + shift; - tmpbuf =3D rtw_malloc(n); + tmpbuf =3D kmalloc(n, GFP_ATOMIC); if (!tmpbuf) return -1; =20 @@ -331,7 +331,7 @@ static s32 sdio_writeN(struct intf_hdl *intfhdl, u32 ad= dr, u32 cnt, u8 *buf) =20 ftaddr &=3D ~(u16)0x3; n =3D cnt + shift; - tmpbuf =3D rtw_malloc(n); + tmpbuf =3D kmalloc(n, GFP_ATOMIC); if (!tmpbuf) return -1; err =3D sd_read(intfhdl, ftaddr, 4, tmpbuf); @@ -503,7 +503,7 @@ static s32 _sdio_local_read( return _sd_cmd52_read(intfhdl, addr, cnt, buf); =20 n =3D round_up(cnt, 4); - tmpbuf =3D rtw_malloc(n); + tmpbuf =3D kmalloc(n, GFP_ATOMIC); if (!tmpbuf) return -1; =20 @@ -544,7 +544,7 @@ s32 sdio_local_read( return sd_cmd52_read(intfhdl, addr, cnt, buf); =20 n =3D round_up(cnt, 4); - tmpbuf =3D rtw_malloc(n); + tmpbuf =3D kmalloc(n, GFP_ATOMIC); if (!tmpbuf) return -1; =20 @@ -583,7 +583,7 @@ s32 sdio_local_write( ) return sd_cmd52_write(intfhdl, addr, cnt, buf); =20 - tmpbuf =3D rtw_malloc(cnt); + tmpbuf =3D kmalloc(cnt, GFP_ATOMIC); if (!tmpbuf) return -1; =20 @@ -883,7 +883,7 @@ void sd_int_dpc(struct adapter *adapter) u8 *status; u32 addr; =20 - status =3D rtw_malloc(4); + status =3D kmalloc(4, GFP_ATOMIC); if (status) { addr =3D REG_TXDMA_STATUS; hal_sdio_get_cmd_addr_8723b(adapter, WLAN_IOREG_DEVICE_ID, addr, &addr); diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/st= aging/rtl8723bs/os_dep/ioctl_cfg80211.c index 476ab055e53e..b4bc6c345fbe 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -841,7 +841,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, st= ruct net_device *ndev, struct mlme_priv *pmlmepriv =3D &padapter->mlmepriv; =20 param_len =3D sizeof(struct ieee_param) + params->key_len; - param =3D rtw_malloc(param_len); + param =3D kmalloc(param_len, GFP_KERNEL); if (!param) return -1; =20 @@ -1163,11 +1163,10 @@ static int rtw_cfg80211_set_probe_req_wpsp2pie(stru= ct adapter *padapter, char *b pmlmepriv->wps_probe_req_ie =3D NULL; } =20 - pmlmepriv->wps_probe_req_ie =3D rtw_malloc(wps_ielen); + pmlmepriv->wps_probe_req_ie =3D kmemdup(wps_ie, wps_ielen, GFP_KERNEL); if (!pmlmepriv->wps_probe_req_ie) return -EINVAL; =20 - memcpy(pmlmepriv->wps_probe_req_ie, wps_ie, wps_ielen); pmlmepriv->wps_probe_req_ie_len =3D wps_ielen; } } @@ -1715,7 +1714,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, = struct net_device *ndev, wep_key_len =3D wep_key_len <=3D 5 ? 5 : 13; wep_total_len =3D wep_key_len + offsetof(struct ndis_802_11_wep, key_material); - pwep =3D rtw_malloc(wep_total_len); + pwep =3D kmalloc(wep_total_len, GFP_KERNEL); if (!pwep) { ret =3D -ENOMEM; goto exit; diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/sta= ging/rtl8723bs/os_dep/osdep_service.c index 01ca423faf87..770d7c1b41b0 100644 --- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c +++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c @@ -21,8 +21,7 @@ void *_rtw_malloc(u32 sz) =20 void *_rtw_zmalloc(u32 sz) { - void *pbuf =3D _rtw_malloc(sz); - + void *pbuf =3D kmalloc(sz, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); if (pbuf) memset(pbuf, 0, sz); =20 @@ -129,7 +128,7 @@ void rtw_buf_update(u8 **buf, u32 *buf_len, u8 *src, u3= 2 src_len) goto keep_ori; =20 /* duplicate src */ - dup =3D rtw_malloc(src_len); + dup =3D kmalloc(src_len, GFP_ATOMIC); if (dup) { dup_len =3D src_len; memcpy(dup, src, dup_len); @@ -220,8 +219,7 @@ struct rtw_cbuf *rtw_cbuf_alloc(u32 size) { struct rtw_cbuf *cbuf; =20 - cbuf =3D rtw_malloc(struct_size(cbuf, bufs, size)); - + cbuf =3D kmalloc(struct_size(cbuf, bufs, size), GFP_ATOMIC); if (cbuf) { cbuf->write =3D 0; cbuf->read =3D 0; --=20 2.43.0 From nobody Sun Feb 8 18:30:52 2026 Received: from cvsmtppost07.nm.naver.com (cvsmtppost07.nm.naver.com [114.111.35.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B2A45366DB9 for ; Sat, 31 Jan 2026 19:40:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.111.35.153 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769888422; cv=none; b=hGjZDsPb/fFBbTyIMvRY5sLt++hVjQf2TFv2T9bVMJ7ZyYkLEpu7b8woVVj/k7jkn5BdraNMJz/B329HCEhOQI8yKDwFp5sqCOaXeiDdN2tdhqmXe8b8NUmugQYej9TgmKSyvdvt2ZMi1IISTscYios4KaRTaKKUMOM0e6cElkY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769888422; c=relaxed/simple; bh=hyY6QEhoifjwb3q3O/Vuz/Hf4gsKB1UUAMlMzFzpYVA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Xe8rF+WHR+BdDPk9m9HYhX1G7fsROtzgwy1DuJIdUtunAwE4UU/2oAoHUB4e1KyVCWGbR0yttzH0BYRdhBhOKnEB4ikcvGrntmCJ2VeYTUCMlMtSNf5vJbeqTDu9j0ssmamKqU+dbzJ9Y7jt/74SFxS5WNbsz71xR94P//ko/So= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naver.com; spf=pass smtp.mailfrom=naver.com; dkim=pass (2048-bit key) header.d=naver.com header.i=@naver.com header.b=v91wqgGw; arc=none smtp.client-ip=114.111.35.153 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naver.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=naver.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=naver.com header.i=@naver.com header.b="v91wqgGw" Received: from cvsendbo027.nm ([10.112.22.36]) by cvsmtppost07.nm.naver.com with ESMTP id LyGZ1DQHQkO4fmf0gdGIug for ; Sat, 31 Jan 2026 19:30:10 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=naver.com; s=s20171208; t=1769887810; bh=hyY6QEhoifjwb3q3O/Vuz/Hf4gsKB1UUAMlMzFzpYVA=; h=From:To:Subject:Date:Message-ID:From:Subject:Feedback-ID: X-Works-Security; b=v91wqgGw4fwWEHbxo9r3ycU4I+q2UaNZujBDP2xPaEEAewA+h61VvoRi6eRdVyppj 0Gsy5pQwm1D6YOldO2OikJGH+hUI2Hbhk2DRmcb9qgs1W3FwLlCGCVMsOlrZWnsPIu L6wOHRLXCWtQOHx3DSTo74ZZm0HRwQ6MuZ/jHa+aNdvJADFPV4b3+bBl/frHLfJ9ei XzCyUb10ZbJ8ByIcb+0BE5oUvk+01b9aLzuZJYhQWo065RxryF5ReVkVCDkORgQhJa SByMqe0VZQO0SqcigBHxNLG8IwSiMXZ0+2K0ox5abtJXKTHcwAlpR+hSFZy2/5szbn DmYecvTyEacTw== X-Session-ID: 61RM0PXeSkOq4Tth+kiO1A X-Works-Send-Opt: p/Y/jAJYjHmwKo2qKqJYFquqFNwkx0eFjAJYKg== X-Works-Smtp-Source: uwn9aAvrFqJZ+HmmKxt9+6E= Received: from JMW-Ubuntu.. ([14.38.141.199]) by cvnsmtp011.nm.naver.com with ESMTP id 61RM0PXeSkOq4Tth+kiO1A for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Sat, 31 Jan 2026 19:30:10 -0000 From: Minu Jin To: gregkh@linuxfoundation.org Cc: dan.carpenter@linaro.org, trohan2000@gmail.com, andy@kernel.org, linux-staging@lists.linux.dev, straube.linux@gmail.com, linux-kernel@vger.kernel.org, Minu Jin , Andy Shevchenko Subject: [PATCH v4 2/4] staging: rtl8723bs: replace rtw_zmalloc() with kzalloc() Date: Sun, 1 Feb 2026 04:29:59 +0900 Message-ID: <20260131193001.303307-3-s9430939@naver.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260131193001.303307-1-s9430939@naver.com> References: <20260131193001.303307-1-s9430939@naver.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" replaces the wrapper function rtw_zmalloc() with kzalloc(). I reviewed all the call sites to determine the appropriate GFP flags: - GFP_KERNEL: Used for initialization and configuration paths. init/probe, config/setup - GFP_ATOMIC: Used for critical real-time paths. including interrupts, timer handler, region where spinlocks are held Replace sizeof(struct val) with sizeof(*ptr). Use kmemdup() where possible. Remove blank line after kzalloc(). Use array_size() and size_add(). Suggested-by: Andy Shevchenko Signed-off-by: Minu Jin --- drivers/staging/rtl8723bs/core/rtw_ap.c | 8 +- drivers/staging/rtl8723bs/core/rtw_cmd.c | 81 +++++++++---------- drivers/staging/rtl8723bs/core/rtw_mlme.c | 12 +-- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 39 +++++---- drivers/staging/rtl8723bs/core/rtw_recv.c | 2 +- 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/rtl8723bs_recv.c | 4 +- drivers/staging/rtl8723bs/hal/sdio_ops.c | 2 +- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 16 ++-- drivers/staging/rtl8723bs/os_dep/os_intfs.c | 2 +- drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 2 +- 13 files changed, 88 insertions(+), 93 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8= 723bs/core/rtw_ap.c index bfe520a7c549..6f465dffb105 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -1228,13 +1228,13 @@ u8 rtw_ap_set_pairwise_key(struct adapter *padapter= , struct sta_info *psta) struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_KERNEL); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - psetstakey_para =3D rtw_zmalloc(sizeof(struct set_stakey_parm)); + psetstakey_para =3D kzalloc(sizeof(*psetstakey_para), GFP_KERNEL); if (!psetstakey_para) { kfree(ph2c); res =3D _FAIL; @@ -1268,12 +1268,12 @@ static int rtw_ap_set_key(struct adapter *padapter, struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; int res =3D _SUCCESS; =20 - pcmd =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd =3D kzalloc(sizeof(*pcmd), GFP_KERNEL); if (!pcmd) { res =3D _FAIL; goto exit; } - psetkeyparm =3D rtw_zmalloc(sizeof(struct setkey_parm)); + psetkeyparm =3D kzalloc(sizeof(*psetkeyparm), GFP_KERNEL); if (!psetkeyparm) { kfree(pcmd); res =3D _FAIL; diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl= 8723bs/core/rtw_cmd.c index 0cafa5326129..d0315d08a35b 100644 --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c @@ -171,15 +171,13 @@ int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv) =20 pcmdpriv->cmd_seq =3D 1; =20 - pcmdpriv->cmd_allocated_buf =3D rtw_zmalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ); - + pcmdpriv->cmd_allocated_buf =3D kzalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ, GFP= _ATOMIC); if (!pcmdpriv->cmd_allocated_buf) return -ENOMEM; =20 pcmdpriv->cmd_buf =3D PTR_ALIGN(pcmdpriv->cmd_allocated_buf, CMDBUFF_ALIG= N_SZ); =20 - pcmdpriv->rsp_allocated_buf =3D rtw_zmalloc(MAX_RSPSZ + 4); - + pcmdpriv->rsp_allocated_buf =3D kzalloc(MAX_RSPSZ + 4, GFP_ATOMIC); if (!pcmdpriv->rsp_allocated_buf) { kfree(pcmdpriv->cmd_allocated_buf); return -ENOMEM; @@ -535,11 +533,11 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, stru= ct ndis_802_11_ssid *ssid, if (check_fwstate(pmlmepriv, _FW_LINKED)) rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_SCAN, 1); =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) return _FAIL; =20 - psurveyPara =3D rtw_zmalloc(sizeof(struct sitesurvey_parm)); + psurveyPara =3D kzalloc(sizeof(*psurveyPara), GFP_ATOMIC); if (!psurveyPara) { kfree(ph2c); return _FAIL; @@ -603,7 +601,7 @@ u8 rtw_createbss_cmd(struct adapter *padapter) struct wlan_bssid_ex *pdev_network =3D &padapter->registrypriv.dev_networ= k; u8 res =3D _SUCCESS; =20 - pcmd =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd =3D kzalloc(sizeof(*pcmd), GFP_ATOMIC); if (!pcmd) { res =3D _FAIL; goto exit; @@ -636,7 +634,7 @@ int rtw_startbss_cmd(struct adapter *padapter, int fla= gs) start_bss_network(padapter); } else { /* need enqueue, prepare cmd_obj and enqueue */ - pcmd =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd =3D kzalloc(sizeof(*pcmd), GFP_KERNEL); if (!pcmd) { res =3D _FAIL; goto exit; @@ -688,7 +686,7 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wl= an_network *pnetwork) u32 tmp_len; u8 *ptmp =3D NULL; =20 - pcmd =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd =3D kzalloc(sizeof(*pcmd), GFP_ATOMIC); if (!pcmd) { res =3D _FAIL; goto exit; @@ -797,7 +795,7 @@ u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deaut= h_timeout_ms, bool enqueu u8 res =3D _SUCCESS; =20 /* prepare cmd parameter */ - param =3D rtw_zmalloc(sizeof(*param)); + param =3D kzalloc(sizeof(*param), GFP_KERNEL); if (!param) { res =3D _FAIL; goto exit; @@ -806,7 +804,7 @@ u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deaut= h_timeout_ms, bool enqueu =20 if (enqueue) { /* need enqueue, prepare cmd_obj and enqueue */ - cmdobj =3D rtw_zmalloc(sizeof(*cmdobj)); + cmdobj =3D kzalloc(sizeof(*cmdobj), GFP_KERNEL); if (!cmdobj) { res =3D _FAIL; kfree(param); @@ -833,8 +831,7 @@ u8 rtw_setopmode_cmd(struct adapter *padapter, enum nd= is_802_11_network_infrast struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - psetop =3D rtw_zmalloc(sizeof(struct setopmode_parm)); - + psetop =3D kzalloc(sizeof(*psetop), GFP_KERNEL); if (!psetop) { res =3D _FAIL; goto exit; @@ -842,7 +839,7 @@ u8 rtw_setopmode_cmd(struct adapter *padapter, enum nd= is_802_11_network_infrast psetop->mode =3D (u8)networktype; =20 if (enqueue) { - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_KERNEL); if (!ph2c) { kfree(psetop); res =3D _FAIL; @@ -869,7 +866,7 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct s= ta_info *sta, u8 unicast_ struct security_priv *psecuritypriv =3D &padapter->securitypriv; u8 res =3D _SUCCESS; =20 - psetstakey_para =3D rtw_zmalloc(sizeof(struct set_stakey_parm)); + psetstakey_para =3D kzalloc(sizeof(*psetstakey_para), GFP_KERNEL); if (!psetstakey_para) { res =3D _FAIL; goto exit; @@ -891,14 +888,14 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct= sta_info *sta, u8 unicast_ padapter->securitypriv.busetkipkey =3D true; =20 if (enqueue) { - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_KERNEL); if (!ph2c) { kfree(psetstakey_para); res =3D _FAIL; goto exit; } =20 - psetstakey_rsp =3D rtw_zmalloc(sizeof(struct set_stakey_rsp)); + psetstakey_rsp =3D kzalloc(sizeof(*psetstakey_rsp), GFP_KERNEL); if (!psetstakey_rsp) { kfree(ph2c); kfree(psetstakey_para); @@ -936,20 +933,20 @@ u8 rtw_clearstakey_cmd(struct adapter *padapter, stru= ct sta_info *sta, u8 enqueu rtw_camid_free(padapter, cam_id); } } else { - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_KERNEL); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - psetstakey_para =3D rtw_zmalloc(sizeof(struct set_stakey_parm)); + psetstakey_para =3D kzalloc(sizeof(*psetstakey_para), GFP_KERNEL); if (!psetstakey_para) { kfree(ph2c); res =3D _FAIL; goto exit; } =20 - psetstakey_rsp =3D rtw_zmalloc(sizeof(struct set_stakey_rsp)); + psetstakey_rsp =3D kzalloc(sizeof(*psetstakey_rsp), GFP_KERNEL); if (!psetstakey_rsp) { kfree(ph2c); kfree(psetstakey_para); @@ -979,13 +976,13 @@ u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid,= u8 *addr) =20 u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - paddbareq_parm =3D rtw_zmalloc(sizeof(struct addBaReq_parm)); + paddbareq_parm =3D kzalloc(sizeof(*paddbareq_parm), GFP_ATOMIC); if (!paddbareq_parm) { kfree(ph2c); res =3D _FAIL; @@ -1012,13 +1009,13 @@ u8 rtw_reset_securitypriv_cmd(struct adapter *padap= ter) struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); res =3D _FAIL; @@ -1045,13 +1042,13 @@ u8 rtw_free_assoc_resources_cmd(struct adapter *pad= apter) struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); res =3D _FAIL; @@ -1079,13 +1076,13 @@ u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter) u8 res =3D _SUCCESS; =20 /* only primary padapter does this cmd */ - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); res =3D _FAIL; @@ -1319,13 +1316,13 @@ u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8= lps_ctrl_type, u8 enqueue) u8 res =3D _SUCCESS; =20 if (enqueue) { - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); res =3D _FAIL; @@ -1360,13 +1357,13 @@ u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter) struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); res =3D _FAIL; @@ -1422,13 +1419,13 @@ u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, = u8 *psta) struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); res =3D _FAIL; @@ -1456,13 +1453,13 @@ u8 rtw_ps_cmd(struct adapter *padapter) struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - ppscmd =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ppscmd =3D kzalloc(sizeof(*ppscmd), GFP_ATOMIC); if (!ppscmd) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ppscmd); res =3D _FAIL; @@ -1526,13 +1523,13 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter) struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); res =3D _FAIL; @@ -1618,13 +1615,13 @@ u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, = u8 *pbuf, u16 length) struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); res =3D _FAIL; @@ -1653,13 +1650,13 @@ u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h= _evt) struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_KERNEL); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - pdrvextra_cmd_parm =3D rtw_zmalloc(sizeof(struct drvextra_cmd_parm)); + pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_KERNEL); if (!pdrvextra_cmd_parm) { kfree(ph2c); res =3D _FAIL; diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rt= l8723bs/core/rtw_mlme.c index f81a29cd6a78..ab6ed5ad1a22 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -1337,7 +1337,7 @@ void rtw_stassoc_event_callback(struct adapter *adapt= er, u8 *pbuf) /* report to upper layer */ spin_lock_bh(&psta->lock); if (psta->passoc_req && psta->assoc_req_len > 0) { - passoc_req =3D rtw_zmalloc(psta->assoc_req_len); + passoc_req =3D kzalloc(psta->assoc_req_len, GFP_ATOMIC); if (passoc_req) { assoc_req_len =3D psta->assoc_req_len; memcpy(passoc_req, psta->passoc_req, assoc_req_len); @@ -1887,13 +1887,13 @@ signed int rtw_set_auth(struct adapter *adapter, st= ruct security_priv *psecurity struct cmd_priv *pcmdpriv =3D &adapter->cmdpriv; signed int res =3D _SUCCESS; =20 - pcmd =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd =3D kzalloc(sizeof(*pcmd), GFP_KERNEL); if (!pcmd) { res =3D _FAIL; /* try again */ goto exit; } =20 - psetauthparm =3D rtw_zmalloc(sizeof(struct setauth_parm)); + psetauthparm =3D kzalloc(sizeof(*psetauthparm), GFP_KERNEL); if (!psetauthparm) { kfree(pcmd); res =3D _FAIL; @@ -1924,7 +1924,7 @@ signed int rtw_set_key(struct adapter *adapter, struc= t security_priv *psecurityp struct cmd_priv *pcmdpriv =3D &adapter->cmdpriv; signed int res =3D _SUCCESS; =20 - psetkeyparm =3D rtw_zmalloc(sizeof(struct setkey_parm)); + psetkeyparm =3D kzalloc(sizeof(*psetkeyparm), GFP_KERNEL); if (!psetkeyparm) { res =3D _FAIL; goto exit; @@ -1966,7 +1966,7 @@ signed int rtw_set_key(struct adapter *adapter, struc= t security_priv *psecurityp } =20 if (enqueue) { - pcmd =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd =3D kzalloc(sizeof(*pcmd), GFP_KERNEL); if (!pcmd) { kfree(psetkeyparm); res =3D _FAIL; /* try again */ @@ -2073,7 +2073,7 @@ static void rtw_report_sec_ie(struct adapter *adapter= , u8 authmode, u8 *sec_ie) =20 buff =3D NULL; if (authmode =3D=3D WLAN_EID_VENDOR_SPECIFIC) { - buff =3D rtw_zmalloc(IW_CUSTOM_MAX); + buff =3D kzalloc(IW_CUSTOM_MAX, GFP_ATOMIC); if (!buff) return; =20 diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/stagin= g/rtl8723bs/core/rtw_mlme_ext.c index 04542219752c..ec2acb7999bf 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -1334,9 +1334,8 @@ unsigned int OnAssocReq(struct adapter *padapter, uni= on recv_frame *precv_frame) spin_lock_bh(&pstat->lock); kfree(pstat->passoc_req); pstat->assoc_req_len =3D 0; - pstat->passoc_req =3D rtw_zmalloc(pkt_len); + pstat->passoc_req =3D kmemdup(pframe, pkt_len, GFP_ATOMIC); if (pstat->passoc_req) { - memcpy(pstat->passoc_req, pframe, pkt_len); pstat->assoc_req_len =3D pkt_len; } spin_unlock_bh(&pstat->lock); @@ -2348,7 +2347,7 @@ void issue_probersp(struct adapter *padapter, unsigne= d char *da, u8 is_valid_p2p u8 *buf; u8 *ies =3D pmgntframe->buf_addr+TXDESC_OFFSET+sizeof(struct ieee80211_= hdr_3addr); =20 - buf =3D rtw_zmalloc(MAX_IE_SZ); + buf =3D kzalloc(MAX_IE_SZ, GFP_ATOMIC); if (!buf) return; =20 @@ -4395,12 +4394,12 @@ void report_survey_event(struct adapter *padapter, = union recv_frame *precv_frame pmlmeext =3D &padapter->mlmeextpriv; pcmdpriv =3D &padapter->cmdpriv; =20 - pcmd_obj =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd_obj =3D kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC); if (!pcmd_obj) return; =20 cmdsz =3D (sizeof(struct survey_event) + sizeof(struct C2HEvent_Header)); - pevtcmd =3D rtw_zmalloc(cmdsz); + pevtcmd =3D kzalloc(cmdsz, GFP_ATOMIC); if (!pevtcmd) { kfree(pcmd_obj); return; @@ -4448,12 +4447,12 @@ void report_surveydone_event(struct adapter *padapt= er) struct mlme_ext_priv *pmlmeext =3D &padapter->mlmeextpriv; struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; =20 - pcmd_obj =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd_obj =3D kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC); if (!pcmd_obj) return; =20 cmdsz =3D (sizeof(struct surveydone_event) + sizeof(struct C2HEvent_Heade= r)); - pevtcmd =3D rtw_zmalloc(cmdsz); + pevtcmd =3D kzalloc(cmdsz, GFP_ATOMIC); if (!pevtcmd) { kfree(pcmd_obj); return; @@ -4493,12 +4492,12 @@ void report_join_res(struct adapter *padapter, int = res) struct mlme_ext_info *pmlmeinfo =3D &pmlmeext->mlmext_info; struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; =20 - pcmd_obj =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd_obj =3D kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC); if (!pcmd_obj) return; =20 cmdsz =3D (sizeof(struct joinbss_event) + sizeof(struct C2HEvent_Header)); - pevtcmd =3D rtw_zmalloc(cmdsz); + pevtcmd =3D kzalloc(cmdsz, GFP_ATOMIC); if (!pevtcmd) { kfree(pcmd_obj); return; @@ -4542,12 +4541,12 @@ void report_wmm_edca_update(struct adapter *padapte= r) struct mlme_ext_priv *pmlmeext =3D &padapter->mlmeextpriv; struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; =20 - pcmd_obj =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd_obj =3D kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC); if (!pcmd_obj) return; =20 cmdsz =3D (sizeof(struct wmm_event) + sizeof(struct C2HEvent_Header)); - pevtcmd =3D rtw_zmalloc(cmdsz); + pevtcmd =3D kzalloc(cmdsz, GFP_ATOMIC); if (!pevtcmd) { kfree(pcmd_obj); return; @@ -4588,12 +4587,12 @@ void report_del_sta_event(struct adapter *padapter,= unsigned char *MacAddr, unsi struct mlme_ext_priv *pmlmeext =3D &padapter->mlmeextpriv; struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; =20 - pcmd_obj =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd_obj =3D kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC); if (!pcmd_obj) return; =20 cmdsz =3D (sizeof(struct stadel_event) + sizeof(struct C2HEvent_Header)); - pevtcmd =3D rtw_zmalloc(cmdsz); + pevtcmd =3D kzalloc(cmdsz, GFP_ATOMIC); if (!pevtcmd) { kfree(pcmd_obj); return; @@ -4639,12 +4638,12 @@ void report_add_sta_event(struct adapter *padapter,= unsigned char *MacAddr, int struct mlme_ext_priv *pmlmeext =3D &padapter->mlmeextpriv; struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; =20 - pcmd_obj =3D rtw_zmalloc(sizeof(struct cmd_obj)); + pcmd_obj =3D kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC); if (!pcmd_obj) return; =20 cmdsz =3D (sizeof(struct stassoc_event) + sizeof(struct C2HEvent_Header)); - pevtcmd =3D rtw_zmalloc(cmdsz); + pevtcmd =3D kzalloc(cmdsz, GFP_ATOMIC); if (!pevtcmd) { kfree(pcmd_obj); return; @@ -5085,11 +5084,11 @@ void survey_timer_hdl(struct timer_list *t) pmlmeext->scan_abort =3D false;/* reset */ } =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) return; =20 - psurveyPara =3D rtw_zmalloc(sizeof(struct sitesurvey_parm)); + psurveyPara =3D kzalloc(sizeof(*psurveyPara), GFP_ATOMIC); if (!psurveyPara) { kfree(ph2c); return; @@ -5699,7 +5698,7 @@ u8 chk_bmc_sleepq_cmd(struct adapter *padapter) struct cmd_priv *pcmdpriv =3D &(padapter->cmdpriv); u8 res =3D _SUCCESS; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; @@ -5723,13 +5722,13 @@ u8 set_tx_beacon_cmd(struct adapter *padapter) u8 res =3D _SUCCESS; int len_diff =3D 0; =20 - ph2c =3D rtw_zmalloc(sizeof(struct cmd_obj)); + ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); if (!ph2c) { res =3D _FAIL; goto exit; } =20 - ptxBeacon_parm =3D rtw_zmalloc(sizeof(struct Tx_Beacon_param)); + ptxBeacon_parm =3D kzalloc(sizeof(*ptxBeacon_parm), GFP_ATOMIC); if (!ptxBeacon_parm) { kfree(ph2c); res =3D _FAIL; diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rt= l8723bs/core/rtw_recv.c index 24cc4a9e0445..36798e23a650 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -1425,7 +1425,7 @@ static signed int validate_80211w_mgmt(struct adapter= *adapter, union recv_frame memcpy(pattrib->ta, GetAddr2Ptr(ptr), ETH_ALEN); /* actual management data frame body */ data_len =3D pattrib->pkt_len - pattrib->hdrlen - pattrib->iv_len - pat= trib->icv_len; - mgmt_DATA =3D rtw_zmalloc(data_len); + mgmt_DATA =3D kzalloc(data_len, GFP_ATOMIC); if (!mgmt_DATA) goto validate_80211w_fail; precv_frame =3D decryptor(adapter, precv_frame); diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/stagin= g/rtl8723bs/core/rtw_security.c index 86e54454145a..bd179daab35e 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -1316,8 +1316,7 @@ u32 rtw_BIP_verify(struct adapter *padapter, u8 *prec= vframe) __le64 le_tmp64; =20 ori_len =3D pattrib->pkt_len - WLAN_HDR_A3_LEN + BIP_AAD_SIZE; - BIP_AAD =3D rtw_zmalloc(ori_len); - + BIP_AAD =3D kzalloc(ori_len, GFP_KERNEL); if (!BIP_AAD) return _FAIL; =20 diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/stagi= ng/rtl8723bs/core/rtw_wlan_util.c index 9ab9fb25ced4..d7b0bf237e21 100644 --- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c +++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c @@ -1132,7 +1132,7 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *p= frame, u32 packet_len) if (memcmp(cur_network->network.mac_address, pbssid, 6)) return true; =20 - bssid =3D rtw_zmalloc(sizeof(struct wlan_bssid_ex)); + bssid =3D kzalloc(sizeof(*bssid), GFP_KERNEL); if (!bssid) return true; =20 diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rt= l8723bs/core/rtw_xmit.c index 9cead1455bfa..b2237576b58a 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -1170,7 +1170,7 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padap= ter, struct sk_buff *pkt, s pwlanhdr =3D (struct ieee80211_hdr *)pframe; =20 ori_len =3D BIP_AAD_SIZE + pattrib->pktlen; - tmp_buf =3D BIP_AAD =3D rtw_zmalloc(ori_len); + tmp_buf =3D BIP_AAD =3D kzalloc(ori_len, GFP_ATOMIC); subtype =3D GetFrameSubType(pframe); /* bit(7)~bit(2) */ =20 if (!BIP_AAD) @@ -1674,8 +1674,7 @@ struct xmit_frame *rtw_alloc_xmitframe_once(struct xm= it_priv *pxmitpriv) struct xmit_frame *pxframe =3D NULL; u8 *alloc_addr; =20 - alloc_addr =3D rtw_zmalloc(sizeof(struct xmit_frame) + 4); - + alloc_addr =3D kzalloc(sizeof(*pxframe) + 4, GFP_ATOMIC); if (!alloc_addr) goto exit; =20 @@ -1846,8 +1845,7 @@ s32 rtw_alloc_hwxmits(struct adapter *padapter) =20 pxmitpriv->hwxmits =3D NULL; =20 - pxmitpriv->hwxmits =3D rtw_zmalloc(sizeof(struct hw_xmit) * pxmitpriv->hw= xmit_entry); - + pxmitpriv->hwxmits =3D kcalloc(pxmitpriv->hwxmit_entry, sizeof(*hwxmits),= GFP_ATOMIC); if (!pxmitpriv->hwxmits) return _FAIL; =20 diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/stagi= ng/rtl8723bs/hal/rtl8723bs_recv.c index 399edfbf8ec6..e739f55ba34d 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c @@ -159,7 +159,7 @@ static void rtl8723bs_c2h_packet_handler(struct adapter= *padapter, if (length =3D=3D 0) return; =20 - tmp =3D rtw_zmalloc(length); + tmp =3D kzalloc(length, GFP_ATOMIC); if (!tmp) return; =20 @@ -382,7 +382,7 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter) spin_lock_init(&precvpriv->recv_buf_pending_queue.lock); =20 n =3D NR_RECVBUFF * sizeof(struct recv_buf) + 4; - precvpriv->pallocated_recv_buf =3D rtw_zmalloc(n); + precvpriv->pallocated_recv_buf =3D kzalloc(n, GFP_KERNEL); if (!precvpriv->pallocated_recv_buf) { res =3D _FAIL; goto exit; diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl= 8723bs/hal/sdio_ops.c index 7d211464cb2f..ad1f01ffbc87 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_ops.c +++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c @@ -896,7 +896,7 @@ void sd_int_dpc(struct adapter *adapter) if (hal->sdio_hisr & SDIO_HISR_C2HCMD) { struct c2h_evt_hdr_88xx *c2h_evt; =20 - c2h_evt =3D rtw_zmalloc(16); + c2h_evt =3D kzalloc(16, GFP_ATOMIC); if (c2h_evt) { if (c2h_evt_read_88xx(adapter, (u8 *)c2h_evt) =3D=3D _SUCCESS) { if (c2h_id_filter_ccx_8723b((u8 *)c2h_evt)) { diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/st= aging/rtl8723bs/os_dep/ioctl_cfg80211.c index b4bc6c345fbe..779ac82a6de7 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -111,6 +111,7 @@ static struct ieee80211_supported_band *rtw_spt_band_al= loc( { struct ieee80211_supported_band *spt_band =3D NULL; int n_channels, n_bitrates; + size_t alloc_size; =20 if (band =3D=3D NL80211_BAND_2GHZ) { n_channels =3D RTW_2G_CHANNELS_NUM; @@ -119,9 +120,10 @@ static struct ieee80211_supported_band *rtw_spt_band_a= lloc( goto exit; } =20 - spt_band =3D rtw_zmalloc(sizeof(struct ieee80211_supported_band) + - sizeof(struct ieee80211_channel) * n_channels + - sizeof(struct ieee80211_rate) * n_bitrates); + alloc_size =3D sizeof(*spt_band); + alloc_size =3D size_add(alloc_size, array_size(n_channels, sizeof(struct = ieee80211_channel))); + alloc_size =3D size_add(alloc_size, array_size(n_bitrates, sizeof(struct = ieee80211_rate))); + spt_band =3D kzalloc(alloc_size, GFP_KERNEL); if (!spt_band) goto exit; =20 @@ -1430,7 +1432,7 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *pa= dapter, u8 *pie, size_t iel goto exit; } =20 - buf =3D rtw_zmalloc(ielen); + buf =3D kzalloc(ielen, GFP_KERNEL); if (!buf) { ret =3D -ENOMEM; goto exit; @@ -2147,7 +2149,7 @@ static int rtw_cfg80211_add_monitor_if(struct adapter= *padapter, char *name, str pnpi->sizeof_priv =3D sizeof(struct adapter); =20 /* wdev */ - mon_wdev =3D rtw_zmalloc(sizeof(struct wireless_dev)); + mon_wdev =3D kzalloc(sizeof(*mon_wdev), GFP_KERNEL); if (!mon_wdev) { ret =3D -ENOMEM; goto out; @@ -2257,7 +2259,7 @@ static int rtw_add_beacon(struct adapter *adapter, co= nst u8 *head, size_t head_l if (head_len < 24) return -EINVAL; =20 - pbuf =3D rtw_zmalloc(head_len + tail_len); + pbuf =3D kzalloc(head_len + tail_len, GFP_KERNEL); if (!pbuf) return -ENOMEM; =20 @@ -2728,7 +2730,7 @@ int rtw_wdev_alloc(struct adapter *padapter, struct d= evice *dev) goto free_wiphy; =20 /* wdev */ - wdev =3D rtw_zmalloc(sizeof(struct wireless_dev)); + wdev =3D kzalloc(sizeof(*wdev), GFP_KERNEL); if (!wdev) { ret =3D -ENOMEM; goto unregister_wiphy; diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/= rtl8723bs/os_dep/os_intfs.c index bc02db13781c..b45104037d6d 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -559,7 +559,7 @@ struct dvobj_priv *devobj_init(void) { struct dvobj_priv *pdvobj =3D NULL; =20 - pdvobj =3D rtw_zmalloc(sizeof(*pdvobj)); + pdvobj =3D kzalloc(sizeof(*pdvobj), GFP_KERNEL); if (!pdvobj) return NULL; =20 diff --git a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c b/drivers/stagin= g/rtl8723bs/os_dep/xmit_linux.c index 944b9c724b32..20d2926a4480 100644 --- a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c +++ b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c @@ -46,7 +46,7 @@ signed int rtw_endofpktfile(struct pkt_file *pfile) int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *= pxmitbuf, u32 alloc_sz, u8 flag) { if (alloc_sz > 0) { - pxmitbuf->pallocated_buf =3D rtw_zmalloc(alloc_sz); + pxmitbuf->pallocated_buf =3D kzalloc(alloc_sz, GFP_KERNEL); if (!pxmitbuf->pallocated_buf) return _FAIL; =20 --=20 2.43.0 From nobody Sun Feb 8 18:30:52 2026 Received: from cvsmtppost37.nm.naver.com (cvsmtppost37.nm.naver.com [114.111.35.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 944ED284671 for ; Sat, 31 Jan 2026 19:30:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.111.35.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769887821; cv=none; b=SVF2YidQRwb58j8yiVhYONuuM8svAT+yqZc0zn6Ug7xAVZ2IdZiVHfuS3qVlVSBpW2YoKgKhBw/dJMfIOAFHV6PsIn7iZFsZmCpi5D9WH/gHN5rYtNPcY2RBfk6K/pWfpVqbjCtSY/uGG3nMF1IFEF4SCjYzWSNHmCMzrhT2wxA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769887821; c=relaxed/simple; bh=tNoYdz9W3wRd7hLkyrf+Fd2gOEeIXZMTZHcKUrrmNZg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bGPwbVnQuexqocvNhp31spOYrQBXm5NuBCfNY/bvkO+vIfDWt4DCxaRCVjtRST5fBbbQEPl794JXtPJFtQClhH0KW8IiGf0V7D/HgLgSntG8tl3cSWdPy+YKYWHrc4eEo8J+49kyBmu3OQfBrvtuwlQZPcRVxN/cLvhqU8TX/9w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naver.com; spf=pass smtp.mailfrom=naver.com; dkim=pass (2048-bit key) header.d=naver.com header.i=@naver.com header.b=l7Q9s27x; arc=none smtp.client-ip=114.111.35.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naver.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=naver.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=naver.com header.i=@naver.com header.b="l7Q9s27x" Received: from cvsendbo019.nm ([10.112.22.34]) by cvsmtppost37.nm.naver.com with ESMTP id RKpUsHTZSDqhQEXgxLdMHg for ; Sat, 31 Jan 2026 19:30:12 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=naver.com; s=s20171208; t=1769887812; bh=tNoYdz9W3wRd7hLkyrf+Fd2gOEeIXZMTZHcKUrrmNZg=; h=From:To:Subject:Date:Message-ID:From:Subject:Feedback-ID: X-Works-Security; b=l7Q9s27xGSkjwe2ZSc5nyt1endDPEQ+oFJKONChgtjP5r2weFBp7DD0+uHa8+1x6/ Addj7kmJs84rduaKntfT+ZdhcJy3hJEiyDQ+JGpkT4zsbq2TzmdonfSVnRUuUJJFzQ /2TkaZ6CoAJp3OtgtgvyMrs665kM6elnlbyPhuOVz1bMIA75o7B4TmidwJEbefg54i ZOLmhZPXwhBugZOs+nU5TB5EstV7m19wZc1SdD6M2+daVK6qOTVgfxW1p9QW9kexom vlbsS/pTvlzkEcqkf7e9298g1u/yU1ALhKjmNdDQv2LkftuHtO+503hEKONqSYQgjm R2YNTtKiknjVw== X-Session-ID: YGyHlPdDQR6Mt1yat6fNgA X-Works-Send-Opt: M/YXjAJYjHmwKo2qKqJYFquqFNwkx0eFjAJYKg== X-Works-Smtp-Source: uwY9aAvrFqJZ+HmwKxt9+6E= Received: from JMW-Ubuntu.. ([14.38.141.199]) by cvnsmtp011.nm.naver.com with ESMTP id YGyHlPdDQR6Mt1yat6fNgA for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Sat, 31 Jan 2026 19:30:11 -0000 From: Minu Jin To: gregkh@linuxfoundation.org Cc: dan.carpenter@linaro.org, trohan2000@gmail.com, andy@kernel.org, linux-staging@lists.linux.dev, straube.linux@gmail.com, linux-kernel@vger.kernel.org, Minu Jin Subject: [PATCH v4 3/4] staging: rtl8723bs: replace skb allocation, copy wrappers Date: Sun, 1 Feb 2026 04:30:00 +0900 Message-ID: <20260131193001.303307-4-s9430939@naver.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260131193001.303307-1-s9430939@naver.com> References: <20260131193001.303307-1-s9430939@naver.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace the wrapper functions rtw_skb_alloc() and rtw_skb_copy() with kernel APIs __dev_alloc_skb() and skb_copy(). I used GFP_ATOMIC for the network data paths because these functions are called in contexts where the driver cannot sleep. Signed-off-by: Minu Jin --- drivers/staging/rtl8723bs/core/rtw_recv.c | 2 +- drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c | 4 ++-- drivers/staging/rtl8723bs/hal/sdio_ops.c | 2 +- drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rt= l8723bs/core/rtw_recv.c index 36798e23a650..a4250c49b9b4 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -1630,7 +1630,7 @@ static struct sk_buff *rtw_alloc_msdu_pkt(union recv_= frame *prframe, u16 nSubfra =20 pattrib =3D &prframe->u.hdr.attrib; =20 - sub_skb =3D rtw_skb_alloc(nSubframe_Length + 12); + sub_skb =3D __dev_alloc_skb(nSubframe_Length + 12, GFP_ATOMIC); if (!sub_skb) return NULL; =20 diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/stagi= ng/rtl8723bs/hal/rtl8723bs_recv.c index e739f55ba34d..2f2ce91ca113 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c @@ -292,7 +292,7 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struc= t *t) alloc_sz +=3D 14; } =20 - pkt_copy =3D rtw_skb_alloc(alloc_sz); + pkt_copy =3D __dev_alloc_skb(alloc_sz, GFP_ATOMIC); if (!pkt_copy) { rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue); break; @@ -399,7 +399,7 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter) SIZE_PTR tmpaddr =3D 0; SIZE_PTR alignment =3D 0; =20 - precvbuf->pskb =3D rtw_skb_alloc(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); + precvbuf->pskb =3D __dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, = GFP_ATOMIC); =20 if (precvbuf->pskb) { precvbuf->pskb->dev =3D padapter->pnetdev; diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl= 8723bs/hal/sdio_ops.c index ad1f01ffbc87..a0d3451ffd0d 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_ops.c +++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c @@ -810,7 +810,7 @@ static struct recv_buf *sd_recv_rxfifo(struct adapter *= adapter, u32 size) SIZE_PTR tmpaddr =3D 0; SIZE_PTR alignment =3D 0; =20 - recvbuf->pskb =3D rtw_skb_alloc(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ); + recvbuf->pskb =3D __dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GF= P_ATOMIC); if (!recvbuf->pskb) return NULL; =20 diff --git a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c b/drivers/stagin= g/rtl8723bs/os_dep/xmit_linux.c index 20d2926a4480..8372b72b53b3 100644 --- a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c +++ b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c @@ -159,7 +159,7 @@ static int rtw_mlcst2unicst(struct adapter *padapter, s= truct sk_buff *skb) !memcmp(psta->hwaddr, bc_addr, 6)) continue; =20 - newskb =3D rtw_skb_copy(skb); + newskb =3D skb_copy(skb, GFP_ATOMIC); =20 if (newskb) { memcpy(newskb->data, psta->hwaddr, 6); --=20 2.43.0 From nobody Sun Feb 8 18:30:52 2026 Received: from cvsmtppost15.nm.naver.com (cvsmtppost15.nm.naver.com [114.111.35.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AFDCE36AB4B for ; Sat, 31 Jan 2026 19:40:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.111.35.157 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769888424; cv=none; b=lL4Z32kMw52wo80WIVyksq15EJu7psuuuS7cg4QOIzf72hjzeduzYTMSzLaRannifgryFHgV3yAYmP/wQwOQw8kpotq2L3HeKfOU8Mx5qDyZsGRqmZeA3I+WXGBF34Y+xqy3d6bGGXZ6umwqIPUxm5ax5Evy13hPaYDG+C4AXws= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769888424; c=relaxed/simple; bh=Eraob/47GFv92oo77yPdKg6r0OEtzAih5CiW9zDiTKg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DAdpu6z1WO456YBBQc5bH+T8gnSRNt2bcFsbfoEawT7sX2C4B2WAFnMby5ukUyfTY7OhZyU+k6fCy3PWdx50RRRLtxBOCSeH2w2vqxZacs7XYLsjXkX0DerHCmid7w4Q8t2c5Z67u4fNbtGkFmPf8bEe+wX96zmQFOquFdMTvz0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naver.com; spf=pass smtp.mailfrom=naver.com; dkim=pass (2048-bit key) header.d=naver.com header.i=@naver.com header.b=Gx/Fubjz; arc=none smtp.client-ip=114.111.35.157 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=naver.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=naver.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=naver.com header.i=@naver.com header.b="Gx/Fubjz" Received: from cvsendbo016.nm ([10.112.24.39]) by cvsmtppost15.nm.naver.com with ESMTP id zE2LQGjvRmSmz35PxTV16g for ; Sat, 31 Jan 2026 19:30:13 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=naver.com; s=s20171208; t=1769887813; bh=Eraob/47GFv92oo77yPdKg6r0OEtzAih5CiW9zDiTKg=; h=From:To:Subject:Date:Message-ID:From:Subject:Feedback-ID: X-Works-Security; b=Gx/FubjzBGaJKZUVVsc4RGRE673QZLX8sBH08u+iQGVqL7bRJUwENYOnWbXLz8ZeM JWrgeoKUkSbewCRF/8LNLQfYmnindtl9qp9HmRuYbirLMuUrWZVJv6XGpmftcF3BDC cz8ditojCnWwAYLX6SVR5KQVLAtuoDYj6EhJtiyvgpq95KZIdFDb5Bs7HZywTWWtSI J3br4bG9g5rzO9y4EjuAz5JXBUIN5s/G1yyvMt0kA4FvMT0w2EjaK0FBhSKWwxD4tK qJ36QFeJNuFqHorTFa680TGAbxT7hGYPDLoRDDsRHG5AZVc4k23BDtO4QLUr5QumO8 ZECb7sBCkfHtQ== X-Session-ID: oV5fkIzWRJ6hjKXGchaUYQ X-Works-Send-Opt: M/YXjAJYjHmwKo2qKqJYFquqFNwkx0eFjAJYKg== X-Works-Smtp-Source: uZK9aAvrFqJZ+HmZKxt9+6E= Received: from JMW-Ubuntu.. ([14.38.141.199]) by cvnsmtp011.nm.naver.com with ESMTP id oV5fkIzWRJ6hjKXGchaUYQ for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Sat, 31 Jan 2026 19:30:12 -0000 From: Minu Jin To: gregkh@linuxfoundation.org Cc: dan.carpenter@linaro.org, trohan2000@gmail.com, andy@kernel.org, linux-staging@lists.linux.dev, straube.linux@gmail.com, linux-kernel@vger.kernel.org, Minu Jin Subject: [PATCH v4 4/4] staging: rtl8723bs: remove unused allocation wrapper functions Date: Sun, 1 Feb 2026 04:30:01 +0900 Message-ID: <20260131193001.303307-5-s9430939@naver.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260131193001.303307-1-s9430939@naver.com> References: <20260131193001.303307-1-s9430939@naver.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" All memory allocation call sites have been migrated to kernel APIs (kmalloc, kzalloc, and skb functions). Therefore, the custom wrapper layer is no longer necessary. This patch removes all redundant wrapper functions and macros from osdep_service.c and include/osdep_service.h, including unused macros like rtw_skb_alloc_f. Signed-off-by: Minu Jin --- .../staging/rtl8723bs/include/osdep_service.h | 11 --------- .../staging/rtl8723bs/os_dep/osdep_service.c | 24 ------------------- 2 files changed, 35 deletions(-) diff --git a/drivers/staging/rtl8723bs/include/osdep_service.h b/drivers/st= aging/rtl8723bs/include/osdep_service.h index 6458ff95ff9d..955e8678dc26 100644 --- a/drivers/staging/rtl8723bs/include/osdep_service.h +++ b/drivers/staging/rtl8723bs/include/osdep_service.h @@ -54,21 +54,10 @@ =20 extern int RTW_STATUS_CODE(int error_code); =20 -void *_rtw_zmalloc(u32 sz); -void *_rtw_malloc(u32 sz); void _kfree(u8 *pbuf, u32 sz); =20 -struct sk_buff *_rtw_skb_alloc(u32 sz); -struct sk_buff *_rtw_skb_copy(const struct sk_buff *skb); int _rtw_netif_rx(struct net_device *ndev, struct sk_buff *skb); =20 -#define rtw_malloc(sz) _rtw_malloc((sz)) -#define rtw_zmalloc(sz) _rtw_zmalloc((sz)) - -#define rtw_skb_alloc(size) _rtw_skb_alloc((size)) -#define rtw_skb_alloc_f(size, mstat_f) _rtw_skb_alloc((size)) -#define rtw_skb_copy(skb) _rtw_skb_copy((skb)) -#define rtw_skb_copy_f(skb, mstat_f) _rtw_skb_copy((skb)) #define rtw_netif_rx(ndev, skb) _rtw_netif_rx(ndev, skb) =20 extern void _rtw_init_queue(struct __queue *pqueue); diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/sta= ging/rtl8723bs/os_dep/osdep_service.c index 770d7c1b41b0..a9febe1efc83 100644 --- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c +++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c @@ -14,30 +14,6 @@ inline int RTW_STATUS_CODE(int error_code) return _FAIL; } =20 -void *_rtw_malloc(u32 sz) -{ - return kmalloc(sz, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); -} - -void *_rtw_zmalloc(u32 sz) -{ - void *pbuf =3D kmalloc(sz, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); - if (pbuf) - memset(pbuf, 0, sz); - - return pbuf; -} - -inline struct sk_buff *_rtw_skb_alloc(u32 sz) -{ - return __dev_alloc_skb(sz, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); -} - -inline struct sk_buff *_rtw_skb_copy(const struct sk_buff *skb) -{ - return skb_copy(skb, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); -} - inline int _rtw_netif_rx(struct net_device *ndev, struct sk_buff *skb) { skb->dev =3D ndev; --=20 2.43.0