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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxxxx>
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
  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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux