In the Linux kernel, the following vulnerability has been resolved: pmdomain: core: Fix detach procedure for virtual devices in genpd If a device is attached to a PM domain through genpddevpmattachbyid(), genpd calls pmruntimeenable() for the corresponding virtual device that it registers. While this avoids boilerplate code in drivers, there is no corresponding call to pmruntimedisable() in genpddevpmdetach(). This means these virtual devices are typically detached from its genpd, while runtime PM remains enabled for them, which is not how things are designed to work. In worst cases it may lead to critical errors, like a NULL pointer dereference bug in genpdruntimesuspend(), which was recently reported. For another case, we may end up keeping an unnecessary vote for a performance state for the device. To fix these problems, let's add this missing call to pmruntimedisable() in genpddevpm_detach().