lkml.org 
[lkml]   [2011]   [Dec]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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@m3y3r.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@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html
    > Please read the FAQ at http://www.tux.org/lkml/


    \
     
     \ /
      Last update: 2011-12-06 04:31    [W:4.762 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site