In the Linux kernel, the following vulnerability has been resolved:
HID: intel-ish-hid: Fix kernel panic during warm reset
During warm reset device->fwclient is set to NULL. If a bus driver is registered after this NULL setting and before new firmware clients are enumerated by ISHTP, kernel panic will result in the function ishtpclbusmatch(). This is because of reference to device->fwclient->props.protocolname.
ISH firmware after getting successfully loaded, sends a warm reset notification to remove all clients from the bus and sets device->fw_client to NULL. Until kernel v5.15, all enabled ISHTP kernel module drivers were loaded right after any of the first ISHTP device was registered, regardless of whether it was a matched or an unmatched device. This resulted in all drivers getting registered much before the warm reset notification from ISH.
Starting kernel v5.16, this issue got exposed after the change was introduced to load only bus drivers for the respective matching devices. In this scenario, crosecishtp device and crosecishtp driver are registered after the warm reset device fwclient NULL setting. crosecishtp driverregister() triggers the callback to ishtpclbusmatch() to match ISHTP driver to the device and causes kernel panic in guidequal() when dereferencing fwclient NULL pointer to get protocolname.