As per device_register() documentation, this kfree() on error path will crash. The call to put_device() is all that is needed here to free the memory. Fixes: 027e5703de6b ("staging: vc04_services: vchiq_arm: Add new bus type and device type") Signed-off-by: Umang Jain <umang.jain@xxxxxxxxxxxxxxxx> --- Changes in v2: - Add a Fixes: tag --- drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c index 4ac3491efe45..0076d091b9b2 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c @@ -73,7 +73,6 @@ vchiq_device_register(struct device *parent, const char *name) if (ret) { dev_err(parent, "Cannot register %s: %d\n", name, ret); put_device(&device->dev); - kfree(device); return NULL; } base-commit: a2fc3e8215313c8e4e42d4b2062830aaf1ef49c0 -- 2.40.1