aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyuw@linux.intel.com>2018-02-22 02:16:16 -0500
committerZhenyu Wang <zhenyuw@linux.intel.com>2018-03-06 00:19:25 -0500
commitc39bca4e0467acce30b46aae4567bf6369be4068 (patch)
treec13eb3bd8a35f8724b968589615112e93bc839cf /drivers
parent64c066a911b7ec14654d04ad1d5e1b2b8f2feef3 (diff)
drm/i915/gvt: Fix check error on fence mmio handler
Fix below error with minor code refactor. CHECK drivers/gpu/drm/i915//gvt/handlers.c drivers/gpu/drm/i915//gvt/handlers.c:203 sanitize_fence_mmio_access() error: 'vgpu' dereferencing possible ERR_PTR() Reviewed-by: Zhi Wang <zhi.a.wang@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/gvt/handlers.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/gvt/handlers.c b/drivers/gpu/drm/i915/gvt/handlers.c
index fbb908e797c4..415ef4556e67 100644
--- a/drivers/gpu/drm/i915/gvt/handlers.c
+++ b/drivers/gpu/drm/i915/gvt/handlers.c
@@ -188,7 +188,9 @@ void enter_failsafe_mode(struct intel_vgpu *vgpu, int reason)
188static int sanitize_fence_mmio_access(struct intel_vgpu *vgpu, 188static int sanitize_fence_mmio_access(struct intel_vgpu *vgpu,
189 unsigned int fence_num, void *p_data, unsigned int bytes) 189 unsigned int fence_num, void *p_data, unsigned int bytes)
190{ 190{
191 if (fence_num >= vgpu_fence_sz(vgpu)) { 191 unsigned int max_fence = vgpu_fence_sz(vgpu);
192
193 if (fence_num >= max_fence) {
192 194
193 /* When guest access oob fence regs without access 195 /* When guest access oob fence regs without access
194 * pv_info first, we treat guest not supporting GVT, 196 * pv_info first, we treat guest not supporting GVT,
@@ -201,7 +203,7 @@ static int sanitize_fence_mmio_access(struct intel_vgpu *vgpu,
201 if (!vgpu->mmio.disable_warn_untrack) { 203 if (!vgpu->mmio.disable_warn_untrack) {
202 gvt_vgpu_err("found oob fence register access\n"); 204 gvt_vgpu_err("found oob fence register access\n");
203 gvt_vgpu_err("total fence %d, access fence %d\n", 205 gvt_vgpu_err("total fence %d, access fence %d\n",
204 vgpu_fence_sz(vgpu), fence_num); 206 max_fence, fence_num);
205 } 207 }
206 memset(p_data, 0, bytes); 208 memset(p_data, 0, bytes);
207 return -EINVAL; 209 return -EINVAL;