diff mbox

[1/1] vfio iommu type1: WARN_ON if notifier block is not unregistered

Message ID 1480972100-846-1-git-send-email-kwankhede@nvidia.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kirti Wankhede Dec. 5, 2016, 9:08 p.m. UTC
mdev vendor driver should unregister the iommu notifier since the vfio
iommu can persist beyond the attachment of the mdev group. WARN_ON will
show warning if vendor driver doesn't unregister the notifier and is
forced to follow the implementations steps.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Signed-off-by: Neo Jia <cjia@nvidia.com>
Change-Id: I75fd0a40e582a144fe7a037c7140d3513e8ff030
---
 drivers/vfio/vfio_iommu_type1.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Alex Williamson Dec. 5, 2016, 11:26 p.m. UTC | #1
On Tue, 6 Dec 2016 02:38:20 +0530
Kirti Wankhede <kwankhede@nvidia.com> wrote:

> mdev vendor driver should unregister the iommu notifier since the vfio
> iommu can persist beyond the attachment of the mdev group. WARN_ON will
> show warning if vendor driver doesn't unregister the notifier and is
> forced to follow the implementations steps.
> 
> Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
> Signed-off-by: Neo Jia <cjia@nvidia.com>
> Change-Id: I75fd0a40e582a144fe7a037c7140d3513e8ff030
> ---
>  drivers/vfio/vfio_iommu_type1.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
> index 023fba7b8d5a..37871ee0c0c5 100644
> --- a/drivers/vfio/vfio_iommu_type1.c
> +++ b/drivers/vfio/vfio_iommu_type1.c
> @@ -1361,6 +1361,8 @@ static void vfio_sanity_check_pfn_list(struct vfio_iommu *iommu)
>  		if (WARN_ON(!RB_EMPTY_ROOT(&dma->pfn_list)))
>  			break;
>  	}
> +	/* mdev venfor driver must unregister notifier */

s/venfor/vendor/

> +	WARN_ON(iommu->notifier.head);
>  }
>  
>  static void vfio_iommu_type1_detach_group(void *iommu_data,

Applied for v4.10 with the above typo fix.  Thanks,

Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kirti Wankhede Dec. 6, 2016, 3:57 a.m. UTC | #2
On 12/6/2016 4:56 AM, Alex Williamson wrote:
> On Tue, 6 Dec 2016 02:38:20 +0530
> Kirti Wankhede <kwankhede@nvidia.com> wrote:
> 
>> mdev vendor driver should unregister the iommu notifier since the vfio
>> iommu can persist beyond the attachment of the mdev group. WARN_ON will
>> show warning if vendor driver doesn't unregister the notifier and is
>> forced to follow the implementations steps.
>>
>> Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
>> Signed-off-by: Neo Jia <cjia@nvidia.com>
>> Change-Id: I75fd0a40e582a144fe7a037c7140d3513e8ff030
>> ---
>>  drivers/vfio/vfio_iommu_type1.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
>> index 023fba7b8d5a..37871ee0c0c5 100644
>> --- a/drivers/vfio/vfio_iommu_type1.c
>> +++ b/drivers/vfio/vfio_iommu_type1.c
>> @@ -1361,6 +1361,8 @@ static void vfio_sanity_check_pfn_list(struct vfio_iommu *iommu)
>>  		if (WARN_ON(!RB_EMPTY_ROOT(&dma->pfn_list)))
>>  			break;
>>  	}
>> +	/* mdev venfor driver must unregister notifier */
> 
> s/venfor/vendor/
> 
>> +	WARN_ON(iommu->notifier.head);
>>  }
>>  
>>  static void vfio_iommu_type1_detach_group(void *iommu_data,
> 
> Applied for v4.10 with the above typo fix.  Thanks,
> 

Thanks Alex!

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
index 023fba7b8d5a..37871ee0c0c5 100644
--- a/drivers/vfio/vfio_iommu_type1.c
+++ b/drivers/vfio/vfio_iommu_type1.c
@@ -1361,6 +1361,8 @@  static void vfio_sanity_check_pfn_list(struct vfio_iommu *iommu)
 		if (WARN_ON(!RB_EMPTY_ROOT(&dma->pfn_list)))
 			break;
 	}
+	/* mdev venfor driver must unregister notifier */
+	WARN_ON(iommu->notifier.head);
 }
 
 static void vfio_iommu_type1_detach_group(void *iommu_data,