diff
--- a/drivers/gpu/drm/xen/xen_drm_front_xengfx.c
+++ b/drivers/gpu/drm/xen/xen_drm_front_xengfx.c
@@ -95,5 +95,8 @@
 	}
 
 	for (level = 1; level < num_level; level++) {
+		if (level >= XE_MAX_PT_LEVELS) {
+			return -EINVAL;
+		}
 		entry = vm->pt_ops->pde_encode_bo(bo, map_ofs + (level - 1) *
 				XE_PAGE_SIZE);
 		if (level + 1 == num_level) {

