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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]:
> >> > --- 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux