2018-06-01 18:30:17

by Yizhuo Zhai

[permalink] [raw]
Subject: [PATCH] iommu/amd: Argument page_size could be uninitialized

Argument "page_size" passing to function "fetch_pte" could be
uninitialized if the function returns NULL

The caller "iommu_unmap_page" checks the return value but the page_size is
used outside the if block.

Signed-off-by: [email protected] <[email protected]>
---
drivers/iommu/amd_iommu.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 8fb8c73..7c15eaf 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -1398,6 +1398,8 @@ static u64 *fetch_pte(struct protection_domain *domain,
int level;
u64 *pte;

+ *page_size = 0;
+
if (address > PM_LEVEL_SIZE(domain->mode))
return NULL;

--
2.7.4



2018-07-06 11:20:16

by Joerg Roedel

[permalink] [raw]
Subject: Re: [PATCH] iommu/amd: Argument page_size could be uninitialized

On Fri, Jun 01, 2018 at 11:30:14AM -0700, [email protected] wrote:
> Argument "page_size" passing to function "fetch_pte" could be
> uninitialized if the function returns NULL
>
> The caller "iommu_unmap_page" checks the return value but the page_size is
> used outside the if block.
>
> Signed-off-by: [email protected] <[email protected]>
> ---
> drivers/iommu/amd_iommu.c | 2 ++
> 1 file changed, 2 insertions(+)

Applied, thanks.