[Intel-gfx] [PATCH v2] drm/i915/selftests: Always initialise err

Pandiyan, Dhinakaran dhinakaran.pandiyan at intel.com
Tue Nov 14 22:40:46 UTC 2017


On Tue, 2017-11-14 at 22:33 +0000, Chris Wilson wrote:
> smatch does not track initialised values as well as gcc, and this
> triggers many warnings by smatch not presented by gcc. Silence smatch by
> initialising the error values to -ENODEV, which we use to denote
> internal errors. (If we see a selftest fail with a silent -ENODEV, we
> know smatch was right!)
> 
> v2: smatch was right about igt_create_vma(), it may unlikely fail on the
> first object allocation which we want to be loud about.
> 

Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>

> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/selftests/i915_gem_context.c  | 2 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      | 8 ++++----
>  drivers/gpu/drm/i915/selftests/i915_gem_request.c  | 2 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_timeline.c | 2 +-
>  drivers/gpu/drm/i915/selftests/i915_syncmap.c      | 6 +++---
>  drivers/gpu/drm/i915/selftests/i915_vma.c          | 2 +-
>  6 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> index 61fcfa2c4dfd..664d1b4f8c69 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> @@ -321,7 +321,7 @@ static int igt_ctx_exec(void *arg)
>  	LIST_HEAD(objects);
>  	unsigned long ncontexts, ndwords, dw;
>  	bool first_shared_gtt = true;
> -	int err;
> +	int err = -ENODEV;
>  
>  	/* Create a few different contexts (with different mm) and write
>  	 * through each ctx/mm using the GPU making sure those writes end
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> index 581296860539..d9560d8a6cc8 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> @@ -699,7 +699,7 @@ static int drunk_hole(struct drm_i915_private *i915,
>  		unsigned int *order, count, n;
>  		struct i915_vma *vma;
>  		u64 hole_size;
> -		int err;
> +		int err = -ENODEV;
>  
>  		hole_size = (hole_end - hole_start) >> size;
>  		if (hole_size > KMALLOC_MAX_SIZE / sizeof(u32))
> @@ -958,7 +958,7 @@ static int exercise_ggtt(struct drm_i915_private *i915,
>  	u64 hole_start, hole_end, last = 0;
>  	struct drm_mm_node *node;
>  	IGT_TIMEOUT(end_time);
> -	int err;
> +	int err = -ENODEV;
>  
>  	mutex_lock(&i915->drm.struct_mutex);
>  restart:
> @@ -1164,7 +1164,7 @@ static int igt_gtt_reserve(void *arg)
>  	struct drm_i915_gem_object *obj, *on;
>  	LIST_HEAD(objects);
>  	u64 total;
> -	int err;
> +	int err = -ENODEV;
>  
>  	/* i915_gem_gtt_reserve() tries to reserve the precise range
>  	 * for the node, and evicts if it has to. So our test checks that
> @@ -1355,7 +1355,7 @@ static int igt_gtt_insert(void *arg)
>  	}, *ii;
>  	LIST_HEAD(objects);
>  	u64 total;
> -	int err;
> +	int err = -ENODEV;
>  
>  	/* i915_gem_gtt_insert() tries to allocate some free space in the GTT
>  	 * to the node, evicting if required.
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_request.c b/drivers/gpu/drm/i915/selftests/i915_gem_request.c
> index 9a35ebd5c876..e3871db78beb 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_request.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_request.c
> @@ -332,7 +332,7 @@ static int live_nop_request(void *arg)
>  	struct intel_engine_cs *engine;
>  	struct live_test t;
>  	unsigned int id;
> -	int err;
> +	int err = -ENODEV;
>  
>  	/* Submit various sized batches of empty requests, to each engine
>  	 * (individually), and wait for the batch to complete. We can check
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_timeline.c b/drivers/gpu/drm/i915/selftests/i915_gem_timeline.c
> index 4795877abe56..3000e6a7d82d 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_timeline.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_timeline.c
> @@ -79,7 +79,7 @@ static int igt_sync(void *arg)
>  	}, *p;
>  	struct intel_timeline *tl;
>  	int order, offset;
> -	int ret;
> +	int ret = -ENODEV;
>  
>  	tl = mock_timeline(0);
>  	if (!tl)
> diff --git a/drivers/gpu/drm/i915/selftests/i915_syncmap.c b/drivers/gpu/drm/i915/selftests/i915_syncmap.c
> index bcab3d00a785..47f4ae18a1ef 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_syncmap.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_syncmap.c
> @@ -333,7 +333,7 @@ static int igt_syncmap_join_below(void *arg)
>  {
>  	struct i915_syncmap *sync;
>  	unsigned int step, order, idx;
> -	int err;
> +	int err = -ENODEV;
>  
>  	i915_syncmap_init(&sync);
>  
> @@ -402,7 +402,7 @@ static int igt_syncmap_neighbours(void *arg)
>  	I915_RND_STATE(prng);
>  	IGT_TIMEOUT(end_time);
>  	struct i915_syncmap *sync;
> -	int err;
> +	int err = -ENODEV;
>  
>  	/*
>  	 * Each leaf holds KSYNCMAP seqno. Check that when we create KSYNCMAP
> @@ -447,7 +447,7 @@ static int igt_syncmap_compact(void *arg)
>  {
>  	struct i915_syncmap *sync;
>  	unsigned int idx, order;
> -	int err;
> +	int err = -ENODEV;
>  
>  	i915_syncmap_init(&sync);
>  
> diff --git a/drivers/gpu/drm/i915/selftests/i915_vma.c b/drivers/gpu/drm/i915/selftests/i915_vma.c
> index 2e86ec136b35..eb89e301b602 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_vma.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_vma.c
> @@ -150,7 +150,7 @@ static int igt_vma_create(void *arg)
>  	IGT_TIMEOUT(end_time);
>  	LIST_HEAD(contexts);
>  	LIST_HEAD(objects);
> -	int err;
> +	int err = -ENOMEM;
>  
>  	/* Exercise creating many vma amonst many objections, checking the
>  	 * vma creation and lookup routines.


More information about the Intel-gfx mailing list