]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
staging: rtl8723bs: replace rtw_zmalloc() with kzalloc()
authorMinu Jin <s9430939@naver.com>
Wed, 4 Feb 2026 13:13:45 +0000 (22:13 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Feb 2026 13:35:31 +0000 (14:35 +0100)
Replace the wrapper function rtw_zmalloc() with standard kzalloc().
Use kzalloc() for rtw_malloc() calls that were followed by manual
zero initialization.

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.

Additionally, use array_size() and size_add() to prevent potential
integer overflows during allocation size calculation.

Signed-off-by: Minu Jin <s9430939@naver.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Link: https://patch.msgid.link/20260204131347.3515949-4-s9430939@naver.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
14 files changed:
drivers/staging/rtl8723bs/core/rtw_ap.c
drivers/staging/rtl8723bs/core/rtw_cmd.c
drivers/staging/rtl8723bs/core/rtw_mlme.c
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
drivers/staging/rtl8723bs/core/rtw_recv.c
drivers/staging/rtl8723bs/core/rtw_security.c
drivers/staging/rtl8723bs/core/rtw_wlan_util.c
drivers/staging/rtl8723bs/core/rtw_xmit.c
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
drivers/staging/rtl8723bs/hal/sdio_ops.c
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
drivers/staging/rtl8723bs/os_dep/os_intfs.c
drivers/staging/rtl8723bs/os_dep/osdep_service.c
drivers/staging/rtl8723bs/os_dep/xmit_linux.c

index 9a40b107704d29b31092025bd08bf6307d8c45d1..79069055da7a0e5882f1ccb0a9fbd53f0e75be7a 100644 (file)
@@ -1229,13 +1229,13 @@ u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_KERNEL);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       psetstakey_para = rtw_zmalloc(sizeof(struct set_stakey_parm));
+       psetstakey_para = kzalloc(sizeof(*psetstakey_para), GFP_KERNEL);
        if (!psetstakey_para) {
                kfree(ph2c);
                res = _FAIL;
@@ -1269,12 +1269,12 @@ static int rtw_ap_set_key(struct adapter *padapter,
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        int res = _SUCCESS;
 
-       pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd = kzalloc(sizeof(*pcmd), GFP_KERNEL);
        if (!pcmd) {
                res = _FAIL;
                goto exit;
        }
-       psetkeyparm = rtw_zmalloc(sizeof(struct setkey_parm));
+       psetkeyparm = kzalloc(sizeof(*psetkeyparm), GFP_KERNEL);
        if (!psetkeyparm) {
                kfree(pcmd);
                res = _FAIL;
index edec2295b52d3a224ea6c7c9992ef77b7dfa52e9..b2e7f479f72b7fb628ad3029c047fac9ac5ad8b8 100644 (file)
@@ -171,15 +171,13 @@ int rtw_init_cmd_priv(struct      cmd_priv *pcmdpriv)
 
        pcmdpriv->cmd_seq = 1;
 
-       pcmdpriv->cmd_allocated_buf = rtw_zmalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ);
-
+       pcmdpriv->cmd_allocated_buf = kzalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ, GFP_ATOMIC);
        if (!pcmdpriv->cmd_allocated_buf)
                return -ENOMEM;
 
        pcmdpriv->cmd_buf = PTR_ALIGN(pcmdpriv->cmd_allocated_buf, CMDBUFF_ALIGN_SZ);
 
-       pcmdpriv->rsp_allocated_buf = rtw_zmalloc(MAX_RSPSZ + 4);
-
+       pcmdpriv->rsp_allocated_buf = 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, struct ndis_802_11_ssid *ssid,
        if (check_fwstate(pmlmepriv, _FW_LINKED))
                rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_SCAN, 1);
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c)
                return _FAIL;
 
-       psurveyPara = rtw_zmalloc(sizeof(struct sitesurvey_parm));
+       psurveyPara = 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 = &padapter->registrypriv.dev_network;
        u8 res = _SUCCESS;
 
