From: Yang Yingliang <yangyingliang@xxxxxxxxxx> Sent: Saturday, November 19, 2022 12:12 AM > > If device_register() returns error in vmbus_device_register(), > the name allocated by dev_set_name() must be freed. As comment > of device_register() says, it should use put_device() to give > up the reference in the error path. So fix this by calling > put_device(), then the name can be freed in kobject_cleanup(). > > Fixes: 09d50ff8a233 ("Staging: hv: make the Hyper-V virtual bus code build") > Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx> > --- > drivers/hv/vmbus_drv.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c > index 8b2e413bf19c..e592c481f7ae 100644 > --- a/drivers/hv/vmbus_drv.c > +++ b/drivers/hv/vmbus_drv.c > @@ -2082,6 +2082,7 @@ int vmbus_device_register(struct hv_device > *child_device_obj) > ret = device_register(&child_device_obj->device); > if (ret) { > pr_err("Unable to register child device\n"); > + put_device(&child_device_obj->device); > return ret; > } > > -- > 2.25.1 Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>