Messages in this thread | | | Subject | Re: [PATCH] iommu/sun50i: check return value of of_find_device_by_node() in sun50i_iommu_of_xlate() | From | Robin Murphy <> | Date | Thu, 29 Oct 2020 10:21:19 +0000 |
| |
On 2020-10-29 09:22, Yu Kuai wrote: > If of_find_device_by_node() failed in sun50i_iommu_of_xlate(), null > pointer dereference will be triggered. Thus return error code if > of_find_device_by_node() failed.
Again, by what means can that ever actually happen?
Robin.
> Fixes: 4100b8c229b3("iommu: Add Allwinner H6 IOMMU driver") > Signed-off-by: Yu Kuai <yukuai3@huawei.com> > --- > drivers/iommu/sun50i-iommu.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/iommu/sun50i-iommu.c b/drivers/iommu/sun50i-iommu.c > index ea6db1341916..ce94ffa15215 100644 > --- a/drivers/iommu/sun50i-iommu.c > +++ b/drivers/iommu/sun50i-iommu.c > @@ -764,6 +764,9 @@ static int sun50i_iommu_of_xlate(struct device *dev, > struct platform_device *iommu_pdev = of_find_device_by_node(args->np); > unsigned id = args->args[0]; > > + if (!iommu_pdev) > + return -ENODEV; > + > dev_iommu_priv_set(dev, platform_get_drvdata(iommu_pdev)); > > return iommu_fwspec_add_ids(dev, &id, 1); >
| |