On Monday, January 09, 2017 11:52:26 AM Jörg Rödel wrote:
> Hi Rafael,
> 
> On Sun, Jan 08, 2017 at 03:20:20AM +0100, Rafael J. Wysocki wrote:
> > ---
> >  drivers/iommu/amd_iommu_init.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > Index: linux-pm/drivers/iommu/amd_iommu_init.c
> > ===================================================================
> > --- linux-pm.orig/drivers/iommu/amd_iommu_init.c
> > +++ linux-pm/drivers/iommu/amd_iommu_init.c
> > @@ -2230,7 +2230,7 @@ static int __init early_amd_iommu_init(v
> >      */
> >     ret = check_ivrs_checksum(ivrs_base);
> >     if (ret)
> > -           return ret;
> > +           goto out;
> >  
> >     amd_iommu_target_ivhd_type = get_highest_supported_ivhd_type(ivrs_base);
> >     DUMP_printk("Using IVHD type %#x\n", amd_iommu_target_ivhd_type);
> 
> Yeah, good catch. Can you send me a patch for this and I am going to
> send the fix upstream asap.

Please find appended.

Thanks,
Rafael

---
From: Rafael J. Wysocki <rafael.j.wyso...@intel.com>
Subject: [PATCH] IOMMU / AMD: Fix error code path in early_amd_iommu_init()

Prevent early_amd_iommu_init() from leaking memory mapped via
acpi_get_table() if check_ivrs_checksum() returns an error.

Signed-off-by: Rafael J. Wysocki <rafael.j.wyso...@intel.com>
---
 drivers/iommu/amd_iommu_init.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-pm/drivers/iommu/amd_iommu_init.c
===================================================================
--- linux-pm.orig/drivers/iommu/amd_iommu_init.c
+++ linux-pm/drivers/iommu/amd_iommu_init.c
@@ -2230,7 +2230,7 @@ static int __init early_amd_iommu_init(v
         */
        ret = check_ivrs_checksum(ivrs_base);
        if (ret)
-               return ret;
+               goto out;
 
        amd_iommu_target_ivhd_type = get_highest_supported_ivhd_type(ivrs_base);
        DUMP_printk("Using IVHD type %#x\n", amd_iommu_target_ivhd_type);

Reply via email to