Re: [PATCH rdma-next 05/15] RDMA/hns: Zero all allocated memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 12, 2018 at 04:16:21PM +0200, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@xxxxxxxxxxxx>
>
> Replace general allocations to be zero based.
>
> Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> ---
>  drivers/infiniband/hw/hns/hns_roce_cmd.c   | 7 +++----
>  drivers/infiniband/hw/hns/hns_roce_hem.c   | 4 ++--
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 6 +++---
>  drivers/infiniband/hw/hns/hns_roce_main.c  | 2 +-
>  drivers/infiniband/hw/hns/hns_roce_mr.c    | 6 +++---
>  drivers/infiniband/hw/hns/hns_roce_pd.c    | 2 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c    | 6 ++----
>  7 files changed, 15 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/infiniband/hw/hns/hns_roce_cmd.c b/drivers/infiniband/hw/hns/hns_roce_cmd.c
> index 9ebe839d8b24..e31bee390087 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_cmd.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_cmd.c
> @@ -215,9 +215,8 @@ int hns_roce_cmd_use_events(struct hns_roce_dev *hr_dev)
>  	struct hns_roce_cmdq *hr_cmd = &hr_dev->cmd;
>  	int i;
>
> -	hr_cmd->context = kmalloc_array(hr_cmd->max_cmds,
> -					sizeof(*hr_cmd->context),
> -					GFP_KERNEL);
> +	hr_cmd->context = kcalloc(hr_cmd->max_cmds, sizeof(*hr_cmd->context),
> +				  GFP_KERNEL);
>  	if (!hr_cmd->context)
>  		return -ENOMEM;
>
> @@ -259,7 +258,7 @@ struct hns_roce_cmd_mailbox
>  {
>  	struct hns_roce_cmd_mailbox *mailbox;
>
> -	mailbox = kmalloc(sizeof(*mailbox), GFP_KERNEL);
> +	mailbox = kzalloc(sizeof(*mailbox), GFP_KERNEL);
>  	if (!mailbox)
>  		return ERR_PTR(-ENOMEM);
>
> diff --git a/drivers/infiniband/hw/hns/hns_roce_hem.c b/drivers/infiniband/hw/hns/hns_roce_hem.c
> index 0eeabfbee192..3116d6e5dcbf 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_hem.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_hem.c
> @@ -204,7 +204,7 @@ static struct hns_roce_hem *hns_roce_alloc_hem(struct hns_roce_dev *hr_dev,
>
>  	WARN_ON(gfp_mask & __GFP_HIGHMEM);
>
> -	hem = kmalloc(sizeof(*hem),
> +	hem = kzalloc(sizeof(*hem),
>  		      gfp_mask & ~(__GFP_HIGHMEM | __GFP_NOWARN));
>  	if (!hem)
>  		return NULL;
> @@ -216,7 +216,7 @@ static struct hns_roce_hem *hns_roce_alloc_hem(struct hns_roce_dev *hr_dev,
>
>  	while (npages > 0) {
>  		if (!chunk) {
> -			chunk = kmalloc(sizeof(*chunk),
> +			chunk = kzalloc(sizeof(*chunk),
>  				gfp_mask & ~(__GFP_HIGHMEM | __GFP_NOWARN));
>  			if (!chunk)
>  				goto fail;
> diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> index 47e1b6ac1e1a..a202bb5e2a08 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> @@ -576,12 +576,12 @@ static int hns_roce_db_ext_init(struct hns_roce_dev *hr_dev, u32 sdb_ext_mod,
>  	priv = (struct hns_roce_v1_priv *)hr_dev->priv;
>  	db = &priv->db_table;
>
> -	db->ext_db = kmalloc(sizeof(*db->ext_db), GFP_KERNEL);
> +	db->ext_db = kzalloc(sizeof(*db->ext_db), GFP_KERNEL);
>  	if (!db->ext_db)
>  		return -ENOMEM;
>
>  	if (sdb_ext_mod) {
> -		db->ext_db->sdb_buf_list = kmalloc(
> +		db->ext_db->sdb_buf_list = kzalloc(
>  				sizeof(*db->ext_db->sdb_buf_list), GFP_KERNEL);
>  		if (!db->ext_db->sdb_buf_list) {
>  			ret = -ENOMEM;
> @@ -605,7 +605,7 @@ static int hns_roce_db_ext_init(struct hns_roce_dev *hr_dev, u32 sdb_ext_mod,
>  				 HNS_ROCE_V1_SDB_ALFUL);
>
>  	if (odb_ext_mod) {
> -		db->ext_db->odb_buf_list = kmalloc(
> +		db->ext_db->odb_buf_list = kzalloc(
>  				sizeof(*db->ext_db->odb_buf_list), GFP_KERNEL);
>  		if (!db->ext_db->odb_buf_list) {
>  			ret = -ENOMEM;
> diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c
> index c449b45f10a4..58aadd6daacb 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_main.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_main.c
> @@ -343,7 +343,7 @@ static struct ib_ucontext *hns_roce_alloc_ucontext(struct ib_device *ib_dev,
>
>  	resp.qp_tab_size = hr_dev->caps.num_qps;
>
> -	context = kmalloc(sizeof(*context), GFP_KERNEL);
> +	context = kzalloc(sizeof(*context), GFP_KERNEL);
>  	if (!context)
>  		return ERR_PTR(-ENOMEM);
>
> diff --git a/drivers/infiniband/hw/hns/hns_roce_mr.c b/drivers/infiniband/hw/hns/hns_roce_mr.c
> index f7256d88d38f..7823ec4ee5e5 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_mr.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_mr.c
> @@ -785,7 +785,7 @@ int hns_roce_buf_write_mtt(struct hns_roce_dev *hr_dev,
>  	int ret;
>  	u32 i;
>
> -	page_list = kmalloc_array(buf->npages, sizeof(*page_list), GFP_KERNEL);
> +	page_list = kcalloc(buf->npages, sizeof(*page_list), GFP_KERNEL);
>  	if (!page_list)
>  		return -ENOMEM;
>
> @@ -851,7 +851,7 @@ struct ib_mr *hns_roce_get_dma_mr(struct ib_pd *pd, int acc)
>  	struct hns_roce_mr *mr;
>  	int ret;
>
> -	mr = kmalloc(sizeof(*mr), GFP_KERNEL);
> +	mr = kzalloc(sizeof(*mr), GFP_KERNEL);
>  	if (mr == NULL)
>  		return  ERR_PTR(-ENOMEM);
>
> @@ -995,7 +995,7 @@ struct ib_mr *hns_roce_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
>  	int n;
>  	int i;
>
> -	mr = kmalloc(sizeof(*mr), GFP_KERNEL);
> +	mr = kzalloc(sizeof(*mr), GFP_KERNEL);
>  	if (!mr)
>  		return ERR_PTR(-ENOMEM);
>
> diff --git a/drivers/infiniband/hw/hns/hns_roce_pd.c b/drivers/infiniband/hw/hns/hns_roce_pd.c
> index bdab2188c04a..b3c559b0c71a 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_pd.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_pd.c
> @@ -65,7 +65,7 @@ struct ib_pd *hns_roce_alloc_pd(struct ib_device *ib_dev,
>  	struct hns_roce_pd *pd;
>  	int ret;
>
> -	pd = kmalloc(sizeof(*pd), GFP_KERNEL);
> +	pd = kzalloc(sizeof(*pd), GFP_KERNEL);
>  	if (!pd)
>  		return ERR_PTR(-ENOMEM);
>
> diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c
> index 088973a05882..3023c2a2cda7 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_qp.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_qp.c
> @@ -656,10 +656,8 @@ static int hns_roce_create_qp_common(struct hns_roce_dev *hr_dev,
>  			goto err_mtt;
>  		}
>
> -		hr_qp->sq.wrid = kmalloc_array(hr_qp->sq.wqe_cnt, sizeof(u64),
> -					       GFP_KERNEL);
> -		hr_qp->rq.wrid = kmalloc_array(hr_qp->rq.wqe_cnt, sizeof(u64),
> -					       GFP_KERNEL);
> +		hr_qp->sq.wrid = kcalloc(hr_qp->sq.wqe_cnt, sizeof(u64), GFP_KERNEL);
> +		hr_qp->rq.wrid = kcallocy(hr_qp->rq.wqe_cnt, sizeof(u64), GFP_KERNEL);

It should be kcalloc() and not kcallocy()

Thanks

>  		if (!hr_qp->sq.wrid || !hr_qp->rq.wrid) {
>  			ret = -ENOMEM;
>  			goto err_wrid;
> --
> 2.14.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux