In the Linux kernel, the following vulnerability has been resolved: usb: xhci: Check for xhci->interrupters being allocated in xhci_mem_clearup() If xhci_mem_init() fails, it calls into xhci_mem_cleanup() to mop up the damage. If it fails early enough, before xhci->interrupters is allocated but after xhci->max_interrupters has been set, which happens in most (all?) cases, things get uglier, as xhci_mem_cleanup() unconditionally derefences xhci->interrupters. With prejudice. Gate the interrupt freeing loop with a check on xhci->interrupters being non-NULL. Found while debugging a DMA allocation issue that led the XHCI driver on this exact path.
| Product | Vendor | Version |
|---|---|---|
| Linux | Linux | 12.2(18)SXE6b |
| Linux | Linux | 12.2(18)SXE1 |
| Linux | Linux | V200R001C30SPC203T |
| Linux | Linux | V200R001C30SPC207T |