Re: [PATCH 4/4] atm/ambassador: kmalloc + memset conversion tokzalloc
From: Robert P. J. Day
Date: Mon Nov 26 2007 - 04:14:09 EST
On Mon, 26 Nov 2007, Joonwoo Park wrote:
> atm/ambassador: kmalloc + memset conversion to kzalloc
>
> Signed-off-by: Joonwoo Park <joonwpark81@xxxxxxxxx>
>
> Thanks.
> Joonwoo
>
> ---
> diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c
> index b34b382..4f99ba3 100644
> --- a/drivers/atm/ambassador.c
> +++ b/drivers/atm/ambassador.c
> @@ -2163,7 +2163,6 @@ static int __devinit amb_init (amb_dev * dev)
> static void setup_dev(amb_dev *dev, struct pci_dev *pci_dev)
> {
> unsigned char pool;
> - memset (dev, 0, sizeof(amb_dev));
>
> // set up known dev items straight away
> dev->pci_dev = pci_dev;
> @@ -2253,7 +2252,7 @@ static int __devinit amb_probe(struct pci_dev *pci_dev, const struct pci_device_
> goto out_disable;
> }
>
> - dev = kmalloc (sizeof(amb_dev), GFP_KERNEL);
> + dev = kzalloc(sizeof(amb_dev), GFP_KERNEL);
> if (!dev) {
> PRINTK (KERN_ERR, "out of memory!");
> err = -ENOMEM;
> ---
i'm not sure the above is a safe thing to do, as you're zeroing that
area, then making a function call and assuming, upon entry to the
function call, that the caller has done the right thing. i don't see
how you can count on that, depending on who else might want to call
that routine and whether they get sloppy about it. unless you're
prepared to guarantee that there will never be another call to
setup_dev() from elsewhere.
rday
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://crashcourse.ca
========================================================================
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/