Messages in this thread | | | Date | Tue, 4 Jul 2023 14:19:39 +0200 | Subject | Re: [PATCH] iommu/mediatek: Remove a unnecessary checking for larbid | From | AngeloGioacchino Del Regno <> |
| |
Il 04/07/23 13:56, Yong Wu ha scritto: > Fix a coverity issue: > >>> assignment: Assigning: larbid = (fwspec->ids[0] >> 5) & 0x1fU. > larbid = MTK_M4U_TO_LARB(fwspec->ids[0]); >>> between: At condition larbid >= 32U, the value of larbid must be between >>> 0 and 31. >>> dead_error_condition: The condition larbid >= 32U cannot be true. > if (larbid >= MTK_LARB_NR_MAX) >>> CID 11306470 (#1 of 1): Logically dead code (DEADCODE) >>> dead_error_line: Execution cannot reach this statement: >>> return ERR_PTR(-22L); > return ERR_PTR(-EINVAL); > > The checking "if (larbid >= MTK_LARB_NR_MAX)" is unnecessary. >
I agree with the coverity tool in that after the transformation (going through the definition of MTK_M4U_TO_LARB) the check is pointless, but I think that the right fix here is to check for validity of fwspec->ids[0] instead of simply removing validation.
Having no validation after mtk_iommu_probe_device() is fine, but that's because we assume that *this* function performs all validation steps.
Regards, Angelo
> Signed-off-by: Yong Wu <yong.wu@mediatek.com> > --- > Rebase on v6.4-rc1. > --- > drivers/iommu/mtk_iommu.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c > index aecc7d154f28..67caa90b481b 100644 > --- a/drivers/iommu/mtk_iommu.c > +++ b/drivers/iommu/mtk_iommu.c > @@ -838,9 +838,6 @@ static struct iommu_device *mtk_iommu_probe_device(struct device *dev) > * All the ports in each a device should be in the same larbs. > */ > larbid = MTK_M4U_TO_LARB(fwspec->ids[0]); > - if (larbid >= MTK_LARB_NR_MAX) > - return ERR_PTR(-EINVAL); > - > for (i = 1; i < fwspec->num_ids; i++) { > larbidx = MTK_M4U_TO_LARB(fwspec->ids[i]); > if (larbid != larbidx) {
| |