lkml.org 
[lkml]   [2012]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[34-longterm 089/196] intel-iommu: Fix get_domain_for_dev() error path
    Date
    From: Alex Williamson <alex.williamson@redhat.com>

    -------------------
    This is a commit scheduled for the next v2.6.34 longterm release.
    If you see a problem with using this for longterm, please comment.
    -------------------

    commit 2fe9723df8e45fd247782adea244a5e653c30bf4 upstream.

    If we run out of domain_ids and fail iommu_attach_domain(), we
    fall into domain_exit() without having setup enough of the
    domain structure for this to do anything useful. In fact, it
    typically runs off into the weeds walking the bogus domain->devices
    list. Just free the domain.

    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Acked-by: Donald Dutile <ddutile@redhat.com>
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
    Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
    ---
    drivers/pci/intel-iommu.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
    index 62e92e5..2b985b9 100644
    --- a/drivers/pci/intel-iommu.c
    +++ b/drivers/pci/intel-iommu.c
    @@ -1848,7 +1848,7 @@ static struct dmar_domain *get_domain_for_dev(struct pci_dev *pdev, int gaw)

    ret = iommu_attach_domain(domain, iommu);
    if (ret) {
    - domain_exit(domain);
    + free_domain_mem(domain);
    goto error;
    }

    --
    1.7.9.3


    \
     
     \ /
      Last update: 2012-03-13 01:25    [W:4.123 / U:0.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site