The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. The semantic patch that makes this change is available in https://lkml.org/lkml/2011/11/25/107 Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> --- diff -u -p a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c --- a/drivers/usb/host/xhci-mem.c 2011-11-28 19:36:48.020115250 +0100 +++ b/drivers/usb/host/xhci-mem.c 2011-11-28 20:06:14.528280517 +0100 @@ -2037,11 +2037,12 @@ static int xhci_setup_port_arrays(struct } num_ports = HCS_MAX_PORTS(xhci->hcs_params1); - xhci->port_array = kzalloc(sizeof(*xhci->port_array)*num_ports, flags); + xhci->port_array = kcalloc(num_ports, sizeof(*xhci->port_array), + flags); if (!xhci->port_array) return -ENOMEM; - xhci->rh_bw = kzalloc(sizeof(*xhci->rh_bw)*num_ports, flags); + xhci->rh_bw = kcalloc(num_ports, sizeof(*xhci->rh_bw), flags); if (!xhci->rh_bw) return -ENOMEM; for (i = 0; i < num_ports; i++) { -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html