In the Linux kernel, the following vulnerability has been resolved:
usb: typec: tcpm: Check for port partner validity before consuming it
typecregisterpartner() does not guarantee partner registration to always succeed. In the event of failure, port->partner is set to the error value or NULL. Given that port->partner validity is not checked, this results in the following crash:
Unable to handle kernel NULL pointer dereference at virtual address xx pc : runstatemachine+0x1bc8/0x1c08 lr : runstatemachine+0x1b90/0x1c08 .. Call trace: runstatemachine+0x1bc8/0x1c08 tcpmstatemachinework+0x94/0xe4 kthreadworkerfn+0x118/0x328 kthread+0x1d0/0x23c retfrom_fork+0x10/0x20
To prevent the crash, check for port->partner validity before derefencing it in all the call sites.