Skip to content
This repository was archived by the owner on Oct 3, 2024. It is now read-only.

Commit ab07fea

Browse files
Dan Carpenterzhenyw
Dan Carpenter
authored andcommitted
drm/i915/gvt: fix uninitialized return in intel_gvt_update_reg_whitelist()
Smatch found an uninitialized variable bug in this code: drivers/gpu/drm/i915/gvt/cmd_parser.c:3191 intel_gvt_update_reg_whitelist() error: uninitialized symbol 'ret'. The first thing that Smatch complains about is that "ret" isn't set if we don't enter the "for_each_engine(engine, &dev_priv->gt, id) {" loop. Presumably we always have at least one engine so that's a false positive. But it's definitely a bug to not set "ret" if i915_gem_object_pin_map() fails. Let's fix the bug and silence the false positive. Fixes: 493f30c ("drm/i915/gvt: parse init context to update cmd accessible reg whitelist") Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Zhenyu Wang <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/YA6F3oF8mRaNQWjb@mwanda
1 parent 2f73f8d commit ab07fea

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/gpu/drm/i915/gvt/cmd_parser.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3103,7 +3103,7 @@ void intel_gvt_update_reg_whitelist(struct intel_vgpu *vgpu)
31033103
struct intel_vgpu_submission *s = &vgpu->submission;
31043104
struct i915_request *requests[I915_NUM_ENGINES] = {};
31053105
bool is_ctx_pinned[I915_NUM_ENGINES] = {};
3106-
int ret;
3106+
int ret = 0;
31073107

31083108
if (gvt->is_reg_whitelist_updated)
31093109
return;
@@ -3157,6 +3157,7 @@ void intel_gvt_update_reg_whitelist(struct intel_vgpu *vgpu)
31573157
if (IS_ERR(vaddr)) {
31583158
gvt_err("failed to pin init ctx obj, ring=%d, err=%lx\n",
31593159
id, PTR_ERR(vaddr));
3160+
ret = PTR_ERR(vaddr);
31603161
goto out;
31613162
}
31623163

0 commit comments

Comments
 (0)