-       pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd = kzalloc(sizeof(*pcmd), GFP_ATOMIC);
        if (!pcmd) {
                res = _FAIL;
                goto exit;
@@ -636,7 +634,7 @@ int rtw_startbss_cmd(struct adapter  *padapter, int flags)
                start_bss_network(padapter);
        } else {
                /* need enqueue, prepare cmd_obj and enqueue */
-               pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
+               pcmd = kzalloc(sizeof(*pcmd), GFP_KERNEL);
                if (!pcmd) {
                        res = _FAIL;
                        goto exit;
@@ -688,7 +686,7 @@ u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
        u32 tmp_len;
        u8 *ptmp = NULL;
 
-       pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd = kzalloc(sizeof(*pcmd), GFP_KERNEL);
        if (!pcmd) {
                res = _FAIL;
                goto exit;
@@ -797,7 +795,7 @@ u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueu
        u8 res = _SUCCESS;
 
        /* prepare cmd parameter */
-       param = rtw_zmalloc(sizeof(*param));
+       param = kzalloc(sizeof(*param), GFP_KERNEL);
        if (!param) {
                res = _FAIL;
                goto exit;
@@ -806,7 +804,7 @@ u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueu
 
        if (enqueue) {
                /* need enqueue, prepare cmd_obj and enqueue */
-               cmdobj = rtw_zmalloc(sizeof(*cmdobj));
+               cmdobj = kzalloc(sizeof(*cmdobj), GFP_KERNEL);
                if (!cmdobj) {
                        res = _FAIL;
                        kfree(param);
@@ -833,8 +831,7 @@ u8 rtw_setopmode_cmd(struct adapter  *padapter, enum ndis_802_11_network_infrast
        struct  cmd_priv   *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       psetop = rtw_zmalloc(sizeof(struct setopmode_parm));
-
+       psetop = kzalloc(sizeof(*psetop), GFP_KERNEL);
        if (!psetop) {
                res = _FAIL;
                goto exit;
@@ -842,7 +839,7 @@ u8 rtw_setopmode_cmd(struct adapter  *padapter, enum ndis_802_11_network_infrast
        psetop->mode = (u8)networktype;
 
        if (enqueue) {
-               ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+               ph2c = kzalloc(sizeof(*ph2c), GFP_KERNEL);
                if (!ph2c) {
                        kfree(psetop);
                        res = _FAIL;
@@ -869,7 +866,7 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_
        struct security_priv *psecuritypriv = &padapter->securitypriv;
        u8 res = _SUCCESS;
 
-       psetstakey_para = rtw_zmalloc(sizeof(struct set_stakey_parm));
+       psetstakey_para = kzalloc(sizeof(*psetstakey_para), GFP_KERNEL);
        if (!psetstakey_para) {
                res = _FAIL;
                goto exit;
@@ -891,14 +888,14 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_
        padapter->securitypriv.busetkipkey = true;
 
        if (enqueue) {
-               ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+               ph2c = kzalloc(sizeof(*ph2c), GFP_KERNEL);
                if (!ph2c) {
                        kfree(psetstakey_para);
                        res = _FAIL;
                        goto exit;
                }
 
-               psetstakey_rsp = rtw_zmalloc(sizeof(struct set_stakey_rsp));
+               psetstakey_rsp = 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, struct sta_info *sta, u8 enqueu
                        rtw_camid_free(padapter, cam_id);
                }
        } else {
-               ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+               ph2c = kzalloc(sizeof(*ph2c), GFP_KERNEL);
                if (!ph2c) {
                        res = _FAIL;
                        goto exit;
                }
 
-               psetstakey_para = rtw_zmalloc(sizeof(struct set_stakey_parm));
+               psetstakey_para = kzalloc(sizeof(*psetstakey_para), GFP_KERNEL);
                if (!psetstakey_para) {
                        kfree(ph2c);
                        res = _FAIL;
                        goto exit;
                }
 
-               psetstakey_rsp = rtw_zmalloc(sizeof(struct set_stakey_rsp));
+               psetstakey_rsp = 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)
 
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       paddbareq_parm = rtw_zmalloc(sizeof(struct addBaReq_parm));
+       paddbareq_parm = kzalloc(sizeof(*paddbareq_parm), GFP_ATOMIC);
        if (!paddbareq_parm) {
                kfree(ph2c);
                res = _FAIL;
@@ -1012,13 +1009,13 @@ u8 rtw_reset_securitypriv_cmd(struct adapter *padapter)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC);
        if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
@@ -1045,13 +1042,13 @@ u8 rtw_free_assoc_resources_cmd(struct adapter *padapter)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC);
        if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
@@ -1079,13 +1076,13 @@ u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter)
        u8 res = _SUCCESS;
 
        /* only  primary padapter does this cmd */
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC);
        if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
@@ -1319,13 +1316,13 @@ u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue)
        u8 res = _SUCCESS;
 
        if (enqueue) {
-               ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+               ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
                if (!ph2c) {
                        res = _FAIL;
                        goto exit;
                }
 
-               pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+               pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC);
                if (!pdrvextra_cmd_parm) {
                        kfree(ph2c);
                        res = _FAIL;
@@ -1360,13 +1357,13 @@ u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC);
        if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
@@ -1422,13 +1419,13 @@ u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, u8 *psta)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC);
        if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
@@ -1456,13 +1453,13 @@ u8 rtw_ps_cmd(struct adapter *padapter)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       ppscmd = rtw_zmalloc(sizeof(struct cmd_obj));
+       ppscmd = kzalloc(sizeof(*ppscmd), GFP_ATOMIC);
        if (!ppscmd) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC);
        if (!pdrvextra_cmd_parm) {
                kfree(ppscmd);
                res = _FAIL;
@@ -1526,13 +1523,13 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC);
        if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
@@ -1618,13 +1615,13 @@ u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, u8 *pbuf, u16 length)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC);
        if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
@@ -1653,13 +1650,13 @@ u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_KERNEL);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
+       pdrvextra_cmd_parm = kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_KERNEL);
        if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
