Re: [PATCH] parisc: fix module loading failure of large kernelmodules (take 4)
From: Linus Torvalds
Date: Wed Dec 31 2008 - 12:49:09 EST
On Wed, 31 Dec 2008, Roland Dreier wrote:
>
> Does this mean lib/swiotlb.c is broken now?
Yes it does.
> It has eg:
>
> void * __weak swiotlb_alloc_boot(size_t size, unsigned long nslabs)
>
> and then
>
> void __init
> swiotlb_init_with_default_size(size_t default_size)
> {
> ...
> io_tlb_start = swiotlb_alloc_boot(bytes, io_tlb_nslabs);
>
> later on in the same file.
Good eyes.
Ingo? This comes from commit b81ea27b2329bf44b30c427800954f845896d476, by
Ian, through Jeremy.
> (I just notice this because I saw the warning about swiotlb_alloc_boot()
> not being __init but calling __alloc_bootmem_low and so I looked at the
> code yesterday)
Lucky us. What's nasty about this is that most developers probably have
updated versions of gcc, and are then surprised when some odd user has
insane behavior that doesn't match the source code - because the compiler
did something unexpected.
I guess I could make a sparse rule for this, but nobody seems to run or
care about sparse anyway. Sad.
Linus
--
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/