iommu: Check the result of iommu_group_get() for NULL

"Linux Kernel Mailing List" <[email protected]>
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/9ae9df035c274c89b7fe3dbc74cbe2fa63386668
Commit:     9ae9df035c274c89b7fe3dbc74cbe2fa63386668
Parent:     1291a0d5049dbc06baaaf66a9ff3f53db493b19b
Refname:    refs/heads/master
Author:     Jordan Crouse <[email protected]>
AuthorDate: Wed Dec 20 09:48:36 2017 -0700
Committer:  Alex Williamson <[email protected]>
CommitDate: Wed Dec 20 09:48:36 2017 -0700

    iommu: Check the result of iommu_group_get() for NULL
    
    The result of iommu_group_get() was being blindly used in both
    attach and detach which results in a dereference when trying
    to work with an unknown device.
    
    Signed-off-by: Jordan Crouse <[email protected]>
    Signed-off-by: Alex Williamson <[email protected]>
---
 drivers/iommu/iommu.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 3de5c0bcb5cc..69fef991c651 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -1303,6 +1303,9 @@ int iommu_attach_device(struct iommu_domain *domain, struct device *dev)
 	int ret;
 
 	group = iommu_group_get(dev);
+	if (!group)
+		return -ENODEV;
+
 	/*
 	 * Lock the group to make sure the device-count doesn't
 	 * change while we are attaching
@@ -1341,6 +1344,8 @@ void iommu_detach_device(struct iommu_domain *domain, struct device *dev)
 	struct iommu_group *group;
 
 	group = iommu_group_get(dev);
+	if (!group)
+		return;
 
 	mutex_lock(&group->mutex);
 	if (iommu_group_device_count(group) != 1) {
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.