drm/i915/gvt: Fix a bug of unexpectedly clear scratch page table
authorZhi Wang <zhi.a.wang@intel.com>
Tue, 10 Oct 2017 09:14:13 +0000 (17:14 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Thu, 16 Nov 2017 03:48:23 +0000 (11:48 +0800)
During a vGPU reset, the scratch page table shouldn't be cleared, what
needs to be cleared should be the scratch page.

Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
drivers/gpu/drm/i915/gvt/gtt.c

index 912d63b..d47b8b1 100644 (file)
@@ -2395,8 +2395,6 @@ void intel_vgpu_reset_ggtt(struct intel_vgpu *vgpu)
  */
 void intel_vgpu_reset_gtt(struct intel_vgpu *vgpu)
 {
-       int i;
-
        ppgtt_free_all_shadow_page(vgpu);
 
        /* Shadow pages are only created when there is no page
@@ -2406,11 +2404,4 @@ void intel_vgpu_reset_gtt(struct intel_vgpu *vgpu)
        intel_vgpu_free_mm(vgpu, INTEL_GVT_MM_PPGTT);
 
        intel_vgpu_reset_ggtt(vgpu);
-
-       /* clear scratch page for security */
-       for (i = GTT_TYPE_PPGTT_PTE_PT; i < GTT_TYPE_MAX; i++) {
-               if (vgpu->gtt.scratch_pt[i].page != NULL)
-                       memset(page_address(vgpu->gtt.scratch_pt[i].page),
-                               0, PAGE_SIZE);
-       }
 }