On Thu, Mar 23, 2023 at 07:25:55AM +0000, Tian, Kevin wrote:
From: Jason Gunthorpe jgg@nvidia.com Sent: Wednesday, March 22, 2023 3:15 AM +int iommufd_device_attach(struct iommufd_device *idev, u32 *pt_id) +{
- int rc;
 - rc = iommufd_device_change_pt(idev, pt_id,
 &iommufd_device_do_attach);
- if (rc)
 return rc;- /*
 * Pairs with iommufd_device_detach() - catches caller bugsattempting
* to destroy a device with an attachment.*/- refcount_inc(&idev->obj.users);
 - return 0;
 While it's the right thing to do I'm not sure what "catch caller bugs" mean here. There is no WARN_ON to catch.
The WARN_ON is on the destroy path of the device
was_destroyed = iommufd_object_destroy_user(idev->ictx, &idev->obj); WARN_ON(!was_destroyed);
It is the idev we are incr'ing
Jason