In the Linux kernel, the following vulnerability has been resolved:
usb: dwc2: gadget: don't reset gadget's driver->bus
UDC driver should not touch gadget's driver internals, especially it should not reset driver->bus. This wasn't harmful so far, but since commit fc274c1e9973 ("USB: gadget: Add a new bus for gadgets") gadget subsystem got it's own bus and messing with ->bus triggers the following NULL pointer dereference:
dwc2 12480000.hsotg: bound driver gether 8<--- cut here --- Unable to handle kernel NULL pointer dereference at virtual address 00000000 [00000000] *pgd=00000000 Internal error: Oops: 5 [#1] SMP ARM Modules linked in: ... CPU: 0 PID: 620 Comm: modprobe Not tainted 5.18.0-rc5-next-20220504 #11862 Hardware name: Samsung Exynos (Flattened Device Tree) PC is at moduleadddriver+0x44/0xe8 LR is at sysfsdocreatelinksd+0x84/0xe0 ... Process modprobe (pid: 620, stack limit = 0x(ptrval)) ... moduleadddriver from busadddriver+0xf4/0x1e4 busadddriver from driverregister+0x78/0x10c driverregister from usbgadgetregisterdriverowner+0x40/0xb4 usbgadgetregisterdriverowner from dooneinitcall+0x44/0x1e0 dooneinitcall from doinitmodule+0x44/0x1c8 doinitmodule from loadmodule+0x19b8/0x1b9c loadmodule from sysfinitmodule+0xdc/0xfc sysfinitmodule from retfast_syscall+0x0/0x54 Exception stack(0xf1771fa8 to 0xf1771ff0) ... dwc2 12480000.hsotg: new device is high-speed ---[ end trace 0000000000000000 ]---
Fix this by removing driver->bus entry reset.