https://bugzilla.kernel.org/show_bug.cgi?id=215740 Alan Stern (stern@xxxxxxxxxxxxxxxxxxx) changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dan.j.williams@xxxxxxxxx, | |hch@xxxxxx --- Comment #23 from Alan Stern (stern@xxxxxxxxxxxxxxxxxxx) --- +Christoph Hellwig (because I am not an expert on kmalloc and cache line alignment) Ferry: Sorry about the malformed patches. The bad line was added automatically by Quilt (I don't know why). If I add any more patches, I'll try to remember to remove that bogus line first. Andy: There are two mappings in question here, both of them are reads, neither is larger than 8 bytes, and neither has a cache line alignment requirement (other than the general restriction that on architectures with non-cache-coherent DMA -- i.e., not x86 -- different allocations should belong to different cache lines). The first mapping is 1 byte long (at the start of the 8-byte-long hub->buffer allocated near the beginning of hub_configure() in drivers/usb/core/hub.c) and the second is 4 bytes long (for hub->status, allocated just afterward). The physical addresses and sizes of the mappings, as shown in the log, are: hub->buffer: 108342600 size 1 hub->status: 108342608 size 4 Obviously they lie in the same cache line, which is what triggers the DMA debugging error. But equally obviously, on x86 or other architectures with cache-coherent DMA, there is nothing wrong with them. Incidentally, -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.