From: Yang Yingliang <yangyingliang@xxxxxxxxxx> Sent: Thursday, November 10, 2022 5:49 PM > > If device_register() returns error in vmbus_device_register(), > the name allocated by dev_set_name() need be freed. As comment s/need be freed/must be freed/ > 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