[PATCH] drm: use size_t variables to iterate through pages

Daniel Vetter daniel at ffwll.ch
Wed Oct 4 16:09:40 UTC 2017


On Tue, Oct 03, 2017 at 09:38:11AM -0600, Jordan Crouse wrote:
> drm_gem_get_pages() and drm_gem_put_pages() calculate the number
> of pages to operate on from obj->size which is a size_t.  Use
> similarly sized variables to calculate and iterate through the
> pages to avoid possibly losing bits from the page calculation.
> 
> Signed-off-by: Jordan Crouse <jcrouse at codeaurora.org>

Not sure it wouldn't be better to move over to u64? In theory you could
have a gpu with huge amounts of vram on a 32bit kernel, like PAE.

There's also rough consensus that size_t is just an all-around evil type
for anything :-)

Still an issue of course, just probably with a differen (and likely more
invasive) fix.
-Daniel

> ---
>  drivers/gpu/drm/drm_gem.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index af62017..a8c146d 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -550,7 +550,7 @@ struct page **drm_gem_get_pages(struct drm_gem_object *obj)
>  {
>  	struct address_space *mapping;
>  	struct page *p, **pages;
> -	int i, npages;
> +	size_t i, npages;
>  
>  	/* This is the shared memory object that backs the GEM resource */
>  	mapping = obj->filp->f_mapping;
> @@ -603,7 +603,7 @@ struct page **drm_gem_get_pages(struct drm_gem_object *obj)
>  void drm_gem_put_pages(struct drm_gem_object *obj, struct page **pages,
>  		bool dirty, bool accessed)
>  {
> -	int i, npages;
> +	size_t i, npages;
>  
>  	/* We already BUG_ON() for non-page-aligned sizes in
>  	 * drm_gem_object_init(), so we should never hit this unless
> -- 
> 1.9.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list