From nobody Tue Feb 10 04:12:19 2026 Received: from cvsmtppost22.nm.naver.com (cvsmtppost22.nm.naver.com [114.111.35.109]) (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 A3F4D3859CB for ; Wed, 4 Feb 2026 06:45:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.111.35.109 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770187531; cv=none; b=sYZNiYSeDMOyLPup3RVPOzZ5m5bZORmE8X0O349L8Vhs2yXED6wH59/7LXpxgtZFBxLv6+7HCNj2h611Pnuc9jZFJTM6b5Z5l+ZWbt4gLKYOWm5L8+iaVM41QTbHDP03JGuB8bmVu3iMz9i+RsVn9kisX6T8Yyx+tshzL0wwzFA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770187531; c=relaxed/simple; bh=6OJoAk6yp/arcxsLQ87rzPkuB8w7BTFkyuGFM1RiLFc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UemsqeG62IHFBnyP13xfG0pPG21pBuZ6W7ZcQf4XE061sKxvJdnQ0ivda/QK0QrMNfrPIO6uB3H0diVRzIEjld633ygPBZDYsjBPOfL8HEV4i8Xg4DlZ5j79VlCzPZ4A5RLTuH6c9I+rzmkWl3q/ciwTgw9tx7U2gR2a5aMbWLQ= 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=IfWYfOm/; arc=none smtp.client-ip=114.111.35.109 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="IfWYfOm/" Received: from cvsendbo027.nm ([10.112.22.36]) by cvsmtppost22.nm.naver.com with ESMTP id oLEPpVs-ScCf4xpEmQU2Ng for ; Wed, 04 Feb 2026 06:45:23 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=naver.com; s=s20171208; t=1770187523; bh=6OJoAk6yp/arcxsLQ87rzPkuB8w7BTFkyuGFM1RiLFc=; h=From:To:Subject:Date:Message-ID:From:Subject:Feedback-ID: X-Works-Security; b=IfWYfOm/tP0rGvvUQ3q63brfC5RJP4monAdnKQcfKOs2VI7q3lDfk1vH8MtyePvEq ZR3XNKk/BGM99sjRahJpEtkAqlLhefbFBCK4JRvwhGdYrzRKPG19CNUvdR2ECc37Wp faZ+6UjmC/J294nZouLPZmQPVOfAzj/AK0GqXFvLnAnUij5L48TBjGWKp60Pi+kB9k fwgFNsTBml5FE6sWc2vKByRVsS29J6ZDr+M5W3nvoGou5Mb1CwD291HMnGMxjYoij7 IJVpkypDHXj5lsO0iaGkHSwc3nFdGsuvSgJ9tTN9f3Atiu7hwjuXI2rIEqtfWbtyXt xOeqbc8+AhgmA== X-Session-ID: xHBFZGPmTDiVtOVrZhAPSw X-Works-Send-Opt: M/YXjAJYjHmwKo2qKqJYFquqFNwkx0eFjAJYKg== X-Works-Smtp-Source: 9wn9KxgXFqJZ+HmZKou9+6E= Received: from JMW-Ubuntu.. ([14.38.141.199]) by cvnsmtp001.nm.naver.com with ESMTP id xHBFZGPmTDiVtOVrZhAPSw for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 04 Feb 2026 06:45:22 -0000 From: Minu Jin To: gregkh@linuxfoundation.org Cc: andy@kernel.org, dan.carpenter@linaro.org, trohan2000@gmail.com, straube.linux@gmail.com, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Minu Jin Subject: [PATCH v5 3/5] staging: rtl8723bs: replace rtw_zmalloc() with kzalloc() Date: Wed, 4 Feb 2026 15:44:52 +0900 Message-ID: <20260204064455.1379342-4-s9430939@naver.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260204064455.1379342-1-s9430939@naver.com> References: <20260204064455.1379342-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 function rtw_zmalloc() with standard kzalloc(). Use kzalloc() for rtw_malloc() calls that were followed by manual zero initialization. Additionally, use array_size() and size_add() to prevent potential integer overflows during allocation size calculation. Signed-off-by: Minu Jin Reviewed-by: Andy Shevchenko --- drivers/staging/rtl8723bs/core/rtw_ap.c | 8 +- drivers/staging/rtl8723bs/core/rtw_cmd.c | 81 +++++++++---------- drivers/staging/rtl8723bs/core/rtw_mlme.c | 10 +-- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 36 ++++----- 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 | 2 +- drivers/staging/rtl8723bs/hal/sdio_ops.c | 2 +- .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 24 +++--- drivers/staging/rtl8723bs/os_dep/os_intfs.c | 2 +- .../staging/rtl8723bs/os_dep/osdep_service.c | 9 +-- drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 2 +- 14 files changed, 89 insertions(+), 102 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8= 723bs/core/rtw_ap.c index 94f0e439abae..9feba54181e6 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -1227,13 +1227,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; @@ -1267,12 +1267,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 edec2295b52d..b2e7f479f72b 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_KERNEL); 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 2bbf2b17e3ba..a7d7f175cbf3 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -1886,13 +1886,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; @@ -1923,7 +1923,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; @@ -1965,7 +1965,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 */ @@ -2072,7 +2072,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 9c385813b70f..9f4c12a01cb2 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -2346,7 +2346,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 +4395,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 +4448,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 +4493,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 +4542,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 +4588,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 +4639,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; @@ -5093,11 +5093,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; @@ -5708,7 +5708,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; @@ -5732,13 +5732,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 0a8725686721..f599a867eb0b 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 0980fa4718b1..4cff14fe5d7a 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c @@ -380,7 +380,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 707e5879d943..e0a676bc4e88 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 3cc3faba8ce2..343221e5e7f5 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_sz; =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_sz =3D sizeof(*spt_band); + alloc_sz =3D size_add(alloc_sz, array_size(n_channels, sizeof(struct ieee= 80211_channel))); + alloc_sz =3D size_add(alloc_sz, array_size(n_bitrates, sizeof(struct ieee= 80211_rate))); + spt_band =3D kzalloc(alloc_sz, GFP_KERNEL); if (!spt_band) goto exit; =20 @@ -841,12 +843,10 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, = struct 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 kzalloc(param_len, GFP_KERNEL); if (!param) return -1; =20 - memset(param, 0, param_len); - param->cmd =3D IEEE_CMD_SET_ENCRYPTION; eth_broadcast_addr(param->sta_addr); =20 @@ -1430,7 +1430,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; @@ -1714,14 +1714,12 @@ 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 kzalloc(wep_total_len, GFP_KERNEL); if (!pwep) { ret =3D -ENOMEM; goto exit; } =20 - memset(pwep, 0, wep_total_len); - pwep->key_length =3D wep_key_len; pwep->length =3D wep_total_len; =20 @@ -2147,7 +2145,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 +2255,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 +2726,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 f7f23d1b1709..832e2aa9bcd9 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -556,7 +556,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/osdep_service.c b/drivers/sta= ging/rtl8723bs/os_dep/osdep_service.c index c999071cadde..5ff4ed73428a 100644 --- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c +++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c @@ -218,13 +218,8 @@ struct rtw_cbuf *rtw_cbuf_alloc(u32 size) { struct rtw_cbuf *cbuf; =20 - cbuf =3D rtw_malloc(struct_size(cbuf, bufs, size)); - - if (cbuf) { - cbuf->write =3D 0; - cbuf->read =3D 0; - cbuf->size =3D size; - } + cbuf =3D kzalloc(struct_size(cbuf, bufs, size), GFP_KERNEL); + cbuf->size =3D size; =20 return cbuf; } 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