[igt-dev] [PATCH] i915/gem_exec_params: add test_invalid_batch_start

Mika Kuoppala mika.kuoppala at linux.intel.com
Thu Mar 5 12:05:39 UTC 2020


Matthew Auld <matthew.auld at intel.com> writes:

> Sanity check that kernel rejects too large batch_start_offset.
>
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  tests/i915/gem_exec_params.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/tests/i915/gem_exec_params.c b/tests/i915/gem_exec_params.c
> index cf7ea306..afc8d2c7 100644
> --- a/tests/i915/gem_exec_params.c
> +++ b/tests/i915/gem_exec_params.c
> @@ -268,6 +268,23 @@ static void mmapped(int i915)
>  	gem_close(i915, buf);
>  }
>  
> +static void test_invalid_batch_start(int fd)
> +{
> +	struct drm_i915_gem_exec_object2 exec = {
> +		.handle = batch_create(fd),
> +	};
> +	struct drm_i915_gem_execbuffer2 execbuf = {
> +		.buffers_ptr = to_user_pointer(&exec),
> +		.buffer_count = 1,
> +		.batch_start_offset = 4096, /* space jump */

If we could get batch size from the handle would be
more documentative.

Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

> +	};
> +
> +	igt_assert_eq(__gem_execbuf(fd, &execbuf), -EINVAL);
> +
> +	gem_sync(fd, exec.handle);
> +	gem_close(fd, exec.handle);
> +}
> +
>  struct drm_i915_gem_execbuffer2 execbuf;
>  struct drm_i915_gem_exec_object2 gem_exec[1];
>  uint32_t batch[2] = {MI_BATCH_BUFFER_END};
> @@ -507,6 +524,9 @@ igt_main
>  	igt_subtest("batch-first")
>  		test_batch_first(fd);
>  
> +	igt_subtest("invalid-batch-start-offset")
> +		test_invalid_batch_start(fd);
> +
>  #define DIRT(name) \
>  	igt_subtest(#name "-dirt") { \
>  		execbuf.flags = 0; \
> -- 
> 2.20.1
>
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev


More information about the igt-dev mailing list