lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 5 Dec 2011 22:27:09 -0500 From: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com> To: Thomas Meyer <thomas@...3r.de> Cc: xen-devel@...ts.xensource.com, virtualization@...ts.linux-foundation.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH] xen-blkfront: Use kcalloc instead of kzalloc to allocate array On Tue, Nov 29, 2011 at 10:08:00PM +0100, Thomas Meyer wrote: > 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@...3r.de> > --- > > diff -u -p a/drivers/block/cciss_scsi.c b/drivers/block/cciss_scsi.c > --- a/drivers/block/cciss_scsi.c 2011-11-28 19:36:47.343430551 +0100 > +++ b/drivers/block/cciss_scsi.c 2011-11-28 19:49:24.922716381 +0100 > @@ -534,10 +534,10 @@ adjust_cciss_scsi_table(ctlr_info_t *h, > int nadded, nremoved; > struct Scsi_Host *sh = NULL; > > - added = kzalloc(sizeof(*added) * CCISS_MAX_SCSI_DEVS_PER_HBA, > - GFP_KERNEL); > - removed = kzalloc(sizeof(*removed) * CCISS_MAX_SCSI_DEVS_PER_HBA, > + added = kcalloc(CCISS_MAX_SCSI_DEVS_PER_HBA, sizeof(*added), > GFP_KERNEL); > + removed = kcalloc(CCISS_MAX_SCSI_DEVS_PER_HBA, sizeof(*removed), > + GFP_KERNEL); > It looks like you mixed two patches together. > if (!added || !removed) { > dev_warn(&h->pdev->dev, > @@ -1191,8 +1191,8 @@ cciss_update_non_disk_devices(ctlr_info_ > > ld_buff = kzalloc(reportlunsize, GFP_KERNEL); > inq_buff = kmalloc(OBDR_TAPE_INQ_SIZE, GFP_KERNEL); > - currentsd = kzalloc(sizeof(*currentsd) * > - (CCISS_MAX_SCSI_DEVS_PER_HBA+1), GFP_KERNEL); > + currentsd = kcalloc(CCISS_MAX_SCSI_DEVS_PER_HBA + 1, > + sizeof(*currentsd), GFP_KERNEL); > if (ld_buff == NULL || inq_buff == NULL || currentsd == NULL) { > printk(KERN_ERR "cciss: out of memory\n"); > goto out; > diff -u -p a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c > --- a/drivers/block/xen-blkfront.c 2011-11-13 11:07:22.680095573 +0100 > +++ b/drivers/block/xen-blkfront.c 2011-11-28 19:49:29.109460410 +0100 > @@ -156,7 +156,7 @@ static int xlbd_reserve_minors(unsigned > if (end > nr_minors) { > unsigned long *bitmap, *old; > > - bitmap = kzalloc(BITS_TO_LONGS(end) * sizeof(*bitmap), > + bitmap = kcalloc(BITS_TO_LONGS(end), sizeof(*bitmap), > GFP_KERNEL); But this parts looks good. Can you respin it with just that part please? > if (bitmap == NULL) > return -ENOMEM; > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@...r.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists