On Thu, 20 Mar 2014, David Laight wrote: > From: Aaro Koskinen > > octeon-hcd will crash the kernel when SLOB is used. This usually happens > > after the 18-byte control transfer when a device descriptor is read. > > The DMA engine is always transfering full 32-bit words and if the > > transfer is shorter, some random garbage appears after the buffer. > > The problem is not visible with SLUB since it rounds up the allocations > > to word boundary, and the extra bytes will go undetected. > > > > Fix by providing quirk functions for DMA map/unmap that allocate a bigger > > temporary buffer when necessary. Tested by booting EdgeRouter Lite > > to USB stick root file system with SLAB, SLOB and SLUB kernels. > > Wouldn't it be simpler to just round up the existing allocation? > (With a comment that some DMA controllers write whole words.) No doubt it would be simpler. The problem is that octeon-hcd doesn't make these allocations; they are carried out by other parts of the kernel. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html