From: Joerg Roedel Date: Tue, 8 Jul 2014 12:55:10 +0000 (+0200) Subject: iommu/amd: Drop pasid_state reference in ppr_notifer error path X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=dc88db7ee9f9a0a850dcee5738031f888ba124b7;p=deliverable%2Flinux.git iommu/amd: Drop pasid_state reference in ppr_notifer error path In case we are not able to allocate a fault structure a reference to the pasid_state will be leaked. Fix that by dropping the reference in the error path in case we hold one. Signed-off-by: Joerg Roedel Tested-by: Oded Gabbay --- diff --git a/drivers/iommu/amd_iommu_v2.c b/drivers/iommu/amd_iommu_v2.c index 574c71bdfcfa..6ba707b998ff 100644 --- a/drivers/iommu/amd_iommu_v2.c +++ b/drivers/iommu/amd_iommu_v2.c @@ -607,6 +607,10 @@ static int ppr_notifier(struct notifier_block *nb, unsigned long e, void *data) ret = NOTIFY_OK; out_drop_state: + + if (ret != NOTIFY_OK && pasid_state) + put_pasid_state(pasid_state); + put_device_state(dev_state); out: