[igt-dev] [RFT i-g-t] lib/i915: Assert mmap size alignment

Chris Wilson chris at chris-wilson.co.uk
Mon Mar 4 14:45:11 UTC 2019


Quoting Tvrtko Ursulin (2019-03-04 14:11:31)
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> Fishing for fails...
> 
> /*
> mmap(2) mandates size is page aligned so check this in our wrappers.
> */
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
>  lib/i915/gem_mman.c |  4 ++++
>  lib/igt_fb.c        | 14 ++++++++------
>  tests/kms_ccs.c     | 14 ++++++++------
>  tests/kms_psr.c     |  8 ++++----
>  4 files changed, 24 insertions(+), 16 deletions(-)
> 
> diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c
> index 3cf9a6bbdb31..084dbb3b3678 100644
> --- a/lib/i915/gem_mman.c
> +++ b/lib/i915/gem_mman.c
> @@ -57,6 +57,8 @@ void *__gem_mmap__gtt(int fd, uint32_t handle, uint64_t size, unsigned prot)
>         struct drm_i915_gem_mmap_gtt mmap_arg;
>         void *ptr;
>  
> +       igt_assert(!(size & 4095));

Fwiw, it's probably best if we had some kind of IGT_BUG_ON() that caused
a much more visible explosion than a mere test failure.

#define IGT_BUG_ON(cond) if (!(cond)) raise(SIGILL)
-Chris


More information about the igt-dev mailing list