mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
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)
|
if (!entry->group)
|
||||||
entry->group = generic_device_group(dev);
|
entry->group = generic_device_group(dev);
|
||||||
|
else
|
||||||
|
iommu_group_ref_get(entry->group);
|
||||||
|
|
||||||
return entry->group;
|
return entry->group;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user