[Intel-gfx] [PATCH v2] drm/i915/selftests: Silence compiler warning in igt_ctx_exec

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed May 24 09:29:02 UTC 2017


On 23/05/2017 20:44, Chris Wilson wrote:
> The compiler doesn't always spot the guard that object is allocated on
> the first pass, leading to:
>
> drivers/gpu/drm/i915/selftests/i915_gem_context.c: warning: 'obj' may be used uninitialized in this function [-Wuninitialized]:  => 370:8
>
> v2: Make it more obvious by setting obj to NULL on the first pass and
> any later pass where we need to reallocate.
>
> Reported-by: Geert Uytterhoeven <geert at linux-m68k.org>
> Fixes: 791ff39ae32a ("drm/i915: Live testing for context execution")
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Matthew Auld <matthew.auld at intel.com>
> c: <drm-intel-fixes at lists.freedesktop.org> # v4.12-rc1+
> ---
>  drivers/gpu/drm/i915/selftests/i915_gem_context.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> index 1afb8b06e3e1..12b85b3278cd 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> @@ -320,7 +320,7 @@ static unsigned long max_dwords(struct drm_i915_gem_object *obj)
>  static int igt_ctx_exec(void *arg)
>  {
>  	struct drm_i915_private *i915 = arg;
> -	struct drm_i915_gem_object *obj;
> +	struct drm_i915_gem_object *obj = NULL;
>  	struct drm_file *file;
>  	IGT_TIMEOUT(end_time);
>  	LIST_HEAD(objects);
> @@ -359,7 +359,7 @@ static int igt_ctx_exec(void *arg)
>  		}
>
>  		for_each_engine(engine, i915, id) {
> -			if (dw == 0) {
> +			if (!obj) {
>  				obj = create_test_object(ctx, file, &objects);
>  				if (IS_ERR(obj)) {
>  					err = PTR_ERR(obj);
> @@ -376,8 +376,10 @@ static int igt_ctx_exec(void *arg)
>  				goto out_unlock;
>  			}
>
> -			if (++dw == max_dwords(obj))
> +			if (++dw == max_dwords(obj)) {
> +				obj = NULL;
>  				dw = 0;
> +			}
>  			ndwords++;
>  		}
>  		ncontexts++;
>

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list