diff
--- a/drivers/gpu/drm/xen/xen_drm_front_xengfx.c
+++ b/drivers/gpu/drm/xen/xen_drm_front_xengfx.c
@@ -95,9 +95,9 @@
 	}
 
 	for (level = 1; level < num_level; level++) {
-		u32 offset_multiplier = level - 1;
-		u32 offset = offset_multiplier * XE_PAGE_SIZE;
-
+		u64 offset_multiplier = level - 1; 
+		u64 offset = offset_multiplier * XE_PAGE_SIZE; 
+		
 		if (offset / XE_PAGE_SIZE != offset_multiplier) {
 			/* Multiplication overflow */
 			return -EINVAL;

