Commit 5b8e64f1 authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Dan Williams
Browse files

device-dax: Prevent registering drivers without probe callback



The bus probe function dax_bus_probe() calls the probe callback without
checking it to be non-NULL. Prevent a NULL pointer exception if a driver
without a probe function is registered by refusing to register this
driver.

Signed-off-by: default avatarUwe Kleine-König <uwe@kleine-koenig.org>
Link: https://lore.kernel.org/r/20210205222842.34896-2-uwe@kleine-koenig.org


Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 7323fb22
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1392,6 +1392,13 @@ int __dax_driver_register(struct dax_device_driver *dax_drv,
	struct device_driver *drv = &dax_drv->drv;
	int rc = 0;

	/*
	 * dax_bus_probe() calls dax_drv->probe() unconditionally.
	 * So better be safe than sorry and ensure it is provided.
	 */
	if (!dax_drv->probe)
		return -EINVAL;

	INIT_LIST_HEAD(&dax_drv->ids);
	drv->owner = module;
	drv->name = mod_name;