On Sat, 2014-05-24 at 18:19 +1000, Vitaly Osipov wrote:
> This patch removes all usage of _malloc() and the function itself. Most
> uses are straightforward replacements by kmalloc(..., GFP_ATOMIC),
> because this was the definition of _malloc(). In a few places it
> was possible to use kzalloc() or memdup_user.
> 
> A further improvement would be to replace GFP_ATOMIC with GFP_KERNEL
> where possible.

I don't know if it's okay to do

v = ... sizeof(struct type_of_v) -> sizeof(*v)

along with these changes.

And in one or couple of places you may use kcalloc(x, y) instead of
kmalloc(x * y).

> 
> Verified by compilation only.
> 
> Initial replacement done by running a Coccinelle script along the lines
> of:
> 
> @@
> type T;
> expression E;
> identifier V;
> @@
> - V = (T) _malloc(E);
> + V = kmalloc(E, GFP_ATOMIC);
> 
> @@
> expression E, E1;
> @@
> - E1 = _malloc(E);
> + E1 = kmalloc(E, GFP_ATOMIC);
> 
> Signed-off-by: Vitaly Osipov <vitaly.osi...@gmail.com>
> ---
>  drivers/staging/rtl8712/hal_init.c            |   2 +-
>  drivers/staging/rtl8712/mlme_linux.c          |   3 +-
>  drivers/staging/rtl8712/osdep_service.h       |   5 --
>  drivers/staging/rtl8712/rtl8712_recv.c        |   6 +-
>  drivers/staging/rtl8712/rtl871x_cmd.c         | 123 
> +++++++++++---------------
>  drivers/staging/rtl8712/rtl871x_io.c          |  11 +--
>  drivers/staging/rtl8712/rtl871x_ioctl_linux.c |  35 +++-----
>  drivers/staging/rtl8712/rtl871x_mlme.c        |  17 ++--
>  drivers/staging/rtl8712/rtl871x_mp.c          |  10 +--
>  drivers/staging/rtl8712/rtl871x_recv.c        |   6 +-
>  drivers/staging/rtl8712/rtl871x_sta_mgt.c     |   4 +-
>  drivers/staging/rtl8712/rtl871x_xmit.c        |  16 ++--
>  drivers/staging/rtl8712/usb_ops_linux.c       |   2 +-
>  13 files changed, 102 insertions(+), 138 deletions(-)
> 
> diff --git a/drivers/staging/rtl8712/hal_init.c 
> b/drivers/staging/rtl8712/hal_init.c
> index d801c5a..36de7e4 100644
> --- a/drivers/staging/rtl8712/hal_init.c
> +++ b/drivers/staging/rtl8712/hal_init.c
> @@ -183,7 +183,7 @@ static u8 rtl8712_dl_fw(struct _adapter *padapter)
>               maxlen = (fwhdr.img_IMEM_size > fwhdr.img_SRAM_size) ?
>                         fwhdr.img_IMEM_size : fwhdr.img_SRAM_size;
>               maxlen += txdscp_sz;
> -             ptmpchar = _malloc(maxlen + FWBUFF_ALIGN_SZ);
> +             ptmpchar = kmalloc(maxlen + FWBUFF_ALIGN_SZ, GFP_ATOMIC);
>               if (ptmpchar == NULL)
>                       return ret;
>  
> diff --git a/drivers/staging/rtl8712/mlme_linux.c 
> b/drivers/staging/rtl8712/mlme_linux.c
> index f569a70..377efb8 100644
> --- a/drivers/staging/rtl8712/mlme_linux.c
> +++ b/drivers/staging/rtl8712/mlme_linux.c
> @@ -147,10 +147,9 @@ void r8712_report_sec_ie(struct _adapter *adapter, u8 
> authmode, u8 *sec_ie)
>  
>       buff = NULL;
>       if (authmode == _WPA_IE_ID_) {
> -             buff = _malloc(IW_CUSTOM_MAX);
> +             buff = kzalloc(IW_CUSTOM_MAX, GFP_ATOMIC);
>               if (buff == NULL)
>                       return;
> -             memset(buff, 0, IW_CUSTOM_MAX);
>               p = buff;
>               p += sprintf(p, "ASSOCINFO(ReqIEs=");
>               len = sec_ie[1] + 2;
> diff --git a/drivers/staging/rtl8712/osdep_service.h 
> b/drivers/staging/rtl8712/osdep_service.h
> index 566235a..09e1561 100644
> --- a/drivers/staging/rtl8712/osdep_service.h
> +++ b/drivers/staging/rtl8712/osdep_service.h
> @@ -168,11 +168,6 @@ static inline void sleep_schedulable(int ms)
>               return;
>  }
>  
> -static inline u8 *_malloc(u32 sz)
> -{
> -     return  kmalloc(sz, GFP_ATOMIC);
> -}
> -
>  static inline unsigned char _cancel_timer_ex(struct timer_list *ptimer)
>  {
>       return del_timer(ptimer);
> diff --git a/drivers/staging/rtl8712/rtl8712_recv.c 
> b/drivers/staging/rtl8712/rtl8712_recv.c
> index 667398a..1f70017 100644
> --- a/drivers/staging/rtl8712/rtl8712_recv.c
> +++ b/drivers/staging/rtl8712/rtl8712_recv.c
> @@ -58,12 +58,10 @@ int r8712_init_recv_priv(struct recv_priv *precvpriv, 
> struct _adapter *padapter)
>  
>       /*init recv_buf*/
>       _init_queue(&precvpriv->free_recv_buf_queue);
> -     precvpriv->pallocated_recv_buf = _malloc(NR_RECVBUFF *
> -                                      sizeof(struct recv_buf) + 4);
> +     precvpriv->pallocated_recv_buf = kzalloc(NR_RECVBUFF * sizeof(struct 
> recv_buf) + 4,
> +                                              GFP_ATOMIC);
>       if (precvpriv->pallocated_recv_buf == NULL)
>               return _FAIL;
> -     memset(precvpriv->pallocated_recv_buf, 0, NR_RECVBUFF *
> -             sizeof(struct recv_buf) + 4);
>       precvpriv->precv_buf = precvpriv->pallocated_recv_buf + 4 -
>                             ((addr_t) (precvpriv->pallocated_recv_buf) & 3);
>       precvbuf = (struct recv_buf *)precvpriv->precv_buf;
> diff --git a/drivers/staging/rtl8712/rtl871x_cmd.c 
> b/drivers/staging/rtl8712/rtl871x_cmd.c
> index a67185d..6a3cecc 100644
> --- a/drivers/staging/rtl8712/rtl871x_cmd.c
> +++ b/drivers/staging/rtl8712/rtl871x_cmd.c
> @@ -64,13 +64,14 @@ static sint _init_cmd_priv(struct cmd_priv *pcmdpriv)
>  
>       /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */
>       pcmdpriv->cmd_seq = 1;
> -     pcmdpriv->cmd_allocated_buf = _malloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ);
> +     pcmdpriv->cmd_allocated_buf = kmalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ,
> +                                           GFP_ATOMIC);
>       if (pcmdpriv->cmd_allocated_buf == NULL)
>               return _FAIL;
>       pcmdpriv->cmd_buf = pcmdpriv->cmd_allocated_buf  +  CMDBUFF_ALIGN_SZ -
>                           ((addr_t)(pcmdpriv->cmd_allocated_buf) &
>                           (CMDBUFF_ALIGN_SZ-1));
> -     pcmdpriv->rsp_allocated_buf = _malloc(MAX_RSPSZ + 4);
> +     pcmdpriv->rsp_allocated_buf = kmalloc(MAX_RSPSZ + 4, GFP_ATOMIC);
>       if (pcmdpriv->rsp_allocated_buf == NULL)
>               return _FAIL;
>       pcmdpriv->rsp_buf = pcmdpriv->rsp_allocated_buf  +  4 -
> @@ -85,7 +86,7 @@ static sint _init_evt_priv(struct evt_priv *pevtpriv)
>  {
>       /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */
>       pevtpriv->event_seq = 0;
> -     pevtpriv->evt_allocated_buf = _malloc(MAX_EVTSZ + 4);
> +     pevtpriv->evt_allocated_buf = kmalloc(MAX_EVTSZ + 4, GFP_ATOMIC);
>  
>       if (pevtpriv->evt_allocated_buf == NULL)
>               return _FAIL;
> @@ -226,11 +227,10 @@ u8 r8712_sitesurvey_cmd(struct _adapter *padapter,
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     psurveyPara = (struct sitesurvey_parm *)_malloc(
> -                    sizeof(struct sitesurvey_parm));
> +     psurveyPara = kmalloc(sizeof(struct sitesurvey_parm), GFP_ATOMIC);
>       if (psurveyPara == NULL) {
>               kfree((unsigned char *) ph2c);
>               return _FAIL;
> @@ -259,11 +259,11 @@ u8 r8712_setdatarate_cmd(struct _adapter *padapter, u8 
> *rateset)
>       struct setdatarate_parm *pbsetdataratepara;
>       struct cmd_priv         *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     pbsetdataratepara = (struct setdatarate_parm *)_malloc(
> -                          sizeof(struct setdatarate_parm));
> +     pbsetdataratepara = kmalloc(sizeof(struct setdatarate_parm),
> +                                 GFP_ATOMIC);
>       if (pbsetdataratepara == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -282,11 +282,11 @@ u8 r8712_set_chplan_cmd(struct _adapter *padapter, int 
> chplan)
>       struct SetChannelPlan_param *psetchplanpara;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     psetchplanpara = (struct SetChannelPlan_param *)
> -             _malloc(sizeof(struct SetChannelPlan_param));
> +     psetchplanpara = kmalloc(sizeof(struct SetChannelPlan_param),
> +                              GFP_ATOMIC);
>       if (psetchplanpara == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -304,11 +304,11 @@ u8 r8712_setbasicrate_cmd(struct _adapter *padapter, u8 
> *rateset)
>       struct setbasicrate_parm *pssetbasicratepara;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     pssetbasicratepara = (struct setbasicrate_parm *)_malloc(
> -                           sizeof(struct setbasicrate_parm));
> +     pssetbasicratepara = kmalloc(sizeof(struct setbasicrate_parm),
> +                                  GFP_ATOMIC);
>       if (pssetbasicratepara == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -327,11 +327,10 @@ u8 r8712_setptm_cmd(struct _adapter *padapter, u8 type)
>       struct writePTM_parm    *pwriteptmparm;
>       struct cmd_priv         *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     pwriteptmparm = (struct writePTM_parm *)
> -             _malloc(sizeof(struct writePTM_parm));
> +     pwriteptmparm = kmalloc(sizeof(struct writePTM_parm), GFP_ATOMIC);
>       if (pwriteptmparm == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -348,11 +347,10 @@ u8 r8712_setfwdig_cmd(struct _adapter *padapter, u8 
> type)
>       struct writePTM_parm *pwriteptmparm;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     pwriteptmparm = (struct writePTM_parm *)
> -             _malloc(sizeof(struct setdig_parm));
> +     pwriteptmparm = kmalloc(sizeof(struct setdig_parm), GFP_ATOMIC);
>       if (pwriteptmparm == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -369,11 +367,10 @@ u8 r8712_setfwra_cmd(struct _adapter *padapter, u8 type)
>       struct writePTM_parm *pwriteptmparm;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     pwriteptmparm = (struct writePTM_parm *)
> -             _malloc(sizeof(struct setra_parm));
> +     pwriteptmparm = kmalloc(sizeof(struct setra_parm), GFP_ATOMIC);
>       if (pwriteptmparm == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -390,11 +387,10 @@ u8 r8712_setrfreg_cmd(struct _adapter  *padapter, u8 
> offset, u32 val)
>       struct writeRF_parm *pwriterfparm;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     pwriterfparm = (struct writeRF_parm *)_malloc(
> -                     sizeof(struct writeRF_parm));
> +     pwriterfparm = kmalloc(sizeof(struct writeRF_parm), GFP_ATOMIC);
>       if (pwriterfparm == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -412,10 +408,10 @@ u8 r8712_getrfreg_cmd(struct _adapter *padapter, u8 
> offset, u8 *pval)
>       struct readRF_parm *prdrfparm;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     prdrfparm = (struct readRF_parm *)_malloc(sizeof(struct readRF_parm));
> +     prdrfparm = kmalloc(sizeof(struct readRF_parm), GFP_ATOMIC);
>       if (prdrfparm == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -456,7 +452,7 @@ u8 r8712_createbss_cmd(struct _adapter *padapter)
>                                &padapter->registrypriv.dev_network;
>  
>       padapter->ledpriv.LedControlHandler(padapter, LED_CTL_START_TO_LINK);
> -     pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (pcmd == NULL)
>               return _FAIL;
>       _init_listhead(&pcmd->list);
> @@ -490,7 +486,7 @@ u8 r8712_joinbss_cmd(struct _adapter  *padapter, struct 
> wlan_network *pnetwork)
>                                               network.InfrastructureMode;
>  
>       padapter->ledpriv.LedControlHandler(padapter, LED_CTL_START_TO_LINK);
> -     pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (pcmd == NULL)
>               return _FAIL;
>       t_len = sizeof(u32) + 6 * sizeof(unsigned char) + 2 +
> @@ -628,11 +624,10 @@ u8 r8712_disassoc_cmd(struct _adapter *padapter) /* for 
> sta_mode */
>       struct disconnect_parm *pdisconnect;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     pdisconnect_cmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     pdisconnect_cmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (pdisconnect_cmd == NULL)
>               return _FAIL;
> -     pdisconnect = (struct disconnect_parm *)_malloc(
> -                   sizeof(struct disconnect_parm));
> +     pdisconnect = kmalloc(sizeof(struct disconnect_parm), GFP_ATOMIC);
>       if (pdisconnect == NULL) {
>               kfree((u8 *)pdisconnect_cmd);
>               return _FAIL;
> @@ -651,11 +646,10 @@ u8 r8712_setopmode_cmd(struct _adapter *padapter,
>  
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     psetop = (struct setopmode_parm *)_malloc(
> -               sizeof(struct setopmode_parm));
> +     psetop = kmalloc(sizeof(struct setopmode_parm), GFP_ATOMIC);
>       if (psetop == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -676,17 +670,15 @@ u8 r8712_setstakey_cmd(struct _adapter *padapter, u8 
> *psta, u8 unicast_key)
>       struct security_priv *psecuritypriv = &padapter->securitypriv;
>       struct sta_info *sta = (struct sta_info *)psta;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     psetstakey_para = (struct set_stakey_parm *)_malloc(
> -                       sizeof(struct set_stakey_parm));
> +     psetstakey_para = kmalloc(sizeof(struct set_stakey_parm), GFP_ATOMIC);
>       if (psetstakey_para == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
>       }
> -     psetstakey_rsp = (struct set_stakey_rsp *)_malloc(
> -                       sizeof(struct set_stakey_rsp));
> +     psetstakey_rsp = kmalloc(sizeof(struct set_stakey_rsp), GFP_ATOMIC);
>       if (psetstakey_rsp == NULL) {
>               kfree((u8 *) ph2c);
>               kfree((u8 *) psetstakey_para);
> @@ -718,11 +710,10 @@ u8 r8712_setrfintfs_cmd(struct _adapter *padapter, u8 
> mode)
>       struct setrfintfs_parm *psetrfintfsparm;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     psetrfintfsparm = (struct setrfintfs_parm *)_malloc(
> -                        sizeof(struct setrfintfs_parm));
> +     psetrfintfsparm = kmalloc(sizeof(struct setrfintfs_parm), GFP_ATOMIC);
>       if (psetrfintfsparm == NULL) {
>               kfree((unsigned char *) ph2c);
>               return _FAIL;
> @@ -741,11 +732,10 @@ u8 r8712_setrttbl_cmd(struct _adapter *padapter,
>       struct setratable_parm *psetrttblparm;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     psetrttblparm = (struct setratable_parm *)_malloc(
> -                     sizeof(struct setratable_parm));
> +     psetrttblparm = kmalloc(sizeof(struct setratable_parm), GFP_ATOMIC);
>       if (psetrttblparm == NULL) {
>               kfree((unsigned char *)ph2c);
>               return _FAIL;
> @@ -763,11 +753,10 @@ u8 r8712_gettssi_cmd(struct _adapter *padapter, u8 
> offset, u8 *pval)
>       struct cmd_obj *ph2c;
>       struct readTSSI_parm *prdtssiparm;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     prdtssiparm = (struct readTSSI_parm *)
> -             _malloc(sizeof(struct readTSSI_parm));
> +     prdtssiparm = kmalloc(sizeof(struct readTSSI_parm), GFP_ATOMIC);
>       if (prdtssiparm == NULL) {
>               kfree((unsigned char *) ph2c);
>               return _FAIL;
> @@ -790,11 +779,11 @@ u8 r8712_setMacAddr_cmd(struct _adapter *padapter, u8 
> *mac_addr)
>       struct cmd_obj *ph2c;
>       struct SetMacAddr_param *psetMacAddr_para;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     psetMacAddr_para = (struct SetMacAddr_param *)_malloc(
> -                        sizeof(struct SetMacAddr_param));
> +     psetMacAddr_para = kmalloc(sizeof(struct SetMacAddr_param),
> +                                GFP_ATOMIC);
>       if (psetMacAddr_para == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
> @@ -813,17 +802,17 @@ u8 r8712_setassocsta_cmd(struct _adapter *padapter, u8 
> *mac_addr)
>       struct set_assocsta_parm        *psetassocsta_para;
>       struct set_assocsta_rsp         *psetassocsta_rsp = NULL;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     psetassocsta_para = (struct set_assocsta_parm *)
> -                         _malloc(sizeof(struct set_assocsta_parm));
> +     psetassocsta_para = kmalloc(sizeof(struct set_assocsta_parm),
> +                                 GFP_ATOMIC);
>       if (psetassocsta_para == NULL) {
>               kfree((u8 *) ph2c);
>               return _FAIL;
>       }
> -     psetassocsta_rsp = (struct set_assocsta_rsp *)_malloc(
> -                         sizeof(struct set_assocsta_rsp));
> +     psetassocsta_rsp = kmalloc(sizeof(struct set_assocsta_rsp),
> +                                GFP_ATOMIC);
>       if (psetassocsta_rsp == NULL) {
>               kfree((u8 *)ph2c);
>               kfree((u8 *)psetassocsta_para);
> @@ -843,11 +832,10 @@ u8 r8712_addbareq_cmd(struct _adapter *padapter, u8 tid)
>       struct cmd_obj          *ph2c;
>       struct addBaReq_parm    *paddbareq_parm;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     paddbareq_parm = (struct addBaReq_parm *)_malloc(
> -                       sizeof(struct addBaReq_parm));
> +     paddbareq_parm = kmalloc(sizeof(struct addBaReq_parm), GFP_ATOMIC);
>       if (paddbareq_parm == NULL) {
>               kfree((unsigned char *)ph2c);
>               return _FAIL;
> @@ -865,11 +853,10 @@ u8 r8712_wdg_wk_cmd(struct _adapter *padapter)
>       struct drvint_cmd_parm  *pdrvintcmd_param;
>       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     pdrvintcmd_param = (struct drvint_cmd_parm *)_malloc(
> -                        sizeof(struct drvint_cmd_parm));
> +     pdrvintcmd_param = kmalloc(sizeof(struct drvint_cmd_parm), GFP_ATOMIC);
>       if (pdrvintcmd_param == NULL) {
>               kfree((unsigned char *)ph2c);
>               return _FAIL;
> @@ -1040,16 +1027,14 @@ u8 r8712_disconnectCtrlEx_cmd(struct _adapter 
> *adapter, u32 enableDrvCtrl,
>       struct DisconnectCtrlEx_param *param;
>       struct cmd_priv *pcmdpriv = &adapter->cmdpriv;
>  
> -     ph2c = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     ph2c = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (ph2c == NULL)
>               return _FAIL;
> -     param = (struct DisconnectCtrlEx_param *)
> -             _malloc(sizeof(struct DisconnectCtrlEx_param));
> +     param = kzalloc(sizeof(struct DisconnectCtrlEx_param), GFP_ATOMIC);
>       if (param == NULL) {
>               kfree((unsigned char *) ph2c);
>               return _FAIL;
>       }
> -     memset(param, 0, sizeof(struct DisconnectCtrlEx_param));
>  
>       param->EnableDrvCtrl = (unsigned char)enableDrvCtrl;
>       param->TryPktCnt = (unsigned char)tryPktCnt;
> diff --git a/drivers/staging/rtl8712/rtl871x_io.c 
> b/drivers/staging/rtl8712/rtl871x_io.c
> index abc1c97..37a841a 100644
> --- a/drivers/staging/rtl8712/rtl871x_io.c
> +++ b/drivers/staging/rtl8712/rtl871x_io.c
> @@ -60,8 +60,8 @@ static uint _init_intf_hdl(struct _adapter *padapter,
>       set_intf_funs = &(r8712_usb_set_intf_funs);
>       set_intf_ops = &r8712_usb_set_intf_ops;
>       init_intf_priv = &r8712_usb_init_intf_priv;
> -     pintf_priv = pintf_hdl->pintfpriv = (struct intf_priv *)
> -                  _malloc(sizeof(struct intf_priv));
> +     pintf_priv = pintf_hdl->pintfpriv = kmalloc(sizeof(struct intf_priv),
> +                                                 GFP_ATOMIC);
>       if (pintf_priv == NULL)
>               goto _init_intf_hdl_fail;
>       pintf_hdl->adapter = (u8 *)padapter;
> @@ -112,15 +112,16 @@ uint r8712_alloc_io_queue(struct _adapter *adapter)
>       struct io_queue *pio_queue;
>       struct io_req *pio_req;
>  
> -     pio_queue = (struct io_queue *)_malloc(sizeof(struct io_queue));
> +     pio_queue = kmalloc(sizeof(struct io_queue), GFP_ATOMIC);
>       if (pio_queue == NULL)
>               goto alloc_io_queue_fail;
>       _init_listhead(&pio_queue->free_ioreqs);
>       _init_listhead(&pio_queue->processing);
>       _init_listhead(&pio_queue->pending);
>       spin_lock_init(&pio_queue->lock);
> -     pio_queue->pallocated_free_ioreqs_buf = (u8 *)_malloc(NUM_IOREQ *
> -                                             (sizeof(struct io_req)) + 4);
> +     pio_queue->pallocated_free_ioreqs_buf = kmalloc(NUM_IOREQ *
> +                                                     (sizeof(struct io_req)) 
> + 4,
> +                                                     GFP_ATOMIC);
>       if ((pio_queue->pallocated_free_ioreqs_buf) == NULL)
>               goto alloc_io_queue_fail;
>       memset(pio_queue->pallocated_free_ioreqs_buf, 0,
> diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c 
> b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> index 1eca992..e147c4b 100644
> --- a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> +++ b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> @@ -424,10 +424,9 @@ static int wpa_set_encryption(struct net_device *dev, 
> struct ieee_param *param,
>                       wep_key_idx = 0;
>               if (wep_key_len > 0) {
>                       wep_key_len = wep_key_len <= 5 ? 5 : 13;
> -                     pwep = (struct NDIS_802_11_WEP *)_malloc((u32)
> -                            (wep_key_len +
> -                            FIELD_OFFSET(struct NDIS_802_11_WEP,
> -                            KeyMaterial)));
> +                     pwep = kmalloc((u32)(wep_key_len +
> +                                    FIELD_OFFSET(struct NDIS_802_11_WEP, 
> KeyMaterial)),
> +                                    GFP_ATOMIC);
>                       if (pwep == NULL)
>                               return -ENOMEM;
>                       memset(pwep, 0, sizeof(struct NDIS_802_11_WEP));
> @@ -518,10 +517,9 @@ static int r871x_set_wpa_ie(struct _adapter *padapter, 
> char *pie,
>       if ((ielen > MAX_WPA_IE_LEN) || (pie == NULL))
>               return -EINVAL;
>       if (ielen) {
> -             buf = _malloc(ielen);
> +             buf = kmemdup(pie, ielen, GFP_ATOMIC);
>               if (buf == NULL)
>                       return -ENOMEM;
> -             memcpy(buf, pie , ielen);
>               pos = buf;
>               if (ielen < RSN_HEADER_LEN) {
>                       ret  = -EINVAL;
> @@ -959,13 +957,9 @@ static int r871x_wx_set_priv(struct net_device *dev,
>       struct iw_point *dwrq = (struct iw_point *)awrq;
>  
>       len = dwrq->length;
> -     ext = _malloc(len);
> -     if (!ext)
> -             return -ENOMEM;
> -     if (copy_from_user(ext, dwrq->pointer, len)) {
> -             kfree(ext);
> -             return -EFAULT;
> -     }
> +     ext = memdup_user(dwrq->pointer, len);
> +     if (IS_ERR(ext))
> +             return PTR_ERR(ext);
>  
>       if (0 == strcasecmp(ext, "RSSI")) {
>               /*Return received signal strength indicator in -db for */
> @@ -1819,10 +1813,9 @@ static int r871x_wx_set_enc_ext(struct net_device *dev,
>       }
>  
>       param_len = sizeof(struct ieee_param) + pext->key_len;
> -     param = (struct ieee_param *)_malloc(param_len);
> +     param = kzalloc(param_len, GFP_ATOMIC);
>       if (param == NULL)
>               return -ENOMEM;
> -     memset(param, 0, param_len);
>       param->cmd = IEEE_CMD_SET_ENCRYPTION;
>       memset(param->sta_addr, 0xff, ETH_ALEN);
>  
> @@ -1922,7 +1915,7 @@ static int r871x_mp_ioctl_hdl(struct net_device *dev,
>       bset = (u8)(p->flags & 0xFFFF);
>       len = p->length;
>       pparmbuf = NULL;
> -     pparmbuf = (u8 *)_malloc(len);
> +     pparmbuf = kmalloc(len, GFP_ATOMIC);
>       if (pparmbuf == NULL) {
>               ret = -ENOMEM;
>               goto _r871x_mp_ioctl_hdl_exit;
> @@ -2195,13 +2188,9 @@ static int wpa_supplicant_ioctl(struct net_device 
> *dev, struct iw_point *p)
>  
>       if (p->length < sizeof(struct ieee_param) || !p->pointer)
>               return -EINVAL;
> -     param = (struct ieee_param *)_malloc(p->length);
> -     if (param == NULL)
> -             return -ENOMEM;
> -     if (copy_from_user(param, p->pointer, p->length)) {
> -             kfree((u8 *)param);
> -             return -EFAULT;
> -     }
> +     param = memdup_user(p->pointer, p->length);
> +     if (IS_ERR(param))
> +             return PTR_ERR(param);
>       switch (param->cmd) {
>       case IEEE_CMD_SET_WPA_PARAM:
>               ret = wpa_set_param(dev, param->u.wpa_param.name,
> diff --git a/drivers/staging/rtl8712/rtl871x_mlme.c 
> b/drivers/staging/rtl8712/rtl871x_mlme.c
> index f8f651a..02339e1 100644
> --- a/drivers/staging/rtl8712/rtl871x_mlme.c
> +++ b/drivers/staging/rtl8712/rtl871x_mlme.c
> @@ -62,7 +62,8 @@ static sint _init_mlme_priv(struct _adapter *padapter)
>       _init_queue(&(pmlmepriv->scanned_queue));
>       set_scanned_network_val(pmlmepriv, 0);
>       memset(&pmlmepriv->assoc_ssid, 0, sizeof(struct ndis_802_11_ssid));
> -     pbuf = _malloc(MAX_BSS_CNT * (sizeof(struct wlan_network)));
> +     pbuf = kmalloc(MAX_BSS_CNT * (sizeof(struct wlan_network)),
> +                    GFP_ATOMIC);
>       if (pbuf == NULL)
>               return _FAIL;
>       pmlmepriv->free_bss_buf = pbuf;
> @@ -725,8 +726,7 @@ void r8712_joinbss_event_callback(struct _adapter 
> *adapter, u8 *pbuf)
>       struct wlan_network *pnetwork;
>  
>       if (sizeof(struct list_head) == 4 * sizeof(u32)) {
> -             pnetwork = (struct wlan_network *)
> -                     _malloc(sizeof(struct wlan_network));
> +             pnetwork = kmalloc(sizeof(struct wlan_network), GFP_ATOMIC);
>               memcpy((u8 *)pnetwork+16, (u8 *)pbuf + 8,
>                       sizeof(struct wlan_network) - 16);
>       } else
> @@ -1212,17 +1212,15 @@ sint r8712_set_auth(struct _adapter *adapter,
>       struct cmd_obj *pcmd;
>       struct setauth_parm *psetauthparm;
>  
> -     pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (pcmd == NULL)
>               return _FAIL;
>  
> -     psetauthparm = (struct setauth_parm *)_malloc(
> -                     sizeof(struct setauth_parm));
> +     psetauthparm = kzalloc(sizeof(struct setauth_parm), GFP_ATOMIC);
>       if (psetauthparm == NULL) {
>               kfree((unsigned char *)pcmd);
>               return _FAIL;
>       }
> -     memset(psetauthparm, 0, sizeof(struct setauth_parm));
>       psetauthparm->mode = (u8)psecuritypriv->AuthAlgrthm;
>       pcmd->cmdcode = _SetAuth_CMD_;
>       pcmd->parmbuf = (unsigned char *)psetauthparm;
> @@ -1244,15 +1242,14 @@ sint r8712_set_key(struct _adapter *adapter,
>       u8 keylen;
>       sint ret = _SUCCESS;
>  
> -     pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (pcmd == NULL)
>               return _FAIL;
> -     psetkeyparm = (struct setkey_parm *)_malloc(sizeof(struct setkey_parm));
> +     psetkeyparm = kzalloc(sizeof(struct setkey_parm), GFP_ATOMIC);
>       if (psetkeyparm == NULL) {
>               ret = _FAIL;
>               goto err_free_cmd;
>       }
> -     memset(psetkeyparm, 0, sizeof(struct setkey_parm));
>       if (psecuritypriv->AuthAlgrthm == 2) { /* 802.1X */
>               psetkeyparm->algorithm =
>                        (u8)psecuritypriv->XGrpPrivacy;
> diff --git a/drivers/staging/rtl8712/rtl871x_mp.c 
> b/drivers/staging/rtl8712/rtl871x_mp.c
> index 5fd60cd..389062f 100644
> --- a/drivers/staging/rtl8712/rtl871x_mp.c
> +++ b/drivers/staging/rtl8712/rtl871x_mp.c
> @@ -53,8 +53,9 @@ static int init_mp_priv(struct mp_priv *pmp_priv)
>       _init_mp_priv_(pmp_priv);
>       _init_queue(&pmp_priv->free_mp_xmitqueue);
>       pmp_priv->pallocated_mp_xmitframe_buf = NULL;
> -     pmp_priv->pallocated_mp_xmitframe_buf = _malloc(NR_MP_XMITFRAME *
> -                                      sizeof(struct mp_xmit_frame) + 4);
> +     pmp_priv->pallocated_mp_xmitframe_buf = kmalloc(NR_MP_XMITFRAME *
> +                                                     sizeof(struct 
> mp_xmit_frame) + 4,
> +                                                     GFP_ATOMIC);
>       if (pmp_priv->pallocated_mp_xmitframe_buf == NULL) {
>               res = _FAIL;
>               goto _exit_init_mp_priv;
> @@ -280,11 +281,10 @@ void r8712_SetChannel(struct _adapter *pAdapter)
>       struct SetChannel_parm *pparm = NULL;
>       u16 code = GEN_CMD_CODE(_SetChannel);
>  
> -     pcmd = (struct cmd_obj *)_malloc(sizeof(struct cmd_obj));
> +     pcmd = kmalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
>       if (pcmd == NULL)
>               return;
> -     pparm = (struct SetChannel_parm *)_malloc(sizeof(struct
> -                                      SetChannel_parm));
> +     pparm = kmalloc(sizeof(struct SetChannel_parm), GFP_ATOMIC);
>       if (pparm == NULL) {
>               kfree(pcmd);
>               return;
> diff --git a/drivers/staging/rtl8712/rtl871x_recv.c 
> b/drivers/staging/rtl8712/rtl871x_recv.c
> index 4ac4a1b..eb77587 100644
> --- a/drivers/staging/rtl8712/rtl871x_recv.c
> +++ b/drivers/staging/rtl8712/rtl871x_recv.c
> @@ -72,9 +72,9 @@ sint _r8712_init_recv_priv(struct recv_priv *precvpriv,
>       _init_queue(&precvpriv->recv_pending_queue);
>       precvpriv->adapter = padapter;
>       precvpriv->free_recvframe_cnt = NR_RECVFRAME;
> -     precvpriv->pallocated_frame_buf = _malloc(NR_RECVFRAME *
> -                                        sizeof(union recv_frame) +
> -                                        RXFRAME_ALIGN_SZ);
> +     precvpriv->pallocated_frame_buf = kmalloc(NR_RECVFRAME *
> +                                               sizeof(union recv_frame) + 
> RXFRAME_ALIGN_SZ,
> +                                               GFP_ATOMIC);
>       if (precvpriv->pallocated_frame_buf == NULL)
>               return _FAIL;
>       kmemleak_not_leak(precvpriv->pallocated_frame_buf);
> diff --git a/drivers/staging/rtl8712/rtl871x_sta_mgt.c 
> b/drivers/staging/rtl8712/rtl871x_sta_mgt.c
> index 8db6849..6c64984 100644
> --- a/drivers/staging/rtl8712/rtl871x_sta_mgt.c
> +++ b/drivers/staging/rtl8712/rtl871x_sta_mgt.c
> @@ -51,8 +51,8 @@ u32 _r8712_init_sta_priv(struct     sta_priv *pstapriv)
>       struct sta_info *psta;
>       s32 i;
>  
> -     pstapriv->pallocated_stainfo_buf = _malloc(sizeof(struct sta_info) *
> -                                                NUM_STA + 4);
> +     pstapriv->pallocated_stainfo_buf = kmalloc(sizeof(struct sta_info) *
> +                                                NUM_STA + 4, GFP_ATOMIC);
>       if (pstapriv->pallocated_stainfo_buf == NULL)
>               return _FAIL;
>       pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 -
> diff --git a/drivers/staging/rtl8712/rtl871x_xmit.c 
> b/drivers/staging/rtl8712/rtl871x_xmit.c
> index 78f570b..230681a 100644
> --- a/drivers/staging/rtl8712/rtl871x_xmit.c
> +++ b/drivers/staging/rtl8712/rtl871x_xmit.c
> @@ -87,8 +87,8 @@ sint _r8712_init_xmit_priv(struct xmit_priv *pxmitpriv,
>       and initialize free_xmit_frame below.
>       Please also apply  free_txobj to link_up all the xmit_frames...
>       */
> -     pxmitpriv->pallocated_frame_buf = _malloc(NR_XMITFRAME *
> -                                       sizeof(struct xmit_frame) + 4);
> +     pxmitpriv->pallocated_frame_buf = kmalloc(NR_XMITFRAME * sizeof(struct 
> xmit_frame) + 4,
> +                                               GFP_ATOMIC);
>       if (pxmitpriv->pallocated_frame_buf == NULL) {
>               pxmitpriv->pxmit_frame_buf = NULL;
>               return _FAIL;
> @@ -126,8 +126,8 @@ sint _r8712_init_xmit_priv(struct xmit_priv *pxmitpriv,
>       /*init xmit_buf*/
>       _init_queue(&pxmitpriv->free_xmitbuf_queue);
>       _init_queue(&pxmitpriv->pending_xmitbuf_queue);
> -     pxmitpriv->pallocated_xmitbuf = _malloc(NR_XMITBUFF *
> -                                     sizeof(struct xmit_buf) + 4);
> +     pxmitpriv->pallocated_xmitbuf = kmalloc(NR_XMITBUFF * sizeof(struct 
> xmit_buf) + 4,
> +                                             GFP_ATOMIC);
>       if (pxmitpriv->pallocated_xmitbuf  == NULL)
>               return _FAIL;
>       pxmitpriv->pxmitbuf = pxmitpriv->pallocated_xmitbuf + 4 -
> @@ -135,8 +135,8 @@ sint _r8712_init_xmit_priv(struct xmit_priv *pxmitpriv,
>       pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmitbuf;
>       for (i = 0; i < NR_XMITBUFF; i++) {
>               _init_listhead(&pxmitbuf->list);
> -             pxmitbuf->pallocated_buf = _malloc(MAX_XMITBUF_SZ +
> -                                        XMITBUF_ALIGN_SZ);
> +             pxmitbuf->pallocated_buf = kmalloc(MAX_XMITBUF_SZ + 
> XMITBUF_ALIGN_SZ,
> +                                                GFP_ATOMIC);
>               if (pxmitbuf->pallocated_buf == NULL)
>                       return _FAIL;
>               pxmitbuf->pbuf = pxmitbuf->pallocated_buf + XMITBUF_ALIGN_SZ -
> @@ -955,8 +955,8 @@ static void alloc_hwxmits(struct _adapter *padapter)
>       struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
>  
>       pxmitpriv->hwxmit_entry = HWXMIT_ENTRY;
> -     pxmitpriv->hwxmits = (struct hw_xmit *)_malloc(sizeof(struct hw_xmit) *
> -                          pxmitpriv->hwxmit_entry);
> +     pxmitpriv->hwxmits = kmalloc(sizeof(struct hw_xmit) * 
> pxmitpriv->hwxmit_entry,
> +                                  GFP_ATOMIC);
>       if (pxmitpriv->hwxmits == NULL)
>               return;
>       hwxmits = pxmitpriv->hwxmits;
> diff --git a/drivers/staging/rtl8712/usb_ops_linux.c 
> b/drivers/staging/rtl8712/usb_ops_linux.c
> index dca398a..064dc10 100644
> --- a/drivers/staging/rtl8712/usb_ops_linux.c
> +++ b/drivers/staging/rtl8712/usb_ops_linux.c
> @@ -495,7 +495,7 @@ int r8712_usbctrl_vendorreq(struct intf_priv *pintfpriv, 
> u8 request, u16 value,
>        */
>       u8 *palloc_buf, *pIo_buf;
>  
> -     palloc_buf = _malloc((u32) len + 16);
> +     palloc_buf = kmalloc((u32)len + 16, GFP_ATOMIC);
>       if (palloc_buf == NULL) {
>               dev_err(&udev->dev, "%s: Can't alloc memory for vendor 
> request\n",
>                       __func__);


-- 
Andy Shevchenko <andriy.shevche...@intel.com>
Intel Finland Oy

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to