[igt-dev] [PATCH i-g-t v5 2/3] tests: add i915 query tests

Chris Wilson chris at chris-wilson.co.uk
Thu Mar 8 14:44:59 UTC 2018


Quoting Lionel Landwerlin (2018-03-08 14:31:16)
> On 08/03/18 11:22, Tvrtko Ursulin wrote:
> > Interesting question how we want to name this test. We don't have any 
> > i915_ prefix tests, but for instance there is drv_getparams_basic, 
> > suggesting this could be called drv_query_ioctl or something?
> >
> > Open for discussion I guess.
> 
> I've been considering renaming perf.c (that's a pretty confusing one...)
> 
> One could argue that if IGT tests more than intel devices, we should 
> have a driver prefix (I see vc4 has).

Yes. Move all of the i915.ko specific tests to tests/i915/

For build system simplicity, I'd advocate keeping generic tests
separate from driver specific tests. So kms_flip would have kms/ and
i915/ portions, etc.

(And tools/i915; benchmarks/i915 etc)

> >> +    items_ptr = mmap(0, 4096, PROT_WRITE, MAP_PRIVATE | MAP_ANON, 
> >> -1, 0);
> >> +    items_ptr[0].query_id = DRM_I915_QUERY_TOPOLOGY_INFO;
> >> +    i915_query_item(fd, items_ptr, 1);
> >> +    igt_assert(items_ptr[0].length >= sizeof(struct 
> >> drm_i915_query_topology_info));
> >> +    munmap(items_ptr, 4096);
> >> +    i915_query_item_err(fd, items_ptr, 1, EFAULT);
> >
> > Another good test would be passing in a read only mapping and checking 
> > for EFAULT when length writeback fails.
> 
> Hm... how to do you write something sensible into a read only mapping so 
> that the kernel would at least try to write to it? :)

ptr = mmap(sz);
memset(ptr, 0xc5, sz); 
mprotect(ptr, sz, PROT_READ);

So you can setup a valid blob tricking the kernel to write back to it
and send us an EFAULT.
-Chris


More information about the igt-dev mailing list