[igt-dev] [RFC 1/4] tests/i915/gem_mmap_gtt: Add invalid parameters test

Chris Wilson chris at chris-wilson.co.uk
Tue Mar 12 22:18:00 UTC 2019


Quoting Antonio Argenziano (2019-03-12 22:11:06)
> 
> 
> On 12/03/19 15:04, Chris Wilson wrote:
> > Quoting Antonio Argenziano (2019-03-12 21:57:35)
> >> Add a test for an invalid handle being passed to the IOCTL.
> >>
> >> Signed-off-by: Antonio Argenziano <antonio.argenziano at intel.com>
> >> ---
> >>   tests/i915/gem_mmap_gtt.c | 12 ++++++++++++
> >>   1 file changed, 12 insertions(+)
> >>
> >> diff --git a/tests/i915/gem_mmap_gtt.c b/tests/i915/gem_mmap_gtt.c
> >> index f6fbbe19..58f7403c 100644
> >> --- a/tests/i915/gem_mmap_gtt.c
> >> +++ b/tests/i915/gem_mmap_gtt.c
> >> @@ -831,6 +831,18 @@ igt_main
> >>          igt_fixture
> >>                  fd = drm_open_driver(DRIVER_INTEL);
> >>   
> >> +       igt_subtest("bad-object") {
> >> +               struct drm_i915_gem_mmap arg;
> >> +               int ret;
> >> +
> >> +               memset(&arg, 0, sizeof(arg));
> >> +               arg.handle = 0x10101010;
> > 
> > For bad handles, also try creating a valid handle and checking
> > for (i = 16; i < BITS_PER_TYPE(arg.handle); i++)
> >       arg.handle = real_handle | BIT(i);
> > 
> > Especially with (1<<31) set as historically the idr was only a 31-bit
> > cyclic allocator, so might be susceptible to wraparound.
> 
> Would:
> real_handle = gem_create(...);
> arg.handle = real_handle + 1;
> 
> guarantee an invalid handle?

If there's only been one handle allocated, yes.
-Chris


More information about the igt-dev mailing list