index 95d05c68662e2e39bfcf65cb3def8b3ea9ae1a6f..22dc36e8e38a10a1ef856d7334b171ca37197963 100644 (file)
@@ -1875,13 +1875,13 @@ signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecurity
        struct  cmd_priv *pcmdpriv = &adapter->cmdpriv;
        signed int              res = _SUCCESS;
 
-       pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd = kzalloc(sizeof(*pcmd), GFP_KERNEL);
        if (!pcmd) {
                res = _FAIL;  /* try again */
                goto exit;
        }
 
-       psetauthparm = rtw_zmalloc(sizeof(struct setauth_parm));
+       psetauthparm = kzalloc(sizeof(*psetauthparm), GFP_KERNEL);
        if (!psetauthparm) {
                kfree(pcmd);
                res = _FAIL;
@@ -1912,7 +1912,7 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp
        struct cmd_priv *pcmdpriv = &adapter->cmdpriv;
        signed int      res = _SUCCESS;
 
-       psetkeyparm = rtw_zmalloc(sizeof(struct setkey_parm));
+       psetkeyparm = kzalloc(sizeof(*psetkeyparm), GFP_KERNEL);
        if (!psetkeyparm) {
                res = _FAIL;
                goto exit;
@@ -1954,7 +1954,7 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp
        }
 
        if (enqueue) {
-               pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
+               pcmd = kzalloc(sizeof(*pcmd), GFP_KERNEL);
                if (!pcmd) {
                        kfree(psetkeyparm);
                        res = _FAIL;  /* try again */
@@ -2061,7 +2061,7 @@ static void rtw_report_sec_ie(struct adapter *adapter, u8 authmode, u8 *sec_ie)
 
        buff = NULL;
        if (authmode == WLAN_EID_VENDOR_SPECIFIC) {
-               buff = rtw_zmalloc(IW_CUSTOM_MAX);
+               buff = kzalloc(IW_CUSTOM_MAX, GFP_ATOMIC);
                if (!buff)
                        return;
 
index 223decf40824998b13323bfa355ccd4c829e244d..5a4fdf0cddd2ded3b44290374e89db7f3b9abfe0 100644 (file)
@@ -2327,7 +2327,7 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
                        u8 *buf;
                        u8 *ies = pmgntframe->buf_addr+TXDESC_OFFSET+sizeof(struct ieee80211_hdr_3addr);
 
-                       buf = rtw_zmalloc(MAX_IE_SZ);
+                       buf = kzalloc(MAX_IE_SZ, GFP_ATOMIC);
                        if (!buf)
                                return;
 
@@ -4376,12 +4376,12 @@ void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame
        pmlmeext = &padapter->mlmeextpriv;
        pcmdpriv = &padapter->cmdpriv;
 
-       pcmd_obj = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd_obj = kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC);
        if (!pcmd_obj)
                return;
 
        cmdsz = (sizeof(struct survey_event) + sizeof(struct C2HEvent_Header));
-       pevtcmd = rtw_zmalloc(cmdsz);
+       pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
        if (!pevtcmd) {
                kfree(pcmd_obj);
                return;
@@ -4429,12 +4429,12 @@ void report_surveydone_event(struct adapter *padapter)
        struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
 
-       pcmd_obj = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd_obj = kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC);
        if (!pcmd_obj)
                return;
 
        cmdsz = (sizeof(struct surveydone_event) + sizeof(struct C2HEvent_Header));
-       pevtcmd = rtw_zmalloc(cmdsz);
+       pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
        if (!pevtcmd) {
                kfree(pcmd_obj);
                return;
@@ -4474,12 +4474,12 @@ void report_join_res(struct adapter *padapter, int res)
        struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
 
-       pcmd_obj = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd_obj = kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC);
        if (!pcmd_obj)
                return;
 
        cmdsz = (sizeof(struct joinbss_event) + sizeof(struct C2HEvent_Header));
-       pevtcmd = rtw_zmalloc(cmdsz);
+       pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
        if (!pevtcmd) {
                kfree(pcmd_obj);
                return;
@@ -4523,12 +4523,12 @@ void report_wmm_edca_update(struct adapter *padapter)
        struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
 
-       pcmd_obj = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd_obj = kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC);
        if (!pcmd_obj)
                return;
 
        cmdsz = (sizeof(struct wmm_event) + sizeof(struct C2HEvent_Header));
-       pevtcmd = rtw_zmalloc(cmdsz);
+       pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
        if (!pevtcmd) {
                kfree(pcmd_obj);
                return;
@@ -4569,12 +4569,12 @@ void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsi
        struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
 
-       pcmd_obj = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd_obj = kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC);
        if (!pcmd_obj)
                return;
 
        cmdsz = (sizeof(struct stadel_event) + sizeof(struct C2HEvent_Header));
-       pevtcmd = rtw_zmalloc(cmdsz);
+       pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
        if (!pevtcmd) {
                kfree(pcmd_obj);
                return;
@@ -4620,12 +4620,12 @@ void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int
        struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
 
-       pcmd_obj = rtw_zmalloc(sizeof(struct cmd_obj));
+       pcmd_obj = kzalloc(sizeof(*pcmd_obj), GFP_ATOMIC);
        if (!pcmd_obj)
                return;
 
        cmdsz = (sizeof(struct stassoc_event) + sizeof(struct C2HEvent_Header));
-       pevtcmd = rtw_zmalloc(cmdsz);
+       pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
        if (!pevtcmd) {
                kfree(pcmd_obj);
                return;
@@ -5074,11 +5074,11 @@ void survey_timer_hdl(struct timer_list *t)
                        pmlmeext->scan_abort = false;/* reset */
                }
 
-               ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+               ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
                if (!ph2c)
                        return;
 
-               psurveyPara = rtw_zmalloc(sizeof(struct sitesurvey_parm));
+               psurveyPara = kzalloc(sizeof(*psurveyPara), GFP_ATOMIC);
                if (!psurveyPara) {
                        kfree(ph2c);
                        return;
@@ -5689,7 +5689,7 @@ u8 chk_bmc_sleepq_cmd(struct adapter *padapter)
        struct cmd_priv *pcmdpriv = &(padapter->cmdpriv);
        u8 res = _SUCCESS;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
@@ -5713,13 +5713,13 @@ u8 set_tx_beacon_cmd(struct adapter *padapter)
        u8 res = _SUCCESS;
        int len_diff = 0;
 
-       ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
+       ph2c = kzalloc(sizeof(*ph2c), GFP_ATOMIC);
        if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
-       ptxBeacon_parm = rtw_zmalloc(sizeof(struct Tx_Beacon_param));
+       ptxBeacon_parm = kzalloc(sizeof(*ptxBeacon_parm), GFP_ATOMIC);
        if (!ptxBeacon_parm) {
                kfree(ph2c);
                res = _FAIL;
index 1a4dee5a2dbc6480d2c35edce14a19c48b2b7df8..fff4aeb16ab83cd3466b6825423a1ad8dc466330 100644 (file)
@@ -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 = pattrib->pkt_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
-                       mgmt_DATA = rtw_zmalloc(data_len);
+                       mgmt_DATA = kzalloc(data_len, GFP_ATOMIC);
                        if (!mgmt_DATA)
                                goto validate_80211w_fail;
                        precv_frame = decryptor(adapter, precv_frame);
index c7790d8005f00353bf5a4347bf67c4fd268bff20..c868dfcf2ed5d9b1593fec464ced965f304846cb 100644 (file)
@@ -1294,8 +1294,7 @@ u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe)
        __le64 le_tmp64;
 
        ori_len = pattrib->pkt_len - WLAN_HDR_A3_LEN + BIP_AAD_SIZE;
-       BIP_AAD = rtw_zmalloc(ori_len);
-
+       BIP_AAD = kzalloc(ori_len, GFP_KERNEL);
        if (!BIP_AAD)
                return _FAIL;
 
index 622c3b03f6c729f586ebf47680e69fe4f0f6e48c..a1663204a178b82fa90569578d7cb78820ce18d6 100644 (file)
@@ -1131,7 +1131,7 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
        if (memcmp(cur_network->network.mac_address, pbssid, 6))
                return true;
 
-       bssid = rtw_zmalloc(sizeof(struct wlan_bssid_ex));
+       bssid = kzalloc(sizeof(*bssid), GFP_KERNEL);
        if (!bssid)
                return true;
 
index 64e8c0e6e38d608ada9b833e1233a25d33324a45..222851e8d985b42df85dff30917e1c5cd6e9bc33 100644 (file)
@@ -1194,7 +1194,7 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s
        pwlanhdr = (struct ieee80211_hdr *)pframe;
 
        ori_len = BIP_AAD_SIZE + pattrib->pktlen;
-       tmp_buf = BIP_AAD = rtw_zmalloc(ori_len);
+       tmp_buf = BIP_AAD = kzalloc(ori_len, GFP_ATOMIC);
        subtype = GetFrameSubType(pframe); /* bit(7)~bit(2) */
 
        if (!BIP_AAD)
@@ -1698,8 +1698,7 @@ struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv)
        struct xmit_frame *pxframe = NULL;
        u8 *alloc_addr;
 
-       alloc_addr = rtw_zmalloc(sizeof(struct xmit_frame) + 4);
-
+       alloc_addr = kzalloc(sizeof(*pxframe) + 4, GFP_ATOMIC);
        if (!alloc_addr)
                goto exit;
 
@@ -1870,8 +1869,7 @@ s32 rtw_alloc_hwxmits(struct adapter *padapter)
 
        pxmitpriv->hwxmits = NULL;
 
-       pxmitpriv->hwxmits = rtw_zmalloc(sizeof(struct hw_xmit) * pxmitpriv->hwxmit_entry);
-
+       pxmitpriv->hwxmits = kcalloc(pxmitpriv->hwxmit_entry, sizeof(*hwxmits), GFP_ATOMIC);
        if (!pxmitpriv->hwxmits)
                return _FAIL;
 
index 0980fa4718b168ddaded5b65a63316a16cc71a07..4cff14fe5d7a50c6c4775a8fac84f88ff6061448 100644 (file)
@@ -380,7 +380,7 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter)
        spin_lock_init(&precvpriv->recv_buf_pending_queue.lock);
 
        n = NR_RECVBUFF * sizeof(struct recv_buf) + 4;
-       precvpriv->pallocated_recv_buf = rtw_zmalloc(n);
+       precvpriv->pallocated_recv_buf = kzalloc(n, GFP_KERNEL);
        if (!precvpriv->pallocated_recv_buf) {
                res = _FAIL;
                goto exit;
index 707e5879d943eec6b18c9d4fa17b8fd9b79e8cd7..e0a676bc4e8861014af87b9f4bc72f21e222ff6e 100644 (file)
@@ -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;
 
-               c2h_evt = rtw_zmalloc(16);
+               c2h_evt = kzalloc(16, GFP_ATOMIC);
                if (c2h_evt) {
                        if (c2h_evt_read_88xx(adapter, (u8 *)c2h_evt) == _SUCCESS) {
                                if (c2h_id_filter_ccx_8723b((u8 *)c2h_evt)) {
index 3cc3faba8ce2c1868d4b187806f2d789c160ce16..a47d0d3fa2b7eaa1e79aa03ed37654b36a798c6c 100644 (file)
@@ -111,6 +111,7 @@ static struct ieee80211_supported_band *rtw_spt_band_alloc(
 {
        struct ieee80211_supported_band *spt_band = NULL;
        int n_channels, n_bitrates;
+       size_t alloc_sz;
 
        if (band == NL80211_BAND_2GHZ) {
                n_channels = RTW_2G_CHANNELS_NUM;
@@ -119,9 +120,10 @@ static struct ieee80211_supported_band *rtw_spt_band_alloc(
                goto exit;
        }
 
-       spt_band = rtw_zmalloc(sizeof(struct ieee80211_supported_band) +
-                              sizeof(struct ieee80211_channel) * n_channels +
-                              sizeof(struct ieee80211_rate) * n_bitrates);
+       alloc_sz = sizeof(*spt_band);
+       alloc_sz = size_add(alloc_sz, array_size(n_channels, sizeof(struct ieee80211_channel)));
+       alloc_sz = size_add(alloc_sz, array_size(n_bitrates, sizeof(struct ieee80211_rate)));
+       spt_band = kzalloc(alloc_sz, GFP_KERNEL);
        if (!spt_band)
                goto exit;
 
@@ -841,11 +843,9 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
 
        param_len = sizeof(struct ieee_param) + params->key_len;
-       param = rtw_malloc(param_len);
+       param = kzalloc(param_len, GFP_KERNEL);
        if (!param)
-               return -1;
-
-       memset(param, 0, param_len);
+               return -ENOMEM;
 
        param->cmd = IEEE_CMD_SET_ENCRYPTION;
        eth_broadcast_addr(param->sta_addr);
@@ -1430,7 +1430,7 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel
                goto exit;
        }
 
-       buf = rtw_zmalloc(ielen);
+       buf = kzalloc(ielen, GFP_KERNEL);
        if (!buf) {
                ret =  -ENOMEM;
                goto exit;
@@ -1714,14 +1714,12 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
                        wep_key_len = wep_key_len <= 5 ? 5 : 13;
                        wep_total_len = wep_key_len +
                                offsetof(struct ndis_802_11_wep, key_material);
-                       pwep = rtw_malloc(wep_total_len);
+                       pwep = kzalloc(wep_total_len, GFP_KERNEL);
                        if (!pwep) {
                                ret = -ENOMEM;
                                goto exit;
                        }
 
-                       memset(pwep, 0, wep_total_len);
-
                        pwep->key_length = wep_key_len;
                        pwep->length = wep_total_len;
 
@@ -2147,7 +2145,7 @@ static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, str
        pnpi->sizeof_priv = sizeof(struct adapter);
 
        /*  wdev */
-       mon_wdev = rtw_zmalloc(sizeof(struct wireless_dev));
+       mon_wdev = kzalloc(sizeof(*mon_wdev), GFP_KERNEL);
        if (!mon_wdev) {
                ret = -ENOMEM;
                goto out;
@@ -2257,7 +2255,7 @@ static int rtw_add_beacon(struct adapter *adapter, const u8 *head, size_t head_l
        if (head_len < 24)
                return -EINVAL;
 
-       pbuf = rtw_zmalloc(head_len + tail_len);
+       pbuf = kzalloc(head_len + tail_len, GFP_KERNEL);
        if (!pbuf)
                return -ENOMEM;
 
@@ -2728,7 +2726,7 @@ int rtw_wdev_alloc(struct adapter *padapter, struct device *dev)
                goto free_wiphy;
 
        /*  wdev */
-       wdev = rtw_zmalloc(sizeof(struct wireless_dev));
+       wdev = kzalloc(sizeof(*wdev), GFP_KERNEL);
        if (!wdev) {
                ret = -ENOMEM;
                goto unregister_wiphy;
index b1535a863872cf3cd5d83a15ef4fee4a97c390c0..21a0c3cf4c319b935c7c143faf2466cb435b79fd 100644 (file)
@@ -568,7 +568,7 @@ struct dvobj_priv *devobj_init(void)
 {
        struct dvobj_priv *pdvobj = NULL;
 
-       pdvobj = rtw_zmalloc(sizeof(*pdvobj));
+       pdvobj = kzalloc(sizeof(*pdvobj), GFP_KERNEL);
        if (!pdvobj)
                return NULL;
 
index c999071cadde1259c3a74435465b849cacc90b6c..5ff4ed73428a90cf8d078cd13950897f5efab63b 100644 (file)
@@ -218,13 +218,8 @@ struct rtw_cbuf *rtw_cbuf_alloc(u32 size)
 {
        struct rtw_cbuf *cbuf;
 
-       cbuf = rtw_malloc(struct_size(cbuf, bufs, size));
-
-       if (cbuf) {
-               cbuf->write = 0;
-               cbuf->read = 0;
-               cbuf->size = size;
-       }
+       cbuf = kzalloc(struct_size(cbuf, bufs, size), GFP_KERNEL);
+       cbuf->size = size;
 
        return cbuf;
 }
index 72cf8cd5f7c6569faf9cc4507d23362d31b15347..e060a84e0d518e4360cdd8990bf6fb142192be22 100644 (file)
@@ -49,7 +49,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 = rtw_zmalloc(alloc_sz);
+               pxmitbuf->pallocated_buf = kzalloc(alloc_sz, GFP_KERNEL);
                if (!pxmitbuf->pallocated_buf)
                        return _FAIL;