hwmon: (sis5595) potential null pointer dereference in probe

From: Evgeny Novikov
Date: Tue Aug 04 2020 - 08:22:29 EST


sis5595_pci_probe() registers platform driver callbacks and just then
initializes global pointer variable s_bridge. sis5595_probe() may
dereference it before this happens that can result in null pointer
dereference.

We can not swap registration of platform driver callbacks with
initialization of s_bridge since sm_sis5595_exit() assumes the
current order. Perhaps it has sense to implement a pci_driver.remove
callback that will take care about deregistration of platform driver
callbacks.

Found by Linux Driver Verification project (linuxtesting.org).