[intel-gvt-linux:gvt-staging 1782/1813] drivers/gpu/drm/i915/i915_gem_execbuffer.c:2156 await_fence_array() error: uninitialized symbol 'fence'.

Dan Carpenter dan.carpenter at oracle.com
Tue Oct 23 10:56:37 UTC 2018


tree:   https://github.com/intel/gvt-linux gvt-staging
head:   996bc6d4fcec4a9baa9c89844dd217b197e1a3f1
commit: 48197bc564c7a1888c86024a1ba4f956e0ec2300 [1782/1813] drm: add syncobj timeline support v9

New smatch warnings:
drivers/gpu/drm/i915/i915_gem_execbuffer.c:2156 await_fence_array() error: uninitialized symbol 'fence'.

Old smatch warnings:
drivers/gpu/drm/i915/i915_gem_execbuffer.c:1824 eb_move_to_gpu() warn: maybe use && instead of &

# https://github.com/intel/gvt-linux/commit/48197bc564c7a1888c86024a1ba4f956e0ec2300
git remote add intel-gvt-linux https://github.com/intel/gvt-linux
git remote update intel-gvt-linux
git checkout 48197bc564c7a1888c86024a1ba4f956e0ec2300
vim +/fence +2156 drivers/gpu/drm/i915/i915_gem_execbuffer.c

cf6e7bac Jason Ekstrand 2017-08-15  2137  
cf6e7bac Jason Ekstrand 2017-08-15  2138  static int
cf6e7bac Jason Ekstrand 2017-08-15  2139  await_fence_array(struct i915_execbuffer *eb,
cf6e7bac Jason Ekstrand 2017-08-15  2140  		  struct drm_syncobj **fences)
cf6e7bac Jason Ekstrand 2017-08-15  2141  {
cf6e7bac Jason Ekstrand 2017-08-15  2142  	const unsigned int nfences = eb->args->num_cliprects;
cf6e7bac Jason Ekstrand 2017-08-15  2143  	unsigned int n;
cf6e7bac Jason Ekstrand 2017-08-15  2144  	int err;
cf6e7bac Jason Ekstrand 2017-08-15  2145  
cf6e7bac Jason Ekstrand 2017-08-15  2146  	for (n = 0; n < nfences; n++) {
cf6e7bac Jason Ekstrand 2017-08-15  2147  		struct drm_syncobj *syncobj;
cf6e7bac Jason Ekstrand 2017-08-15  2148  		struct dma_fence *fence;
cf6e7bac Jason Ekstrand 2017-08-15  2149  		unsigned int flags;
cf6e7bac Jason Ekstrand 2017-08-15  2150  
cf6e7bac Jason Ekstrand 2017-08-15  2151  		syncobj = ptr_unpack_bits(fences[n], &flags, 2);
cf6e7bac Jason Ekstrand 2017-08-15  2152  		if (!(flags & I915_EXEC_FENCE_WAIT))
cf6e7bac Jason Ekstrand 2017-08-15  2153  			continue;
cf6e7bac Jason Ekstrand 2017-08-15  2154  
48197bc5 Chunming Zhou  2018-10-18  2155  		drm_syncobj_search_fence(syncobj, 0, 0, &fence);
                                                                                                ^^^^^^
Presumably there are returns where this isn't set.  (I haven't looked).

cf6e7bac Jason Ekstrand 2017-08-15 @2156  		if (!fence)
cf6e7bac Jason Ekstrand 2017-08-15  2157  			return -EINVAL;
cf6e7bac Jason Ekstrand 2017-08-15  2158  
e61e0f51 Chris Wilson   2018-02-21  2159  		err = i915_request_await_dma_fence(eb->request, fence);
cf6e7bac Jason Ekstrand 2017-08-15  2160  		dma_fence_put(fence);
cf6e7bac Jason Ekstrand 2017-08-15  2161  		if (err < 0)
cf6e7bac Jason Ekstrand 2017-08-15  2162  			return err;
cf6e7bac Jason Ekstrand 2017-08-15  2163  	}
cf6e7bac Jason Ekstrand 2017-08-15  2164  
cf6e7bac Jason Ekstrand 2017-08-15  2165  	return 0;
cf6e7bac Jason Ekstrand 2017-08-15  2166  }
cf6e7bac Jason Ekstrand 2017-08-15  2167  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


More information about the intel-gvt-dev mailing list