[Intel-gfx] [PATCH i-g-t 1/3] lib/intel_memory_region: verify item.length

Ramalingam C ramalingam.c at intel.com
Mon Jul 26 09:32:36 UTC 2021


On 2021-07-08 at 13:25:52 +0100, Matthew Auld wrote:
> If the regions query fails then the error will be encoded in the
> item.length, while the ioctl will still return success.
> 
> Reported-by: Ville Syrjala <ville.syrjala at linux.intel.com>
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> ---
>  lib/i915/intel_memory_region.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/lib/i915/intel_memory_region.c b/lib/i915/intel_memory_region.c
> index 144ae12c..e1e210f2 100644
> --- a/lib/i915/intel_memory_region.c
> +++ b/lib/i915/intel_memory_region.c
> @@ -119,6 +119,13 @@ struct drm_i915_query_memory_regions *gem_get_query_memory_regions(int fd)
>  	memset(&item, 0, sizeof(item));
>  	item.query_id = DRM_I915_QUERY_MEMORY_REGIONS;
>  	i915_query_items(fd, &item, 1);
> +	/*
> +	 * Any DRM_I915_QUERY_MEMORY_REGIONS specific errors are encoded in the
> +	 * item.length, even though the ioctl might still return success.
> +	 */
> +	igt_assert_f(item.length > 0,
> +		     "DRM_I915_QUERY_MEMORY_REGIONS failed with %d\n",
> +		     item.length);
LGTM.

Reviewed-by: Ramalingam C <ramalingam.c at intel.com>
>  
>  	query_info = calloc(1, item.length);
>  
> -- 
> 2.26.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list