[PATCH 4.4 27/91] iommu/vt-d: Tylersburg isoch identity map check is done too late.

From: Greg Kroah-Hartman
Date: Fri Mar 10 2017 - 04:14:59 EST

4.4-stable review patch. If anyone has any objections, please let me know.


From: Ashok Raj <ashok.raj@xxxxxxxxx>

commit 21e722c4c8377b5bc82ad058fed12165af739c1b upstream.

The check to set identity map for tylersburg is done too late. It needs
to be done before the check for identity_map domain is done.

To: Joerg Roedel <joro@xxxxxxxxxx>
To: David Woodhouse <dwmw2@xxxxxxxxxxxxx>
Cc: iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: Ashok Raj <ashok.raj@xxxxxxxxx>

Fixes: 86080ccc22 ("iommu/vt-d: Allocate si_domain in init_dmars()")
Signed-off-by: Ashok Raj <ashok.raj@xxxxxxxxx>
Reported-by: Yunhong Jiang <yunhong.jiang@xxxxxxxxx>
Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

drivers/iommu/intel-iommu.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -3238,13 +3238,14 @@ static int __init init_dmars(void)
iommu_identity_mapping |= IDENTMAP_GFX;

+ check_tylersburg_isoch();
if (iommu_identity_mapping) {
ret = si_domain_init(hw_pass_through);
if (ret)
goto free_iommu;

- check_tylersburg_isoch();

* If we copied translations from a previous kernel in the kdump