2022-03-29 11:20:00

by CGEL

[permalink] [raw]
Subject: [PATCH] iommu: add null pointer check

From: Lv Ruyi <[email protected]>

kmem_cache_zalloc is a memory allocation function which can return NULL
when some internal memory errors happen. Add null pointer check to avoid
dereferencing null pointer.

Reported-by: Zeal Robot <[email protected]>
Signed-off-by: Lv Ruyi <[email protected]>
---
drivers/iommu/fsl_pamu_domain.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/iommu/fsl_pamu_domain.c b/drivers/iommu/fsl_pamu_domain.c
index 69a4a62dc3b9..43849c027298 100644
--- a/drivers/iommu/fsl_pamu_domain.c
+++ b/drivers/iommu/fsl_pamu_domain.c
@@ -152,6 +152,10 @@ static void attach_device(struct fsl_dma_domain *dma_domain, int liodn, struct d
}

info = kmem_cache_zalloc(iommu_devinfo_cache, GFP_ATOMIC);
+ if (!info) {
+ spin_unlock_irqrestore(&device_domain_lock, flags);
+ return;
+ }

info->dev = dev;
info->liodn = liodn;
--
2.25.1


2022-04-29 00:02:15

by Joerg Roedel

[permalink] [raw]
Subject: Re: [PATCH] iommu: add null pointer check

On Tue, Mar 29, 2022 at 05:53:22AM +0000, [email protected] wrote:
> From: Lv Ruyi <[email protected]>
>
> kmem_cache_zalloc is a memory allocation function which can return NULL
> when some internal memory errors happen. Add null pointer check to avoid
> dereferencing null pointer.
>
> Reported-by: Zeal Robot <[email protected]>
> Signed-off-by: Lv Ruyi <[email protected]>
> ---
> drivers/iommu/fsl_pamu_domain.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/iommu/fsl_pamu_domain.c b/drivers/iommu/fsl_pamu_domain.c
> index 69a4a62dc3b9..43849c027298 100644
> --- a/drivers/iommu/fsl_pamu_domain.c
> +++ b/drivers/iommu/fsl_pamu_domain.c
> @@ -152,6 +152,10 @@ static void attach_device(struct fsl_dma_domain *dma_domain, int liodn, struct d
> }
>
> info = kmem_cache_zalloc(iommu_devinfo_cache, GFP_ATOMIC);
> + if (!info) {
> + spin_unlock_irqrestore(&device_domain_lock, flags);
> + return;
> + }

Such errors need to be propagated.