In the Linux kernel, the following vulnerability has been resolved:mfd: qcom-spmi-pmic: Fix revid implementationThe Qualcomm SPMI PMIC revid implementation is broken in multiple ways.First, it assumes that just because the sibling base device has beenregistered that means that it is also bound to a driver, which may notbe the case (e.g. due to probe deferral or asynchronous probe). Thiscould trigger a NULL-pointer dereference when attempting to access thedriver data of the unbound device.Second, it accesses driver data of a sibling device directly and withoutany locking, which means that the driver data may be freed while it isbeing accessed (e.g. on driver unbind).Third, it leaks a struct device reference to the sibling device which islooked up using the spmi_device_from_of() every time a function (child)device is calling the revid function (e.g. on probe).Fix this mess by reimplementing the revid lookup so that it is done onlyat probe of the PMIC device
CWE-476 NULL Pointer Dereference