4.14.13: Kernel panic, NULL pointer dereference in xhci_hcd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is originally raised as Debian bug but the more I investigate
it seems to trace back to 4.14.x xhci.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892647 (see also message #29)

Call trace:
 <IRQ>
 xhci_giveback_urb_in_irq.isra.43+0x7f/0xe0 [xhci_hcd]
 xhci_td_cleanup+0xe7/0x170 [xhci_hcd]
 xhci_irq+0xd81/0x1fe0 [xhci_hcd]
 __handle_irq_event_percpu+0x7b/0x180
 handle_irq_event_percpu+0x30/0x80
 handle_irq_event+0x3c/0x60
 handle_edge_irq+0x86/0x1d0
 handle_irq+0x19/0x30
 do_IRQ+0x41/0xc0
 common_interrupt+0x98/0x98
 </IRQ>

My vote is trying to trace things on:
https://github.com/torvalds/linux/blob/master/drivers/usb/host/xhci-ring.c#L631
mainly two first calls not in any statement
- xhci_urb_free_priv()
- usb_hcd_unlink_urb_from_ep()

It occurs at least three separate endcoms:
BUG: unable to handle kernel NULL pointer dereference at 00000000000000e5
IP: kfree+0x13/0xe0

or:
list_del corruption. prev->next should be ffff99e5cea8ca20, but was ffff99e5cea8d420

or:
BUG: unable to handle kernel NULL pointer dereference at 0000000000000118
IP: usb_hcd_giveback_urb+0xf/0x110 [usbcore]
PGD 0 P4D 0

My original workaround assumption was this may relate to USB power management but after having no impact to this with the following I would assume it false assumption:
- remove distro's laptop-mode-tools
- boot with usbcore.autosuspend=-1

Any help to find a discrete reproduce method or a working workaround
would be appreciated.

--
Juho Tykkälä
--
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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux