On 10.11.22 17:20, Robin Murphy wrote: > Coretemp's vestigial platform driver is odd. All the real work is done > globally by the initcall and CPU hotplug notifiers, while the "driver" > effectively just wraps an allocation and the registration of the hwmon > interface in a long-winded round-trip through the driver core. The whole > logic of dynamically creating and destroying platform devices to bring > the interfaces up and down is fatally flawed right away, since it > assumes platform_device_add() will synchronously bind the driver and set > drvdata before it returns, thus results in a NULL dereference if > drivers_autoprobe is turned off for the platform bus. Furthermore, the > unusual approach of doing that from within a CPU hotplug notifier is > also problematic. It's already commented in the code that it deadlocks > suspend, but it also causes lockdep issues for other drivers or > subsystems which may want to legitimately register a CPU hotplug > notifier from a platform bus notifier. > > All of these issues can be solved by ripping this questionable behaviour > out completely, simply tying the platform devices to the lifetime of the > module itself, and directly managing the hwmon interfaces from the > hotplug notifiers. There is a slight user-visible change in that > /sys/bus/platform/drivers/coretemp will no longer appear, and > /sys/devices/platform/coretemp.n will remain present if package n is > hotplugged off, but hwmon users should really only be looking for the > presence of the hwmon interfaces, whose behaviour remains unchanged. > > Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> For future archeologists and the regression tracking this afaics should have the following tags, as outlined by the documentation[1]. Link: https://lore.kernel.org/lkml/20220922101036.87457-1-janusz.krzysztofik@xxxxxxxxxxxxxxx/ Link: https://gitlab.freedesktop.org/drm/intel/issues/6641 Any maybe a reported-by for Janusz, too. Ciao, Thorsten [1] see Documentation/process/submitting-patches.rst (http://docs.kernel.org/process/submitting-patches.html) and Documentation/process/5.Posting.rst (https://docs.kernel.org/process/5.Posting.html) P.S.: #regzbot ^backmonitor: https://lore.kernel.org/lkml/20220922101036.87457-1-janusz.krzysztofik@xxxxxxxxxxxxxxx/