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/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c --- a/drivers/media/common/tuners/tuner-xc2028.c 2011-11-13 11:07:28.453519914 +0100 +++ b/drivers/media/common/tuners/tuner-xc2028.c 2011-11-28 19:57:19.631625147 +0100 @@ -311,7 +311,7 @@ static int load_all_firmwares(struct dvb n_array, fname, name, priv->firm_version >> 8, priv->firm_version & 0xff); - priv->firm = kzalloc(sizeof(*priv->firm) * n_array, GFP_KERNEL); + priv->firm = kcalloc(n_array, sizeof(*priv->firm), GFP_KERNEL); if (priv->firm == NULL) { tuner_err("Not enough memory to load firmware file.\n"); rc = -ENOMEM; diff -u -p a/drivers/media/common/tuners/xc4000.c b/drivers/media/common/tuners/xc4000.c --- a/drivers/media/common/tuners/xc4000.c 2011-11-13 11:07:28.460186686 +0100 +++ b/drivers/media/common/tuners/xc4000.c 2011-11-28 19:57:16.224893821 +0100 @@ -758,7 +758,7 @@ static int xc4000_fwupload(struct dvb_fr n_array, fname, name, priv->firm_version >> 8, priv->firm_version & 0xff); - priv->firm = kzalloc(sizeof(*priv->firm) * n_array, GFP_KERNEL); + priv->firm = kcalloc(n_array, sizeof(*priv->firm), GFP_KERNEL); if (priv->firm == NULL) { printk(KERN_ERR "Not enough memory to load firmware file.\n"); rc = -ENOMEM; -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html