In the Linux kernel, the following vulnerability has been resolved:
usb: typec: tcpm: Fix NULL pointer dereference in tcpmpdsvdm()
It is possible that typecregisterpartner() returns ERR_PTR on failure. When port->partner is an error, a NULL pointer dereference may occur as shown below.
[91222.095236][ T319] typec port0: failed to register partner (-17) ... [91225.061491][ T319] Unable to handle kernel NULL pointer dereference at virtual address 000000000000039f [91225.274642][ T319] pc : tcpmpddatarequest+0x310/0x13fc [91225.274646][ T319] lr : tcpmpddatarequest+0x298/0x13fc [91225.308067][ T319] Call trace: [91225.308070][ T319] tcpmpddatarequest+0x310/0x13fc [91225.308073][ T319] tcpmpdrxhandler+0x100/0x9e8 [91225.355900][ T319] kthreadworkerfn+0x178/0x58c [91225.355902][ T319] kthread+0x150/0x200 [91225.355905][ T319] retfromfork+0x10/0x30
Add a check for port->partner to avoid dereferencing a NULL pointer.