liquidio: lowmem: init allocated memory to 0
authorRick Farrington <[email protected]>
Tue, 18 Jul 2017 00:50:47 +0000 (17:50 -0700)
committerDavid S. Miller <[email protected]>
Wed, 19 Jul 2017 20:24:46 +0000 (13:24 -0700)
Fix GPF in octeon_init_droq(); zero the allocated block 'recv_buf_list'.
This prevents a GPF trying to access an invalid 'recv_buf_list[i]' entry
in octeon_droq_destroy_ring_buffers() if init didn't alloc all entries.

Signed-off-by: Rick Farrington <[email protected]>
Signed-off-by: Satanand Burla <[email protected]>
Signed-off-by: Raghu Vatsavayi <[email protected]>
Signed-off-by: Felix Manlunas <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
drivers/net/ethernet/cavium/liquidio/octeon_droq.c

index 2e190deb2233460428d090f554c061d9b8e82c85..645668339620c38aaaf082baa67a0c68e7a52e85 100644 (file)
@@ -275,12 +275,12 @@ int octeon_init_droq(struct octeon_device *oct,
                droq->max_count);
 
        droq->recv_buf_list = (struct octeon_recv_buffer *)
-                             vmalloc_node(droq->max_count *
+                             vzalloc_node(droq->max_count *
                                                OCT_DROQ_RECVBUF_SIZE,
                                                numa_node);
        if (!droq->recv_buf_list)
                droq->recv_buf_list = (struct octeon_recv_buffer *)
-                                     vmalloc(droq->max_count *
+                                     vzalloc(droq->max_count *
                                                OCT_DROQ_RECVBUF_SIZE);
        if (!droq->recv_buf_list) {
                dev_err(&oct->pci_dev->dev, "Output queue recv buf list alloc failed\n");