Re: [PATCH v3 15/27] net: use zeroing allocator rather than allocator followed by memset zero

From: Tariq Toukan
Date: Sun Jul 07 2019 - 02:45:57 EST




On 7/2/2019 10:58 AM, Fuqian Huang wrote:
> Replace allocator followed by memset with 0 with zeroing allocator.
>
> Signed-off-by: Fuqian Huang <huangfq.daxian@xxxxxxxxx>
> ---
> Changes in v3:
> - Resend
>
> drivers/net/eql.c | 3 +--
> drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c | 4 +---
> drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c | 4 +---
> drivers/net/ethernet/mellanox/mlx4/en_rx.c | 3 +--
> 4 files changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/eql.c b/drivers/net/eql.c
> index 74263f8efe1a..2f101a6036e6 100644
> --- a/drivers/net/eql.c
> +++ b/drivers/net/eql.c
> @@ -419,14 +419,13 @@ static int eql_enslave(struct net_device *master_dev, slaving_request_t __user *
> if ((master_dev->flags & IFF_UP) == IFF_UP) {
> /* slave is not a master & not already a slave: */
> if (!eql_is_master(slave_dev) && !eql_is_slave(slave_dev)) {
> - slave_t *s = kmalloc(sizeof(*s), GFP_KERNEL);
> + slave_t *s = kzalloc(sizeof(*s), GFP_KERNEL);
> equalizer_t *eql = netdev_priv(master_dev);
> int ret;
>
> if (!s)
> return -ENOMEM;
>
> - memset(s, 0, sizeof(*s));
> s->dev = slave_dev;
> s->priority = srq.priority;
> s->priority_bps = srq.priority;
> diff --git a/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c b/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
> index 43d11c38b38a..cf3835da32c8 100644
> --- a/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
> +++ b/drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
> @@ -719,12 +719,10 @@ static int cn23xx_setup_pf_mbox(struct octeon_device *oct)
> for (i = 0; i < oct->sriov_info.max_vfs; i++) {
> q_no = i * oct->sriov_info.rings_per_vf;
>
> - mbox = vmalloc(sizeof(*mbox));
> + mbox = vzalloc(sizeof(*mbox));
> if (!mbox)
> goto free_mbox;
>
> - memset(mbox, 0, sizeof(struct octeon_mbox));
> -
> spin_lock_init(&mbox->lock);
>
> mbox->oct_dev = oct;
> diff --git a/drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c b/drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
> index fda49404968c..b3bd2767d3dd 100644
> --- a/drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
> +++ b/drivers/net/ethernet/cavium/liquidio/cn23xx_vf_device.c
> @@ -279,12 +279,10 @@ static int cn23xx_setup_vf_mbox(struct octeon_device *oct)
> {
> struct octeon_mbox *mbox = NULL;
>
> - mbox = vmalloc(sizeof(*mbox));
> + mbox = vzalloc(sizeof(*mbox));
> if (!mbox)
> return 1;
>
> - memset(mbox, 0, sizeof(struct octeon_mbox));
> -
> spin_lock_init(&mbox->lock);
>
> mbox->oct_dev = oct;
> diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
> index 6c01314e87b0..f1dff5c47676 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
> +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
> @@ -1062,7 +1062,7 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv, int qpn,
> struct mlx4_qp_context *context;
> int err = 0;
>
> - context = kmalloc(sizeof(*context), GFP_KERNEL);
> + context = kzalloc(sizeof(*context), GFP_KERNEL);
> if (!context)
> return -ENOMEM;
>
> @@ -1073,7 +1073,6 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv, int qpn,
> }
> qp->event = mlx4_en_sqp_event;
>
> - memset(context, 0, sizeof(*context));
> mlx4_en_fill_qp_context(priv, ring->actual_size, ring->stride, 0, 0,
> qpn, ring->cqn, -1, context);
> context->db_rec_addr = cpu_to_be64(ring->wqres.db.dma);
>

Reviewed-by: Tariq Toukan <tariqt@xxxxxxxxxxxx>