Message ID | 20211202044831.29583-1-matthew.brost@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Fix error pointer dereference in i915_gem_do_execbuffer() | expand |
On Wed, Dec 01, 2021 at 08:48:31PM -0800, Matthew Brost wrote: > From: Dan Carpenter <dan.carpenter@oracle.com> > > Originally "out_fence" was set using out_fence = sync_file_create() but > which returns NULL, but now it is set with out_fence = eb_requests_create() > which returns error pointers. The error path needs to be modified to > avoid an Oops in the "goto err_request;" path. > > Fixes: 544460c33821 ("drm/i915: Multi-BB execbuf") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> > --- > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > index 9f7c6ecadb90..6db588b9a30e 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c > @@ -3288,6 +3288,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, > out_fence = eb_requests_create(&eb, in_fence, out_fence_fd); > if (IS_ERR(out_fence)) { > err = PTR_ERR(out_fence); > + out_fence = NULL; > if (eb.requests[0]) > goto err_request; > else > -- > 2.33.1 >
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 9f7c6ecadb90..6db588b9a30e 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -3288,6 +3288,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, out_fence = eb_requests_create(&eb, in_fence, out_fence_fd); if (IS_ERR(out_fence)) { err = PTR_ERR(out_fence); + out_fence = NULL; if (eb.requests[0]) goto err_request; else