[Intel-gfx] [PATCH 1/7] drm/i915: Fix the offset issue for the stolen GEM objects

Jesse Barnes jbarnes at virtuousgeek.org
Tue Jan 28 01:30:41 CET 2014


On Mon, 13 Jan 2014 16:24:45 +0530
akash.goel at intel.com wrote:

> From: Akash Goel <akash.goel at intel.com>
> 
> The 'offset' field of the 'scatterlist' structure was wrongly
> programmed with the offset value from the base of stolen area,
> whereas this field indicates the offset from where the interested
> data starts within the first PAGE pointed to by 'scattterlist'
> structure. As a result when a new GEM object allocated from stolen
> area is mapped to GTT, it could lead to an overwrite of GTT entries
> as the page count calculation will go wrong, refer the function
> 'sg_page_count'.
> 
> v2: Modified the commit message. (Chris)
> 
> Signed-off-by: Akash Goel <akash.goel at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
> index fed87ec..1a24e84 100644
> --- a/drivers/gpu/drm/i915/i915_gem_stolen.c
> +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
> @@ -250,7 +250,7 @@ i915_pages_create_for_stolen(struct drm_device *dev,
>  	}
>  
>  	sg = st->sgl;
> -	sg->offset = offset;
> +	sg->offset = 0;
>  	sg->length = size;
>  
>  	sg_dma_address(sg) = (dma_addr_t)dev_priv->mm.stolen_base + offset;

Let's get this upstream and cc stable.

Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list