diff options
author | Zhenyu Wang <zhenyuw@linux.intel.com> | 2018-02-22 02:16:16 -0500 |
---|---|---|
committer | Zhenyu Wang <zhenyuw@linux.intel.com> | 2018-03-06 00:19:25 -0500 |
commit | c39bca4e0467acce30b46aae4567bf6369be4068 (patch) | |
tree | c13eb3bd8a35f8724b968589615112e93bc839cf /drivers | |
parent | 64c066a911b7ec14654d04ad1d5e1b2b8f2feef3 (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.c | 6 |
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) | |||
188 | static int sanitize_fence_mmio_access(struct intel_vgpu *vgpu, | 188 | static 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; |