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-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html