[PATCH] iommu/mediatek: Fix forever loop in error handling

Yong Wu (吴勇) Yong.Wu at mediatek.com
Wed Dec 7 17:06:08 PST 2022


On Wed, 2022-12-07 at 18:56 +0300, Dan Carpenter wrote:
> There is a typo so this loop does i++ where i-- was intended.  It
> will
> result in looping until the kernel crashes.
> 
> Fixes: 26593928564c ("iommu/mediatek: Add error path for loop of
> mm_dts_parse")
> Signed-off-by: Dan Carpenter <error27 at gmail.com>

Sorry for this.

Reviewed-by: Yong Wu <yong.wu at mediatek.com>

Thanks Dan.

> ---
>  drivers/iommu/mtk_iommu.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 3e46bc8b0714..2badd6acfb23 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -1160,8 +1160,7 @@ static int mtk_iommu_mm_dts_parse(struct device
> *dev, struct component_match **m
>  	return 0;
>  
>  err_larbdev_put:
> -	/* id may be not linear mapping, loop whole the array */
> -	for (i = MTK_LARB_NR_MAX - 1; i >= 0; i++) {
> +	for (i = MTK_LARB_NR_MAX - 1; i >= 0; i--) {
>  		if (!data->larb_imu[i].dev)
>  			continue;
>  		put_device(data->larb_imu[i].dev);


More information about the Linux-mediatek mailing list