Re: [PATCH] iommu: fix return error code in iommu_probe_device()

From: Yang Yingliang
Date: Tue Nov 17 2020 - 06:12:14 EST



On 2020/11/17 17:40, Lu Baolu wrote:
Hi Yingliang,

On 2020/11/17 10:52, Yang Yingliang wrote:
If iommu_group_get() failed, it need return error code
in iommu_probe_device().

Fixes: cf193888bfbd ("iommu: Move new probe_device path...")
Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
---
  drivers/iommu/iommu.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index b53446bb8c6b..6f4a32df90f6 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -253,8 +253,10 @@ int iommu_probe_device(struct device *dev)
          goto err_out;
        group = iommu_group_get(dev);
-    if (!group)
+    if (!group) {
+        ret = -ENODEV;

Can you please explain why you use -ENODEV here?

Before 79659190ee97 ("iommu: Don't take group reference in iommu_alloc_default_domain()"), in

iommu_alloc_default_domain(), if group is NULL, it will return -ENODEV.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iommu/iommu.c?h=v5.10-rc4&id=70b8170e55d3ca9503a53211967faee6b5f18b19


Best regards,
baolu

          goto err_release;
+    }
        /*
       * Try to allocate a default domain - needs support from the

.