vzalloc combines vmalloc and memset 0. The Coccinelle semantic patch used to make this change is as follows: @@ type T; T *d; expression e; statement S; @@
d = - vmalloc + vzalloc (...); if (!d) S - memset(d, 0, sizeof(T)); Signed-off-by: Amitoj Kaur Chawla <amitoj1...@gmail.com> --- drivers/net/ethernet/cavium/liquidio/octeon_device.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_device.c b/drivers/net/ethernet/cavium/liquidio/octeon_device.c index f67641a..2bf90c1 100644 --- a/drivers/net/ethernet/cavium/liquidio/octeon_device.c +++ b/drivers/net/ethernet/cavium/liquidio/octeon_device.c @@ -759,13 +759,10 @@ int octeon_setup_instr_queues(struct octeon_device *oct) for (i = 0; i < num_iqs; i++) { oct->instr_queue[i] = - vmalloc(sizeof(struct octeon_instr_queue)); + vzalloc(sizeof(struct octeon_instr_queue)); if (!oct->instr_queue[i]) return 1; - memset(oct->instr_queue[i], 0, - sizeof(struct octeon_instr_queue)); - oct->instr_queue[i]->app_ctx = (void *)(size_t)i; if (octeon_init_instr_queue(oct, i, num_descs)) return 1; @@ -795,12 +792,10 @@ int octeon_setup_output_queues(struct octeon_device *oct) oct->num_oqs = 0; for (i = 0; i < num_oqs; i++) { - oct->droq[i] = vmalloc(sizeof(*oct->droq[i])); + oct->droq[i] = vzalloc(sizeof(*oct->droq[i])); if (!oct->droq[i]) return 1; - memset(oct->droq[i], 0, sizeof(struct octeon_droq)); - if (octeon_init_droq(oct, i, num_descs, desc_size, NULL)) return 1; -- 1.9.1