On Thu, Apr 20, 2023 at 03:51:15PM -0300, Jason Gunthorpe wrote:
This is on github: https://github.com/jgunthorpe/linux/commits/iommufd_hwpt
v6:
- Go back to the v4 locking arragnment with now both the attach/detach igroup->locks inside the functions, Kevin says he needs this for a followup series. This still fixes the syzkaller bug
- Fix two more error unwind locking bugs where iommufd_object_abort_and_destroy(hwpt) would deadlock or be mislocked. Make sure fail_nth will catch these mistakes
- Add a patch allowing objects to have different abort than destroy function, it allows hwpt abort to require the caller to continue to hold the lock and enforces this with lockdep.
Tested this series + cdev v9 + replace series + nesting (SMMUv3): https://github.com/nicolinc/iommufd/commits/wip/iommufd_nesting-04202023-nic
I only have one device per group, so can't cover the igroup part. Yet, the sanity covers hwpt replacements of a kernel-manage hwpt from/to an ioas (auto hwpt) and a user-managed hwpt.
Thanks Nic