[PATCH 15/15] vfio/mdev: remove an extra parent kobject reference

Kirti Wankhede kwankhede at nvidia.com
Wed Jul 6 13:48:48 UTC 2022



On 7/6/2022 1:12 PM, Christoph Hellwig wrote:
> The mdev_type already holds a reference to the parent through
> mdev_types_kset, so drop the extra reference.
> 
> Suggested-by: Kirti Wankhede <kwankhede at nvidia.com>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> ---
>   drivers/vfio/mdev/mdev_sysfs.c | 9 +--------
>   1 file changed, 1 insertion(+), 8 deletions(-)
> 
> diff --git a/drivers/vfio/mdev/mdev_sysfs.c b/drivers/vfio/mdev/mdev_sysfs.c
> index c5cd035d591d0..e2087cac1c859 100644
> --- a/drivers/vfio/mdev/mdev_sysfs.c
> +++ b/drivers/vfio/mdev/mdev_sysfs.c
> @@ -153,8 +153,6 @@ static void mdev_type_release(struct kobject *kobj)
>   	struct mdev_type *type = to_mdev_type(kobj);
>   
>   	pr_debug("Releasing group %s\n", kobj->name);
> -	/* Pairs with the get in add_mdev_supported_type() */
> -	put_device(type->parent->dev);
>   	kfree(type);
>   }
>   
> @@ -170,16 +168,12 @@ static int mdev_type_add(struct mdev_parent *parent, struct mdev_type *type)
>   
>   	type->kobj.kset = parent->mdev_types_kset;
>   	type->parent = parent;
> -	/* Pairs with the put in mdev_type_release() */
> -	get_device(parent->dev);
>   
>   	ret = kobject_init_and_add(&type->kobj, &mdev_type_ktype, NULL,
>   				   "%s-%s", dev_driver_string(parent->dev),
>   				   type->sysfs_name);
> -	if (ret) {
> -		kobject_put(&type->kobj);

This kobject_put is required here in error case, see description above 
kobject_init_and_add().

> +	if (ret)
>   		return ret;
> -	}
>   
>   	type->devices_kobj = kobject_create_and_add("devices", &type->kobj);
>   	if (!type->devices_kobj) {
> @@ -191,7 +185,6 @@ static int mdev_type_add(struct mdev_parent *parent, struct mdev_type *type)
>   
>   attr_devices_failed:
>   	kobject_del(&type->kobj);
> -	kobject_put(&type->kobj);

Same as above.

Thanks,
Kirti


More information about the intel-gvt-dev mailing list