From: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri, 2 Oct 2015 14:29:03 +0100 > The ASIX RX handler algorithm is weak on error handling. > There is a design flaw in the ASIX RX handler algorithm because the > implementation for handling RX Ethernet frames for the DUB-E100 C1 can > have Ethernet frames spanning multiple URBs. This means that payload data > from more than 1 URB is sometimes needed to fill the socket buffer with a > complete Ethernet frame. When the URB with the start of an Ethernet frame > is received then an attempt is made to allocate a socket buffer. If the > memory allocation fails then the algorithm sets the buffer pointer member > to NULL and the function exits (no crash yet). Subsequently, the RX hander > is called again to process the next URB which assumes there is a socket > buffer available and the kernel crashes when there is no buffer. > > This patchset implements an improvement to the RX handling algorithm to > avoid a crash when no memory is available for the socket buffer. > > The patchset will apply cleanly to the net-next master branch but the > created kernel has not been tested. The driver was tested on ARM kernels > v3.8 and v3.14 for a commercial product. Series applied, thanks. -- 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