Browse Source

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 <jroedel@suse.de>
Tested-by: Oded Gabbay <Oded.Gabbay@amd.com>
Joerg Roedel 11 years ago
parent
commit
dc88db7ee9
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/iommu/amd_iommu_v2.c

+ 4 - 0
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: