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

From: WANG Cong
Date: Tue Jul 31 2007 - 10:45:05 EST


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?

--
To do great work, you have to have a pure mind. You can think only about the
mathematics. Everything else is human weakness. Accepting prizes is showing
weakness.

-
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/