Re: [Patch 09/16] Remove unnecessary kmalloc casts in the pcisubsystem.

From: Greg KH
Date: Tue Jul 31 2007 - 12:11:57 EST


On Tue, Jul 31, 2007 at 10:46:19PM +0800, WANG Cong wrote:
> On Tue, Jul 31, 2007 at 08:00:12PM +0530, Satyam Sharma wrote:
> >
> >
> >On Tue, 31 Jul 2007, Christian Borntraeger wrote:
> >
> >> Am Dienstag, 31. Juli 2007 schrieb jack@xxxxxxxxxxxxxxxxxxxxxxx:
> >> > --- a/drivers/pci/rom.c
> >> > +++ b/drivers/pci/rom.c
> >> > @@ -185,7 +185,7 @@ void __iomem *pci_map_rom_copy(struct pc
> >> > IORESOURCE_ROM_BIOS_COPY))
> >> > return rom;
> >> >
> >> > - res->start = (unsigned long)kmalloc(*size, GFP_KERNEL);
> >> > + res->start = kmalloc(*size, GFP_KERNEL);
> >>
> >> This looks wrong.
> >
> >Yup, a warning at the very least.
> >
> >> void * doesnt need a cast to a pointer, but res->start is an
> >> integer u32 type,
> >
> >It better not be, else we have a bug already anyway. Pointers are 64-bit
> >on 64-bit archs. [ it turns out res->start is resource_size_t which is
> >set properly as per CONFIG_RESOURCES_64BIT which itself is set properly
> >as per CONFIG_64BIT, so everything is healthy and fine :-) ]
> >
>
> I agree.
>
> However, I think using resource_size_t is a bit better than unsigned long,
> so that we don't need to check the defination of it.
>
> - res->start = (unsigned long)kmalloc(*size, GFP_KERNEL);
> + res->start = (resource_size_t)kmalloc(*size, GFP_KERNEL);
>
> Is this change OK?

Yes, that is the proper cast to have here.

thanks,

greg k-h
-
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/