Simply complain if the combined result of start_page and num_pages goes over
the pages bo has. Let me know if the added warning is too heavy a hammer.

Cc: Christian Koenig <christian.koe...@amd.com>
Cc: Huang Rui <ray.hu...@amd.com>
Cc: Junwei Zhang <jerry.zh...@amd.com>
Signed-off-by: Hillf Danton <hdan...@sina.com>
---

--- a/drivers/gpu/drm/ttm/ttm_bo_util.c 2019-04-02 09:27:24.521761100 +0800
+++ b/drivers/gpu/drm/ttm/ttm_bo_util.c 2019-04-02 09:37:52.108898500 +0800
@@ -631,6 +631,8 @@ int ttm_bo_kmap(struct ttm_buffer_object
                return -EINVAL;
        if (start_page > bo->num_pages)
                return -EINVAL;
+       if (WARN_ON(start_page > bo->num_pages - num_pages))
+               return -EINVAL;
 
        (void) ttm_mem_io_lock(man, false);
        ret = ttm_mem_io_reserve(bo->bdev, &bo->mem);
--

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to