Re: [PATCH 2.6.27-rc6] pci: fix resource_size_t type errors

From: Jesse Barnes
Date: Wed Sep 10 2008 - 16:03:18 EST


On Wednesday, September 10, 2008 12:42 pm Mikael Pettersson wrote:
> Fix type errors introduced by commits
> 9bf8a1a79d549a0cf3b26c88d1ac8cdf07deafee and
> 76fbc263ff7e42ce8b21b8aee176e3c74b45f81a, "pci: debug extra pci resources
> range" and "pci: debug extra pci bus resources".
>
> These commits added printks of resource_size_t values using "%llx" formats.
> This is wrong for two reasons:
> - resource_size_t may be u32 or u64, depending on arch and config options,
> but "%llx" only works with 64-bit integers; if there is a size mismatch,
> printk's argument pointer will move past the corresponding parameters on
> the stack (undefined behaviour)
> - even if resource_size_t is u64, that type may be unsigned long or
> unsigned long long, depending on arch; if resource_size_t isn't unsigned
> long long, the compiler will generate type mismatch warnings
>
> On my 32-bit x86 laptop, the first problem is visible in obviously bogus
> kernel messages:

Thanks Mikael, but I already integrated patches from Johann to fix this issue
(53bc88701be91e7f631ad31418b32392aa952e9b and
4ca8a7726fb0e8094fdb56f2ae2d69fcf9254eae in my for-linus tree). I've queued
it up for 2.6.27.

Thanks,
Jesse
--
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/