iommu/amd: Fix group refcounting
If acpihid_device_group() finds an existing group for the relevant devid, it should be taking an additional reference on that group. Otherwise, the caller of iommu_group_get_for_dev() will inadvertently remove the reference taken by iommu_group_add_device(), and the group will be freed prematurely if any device is removed. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
e1b44cbe7b
commit
f2f101f6bc
|
@ -373,6 +373,8 @@ static struct iommu_group *acpihid_device_group(struct device *dev)
|
|||
|
||||
if (!entry->group)
|
||||
entry->group = generic_device_group(dev);
|
||||
else
|
||||
iommu_group_ref_get(entry->group);
|
||||
|
||||
return entry->group;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue