From 991ecefbdd4b81719597d6c406df8d26ef5c1546 Mon Sep 17 00:00:00 2001 From: Xiong Zhang Date: Tue, 6 Mar 2018 06:07:28 +0800 Subject: [PATCH] drm/i915/gvt: Return error at the failure of finding page_track In XenGT, ioreq copy is used to trap mmio write and ppgtt write. Both of them are memory write, ioreq handler couldn't distinguish them. So ioreq handler probe the ppgtt write handler, if it is succuess, this ioreq is ppgtt write, otherwise it is mmio write. So ppgtt write handler should return an error at the failure of finding page track, it is fatal to implement ioreq handler in XenGT. Signed-off-by: Xiong Zhang Signed-off-by: Zhenyu Wang --- drivers/gpu/drm/i915/gvt/page_track.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gvt/page_track.c b/drivers/gpu/drm/i915/gvt/page_track.c index 2d030545356b7..53e2bd79c97d9 100644 --- a/drivers/gpu/drm/i915/gvt/page_track.c +++ b/drivers/gpu/drm/i915/gvt/page_track.c @@ -164,8 +164,10 @@ int intel_vgpu_page_track_handler(struct intel_vgpu *vgpu, u64 gpa, mutex_lock(&gvt->lock); page_track = intel_vgpu_find_page_track(vgpu, gpa >> PAGE_SHIFT); - if (!page_track) + if (!page_track) { + ret = -ENXIO; goto out; + } if (unlikely(vgpu->failsafe)) { /* Remove write protection to prevent furture traps. */ -- 2.30.2