A zero page count passed to the range manager reaches drm_mm_init()
and causes its zero-range BUG check to fire. Reject empty memory
ranges before initializing the manager.
Fixes: 37205891d84f ("drm/ttm: make ttm_range_man_init/takedown take type +
args")
Signed-off-by: Jiale Yao <[email protected]>
---
drivers/gpu/drm/qxl/qxl_ttm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
index 5d495c4798a3..c8cda805b645 100644
--- a/drivers/gpu/drm/qxl/qxl_ttm.c
+++ b/drivers/gpu/drm/qxl/qxl_ttm.c
@@ -185,6 +185,9 @@ static int qxl_ttm_init_mem_type(struct qxl_device *qdev,
unsigned int type,
uint64_t size)
{
+ if (!size)
+ return -EINVAL;
+
return ttm_range_man_init(&qdev->mman.bdev, type, false, size);
}
--
2.34.1