The patch titled usb-gadget-ether: Prevent oops caused by error interrupt race -V2 (comments update) has been removed from the -mm tree. Its filename was usb-gadget-ether-prevent-oops-caused-by-error-interrupt-race-v2-comments-update.patch This patch was dropped because an updated version will be merged ------------------------------------------------------ Subject: usb-gadget-ether: Prevent oops caused by error interrupt race -V2 (comments update) From: Benedikt Spranger <bene@xxxxxxxxxxxxx> eth_start_xmit() can race against a disconnect interrupt in the gadget device driver, which nukes all pending request. Right now we access the pending request list unconditionally and dereference the request list head itself in such a case, which results in an Oops. Check whether the list is empty before actually dereferencing dev->tx_reqs.next. Also add a comment for the second list_empty check further down to avoid confusion. Long standing bug. Patch should be applied to stable as well. Signed-off-by: Benedikt Spranger <bene@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: David Brownell <david-b@xxxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/usb/gadget/ether.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff -puN drivers/usb/gadget/ether.c~usb-gadget-ether-prevent-oops-caused-by-error-interrupt-race-v2-comments-update drivers/usb/gadget/ether.c --- a/drivers/usb/gadget/ether.c~usb-gadget-ether-prevent-oops-caused-by-error-interrupt-race-v2-comments-update +++ a/drivers/usb/gadget/ether.c @@ -1958,8 +1958,9 @@ static int eth_start_xmit (struct sk_buf spin_lock_irqsave(&dev->req_lock, flags); /* - * dev->tx_reqs may be empty due to an error interrupt which - * nuked all requests. + * dev->tx_reqs may be empty. We raced against a disconnect + * interrupt in the gadget device driver, which nuked all + * pending requests. */ if (list_empty(&dev->tx_reqs)) { netif_stop_queue(net); _ Patches currently in -mm which might be from bene@xxxxxxxxxxxxx are usb-gadget-ether-prevent-oops-caused-by-error-interrupt-race-v2-comments-update.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html