struct c2_element *elem;
        int i;
 
-       tx_ring->start = kmalloc(sizeof(*elem) * tx_ring->count, GFP_KERNEL);
+       tx_ring->start = kmalloc_array(tx_ring->count, sizeof(*elem),
+                                      GFP_KERNEL);
        if (!tx_ring->start)
                return -ENOMEM;
 
        struct c2_element *elem;
        int i;
 
-       rx_ring->start = kmalloc(sizeof(*elem) * rx_ring->count, GFP_KERNEL);
+       rx_ring->start = kmalloc_array(rx_ring->count, sizeof(*elem),
+                                      GFP_KERNEL);
        if (!rx_ring->start)
                return -ENOMEM;
 
 
        chunk = pd->port_rcvegrbuf_chunks;
        egrperchunk = pd->port_rcvegrbufs_perchunk;
        size = pd->port_rcvegrbuf_size;
-       pd->port_rcvegrbuf = kmalloc(chunk * sizeof(pd->port_rcvegrbuf[0]),
-                                    GFP_KERNEL);
+       pd->port_rcvegrbuf = kmalloc_array(chunk, sizeof(pd->port_rcvegrbuf[0]),
+                                          GFP_KERNEL);
        if (!pd->port_rcvegrbuf) {
                ret = -ENOMEM;
                goto bail;
        }
        pd->port_rcvegrbuf_phys =
-               kmalloc(chunk * sizeof(pd->port_rcvegrbuf_phys[0]),
-                       GFP_KERNEL);
+               kmalloc_array(chunk, sizeof(pd->port_rcvegrbuf_phys[0]),
+                             GFP_KERNEL);
        if (!pd->port_rcvegrbuf_phys) {
                ret = -ENOMEM;
                goto bail_rcvegrbuf;