Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/xe/xe_migrate: Fix potential overflows expression
@ 2024-03-20 10:18 Himal Prasad Ghimiray
  2024-03-20 10:12 ` ✓ CI.Patch_applied: success for " Patchwork
                   ` (14 more replies)
  0 siblings, 15 replies; 19+ messages in thread
From: Himal Prasad Ghimiray @ 2024-03-20 10:18 UTC (permalink / raw)
  To: intel-xe; +Cc: Himal Prasad Ghimiray, Matthew Auld, Matthew Brost, Rodrigo Vivi

Cast to proper datatypes to avoid overflows.

Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
These errors were highlighted by Coverity. I'm uncertain whether they
require attention or if it would be more appropriate to label them as
false positives within the tool.

I've submitted this patch in case addressing the issues is necessary.
However, if reviewers determine that these issues should be marked as
false positives or ignored within the tool, that option is also
available

 drivers/gpu/drm/xe/xe_migrate.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c
index ee1bb938c493..2ba4fb9511f6 100644
--- a/drivers/gpu/drm/xe/xe_migrate.c
+++ b/drivers/gpu/drm/xe/xe_migrate.c
@@ -227,7 +227,7 @@ static int xe_migrate_prepare_vm(struct xe_tile *tile, struct xe_migrate *m,
 		if (vm->flags & XE_VM_FLAG_64K && level == 1)
 			flags = XE_PDE_64K;
 
-		entry = vm->pt_ops->pde_encode_bo(bo, map_ofs + (level - 1) *
+		entry = vm->pt_ops->pde_encode_bo(bo, map_ofs + (u64)(level - 1) *
 						  XE_PAGE_SIZE, pat_index);
 		xe_map_wr(xe, &bo->vmap, map_ofs + XE_PAGE_SIZE * level, u64,
 			  entry | flags);
@@ -235,7 +235,7 @@ static int xe_migrate_prepare_vm(struct xe_tile *tile, struct xe_migrate *m,
 
 	/* Write PDE's that point to our BO. */
 	for (i = 0; i < num_entries - num_level; i++) {
-		entry = vm->pt_ops->pde_encode_bo(bo, i * XE_PAGE_SIZE,
+		entry = vm->pt_ops->pde_encode_bo(bo, (u64)i * XE_PAGE_SIZE,
 						  pat_index);
 
 		xe_map_wr(xe, &bo->vmap, map_ofs + XE_PAGE_SIZE +
@@ -291,7 +291,7 @@ static int xe_migrate_prepare_vm(struct xe_tile *tile, struct xe_migrate *m,
 #define VM_SA_UPDATE_UNIT_SIZE		(XE_PAGE_SIZE / NUM_VMUSA_UNIT_PER_PAGE)
 #define NUM_VMUSA_WRITES_PER_UNIT	(VM_SA_UPDATE_UNIT_SIZE / sizeof(u64))
 	drm_suballoc_manager_init(&m->vm_update_sa,
-				  (map_ofs / XE_PAGE_SIZE - NUM_KERNEL_PDE) *
+				  (size_t)(map_ofs / XE_PAGE_SIZE - NUM_KERNEL_PDE) *
 				  NUM_VMUSA_UNIT_PER_PAGE, 0);
 
 	m->pt_bo = bo;
@@ -490,7 +490,7 @@ static void emit_pte(struct xe_migrate *m,
 	struct xe_vm *vm = m->q->vm;
 	u16 pat_index;
 	u32 ptes;
-	u64 ofs = at_pt * XE_PAGE_SIZE;
+	u64 ofs = (u64)at_pt * XE_PAGE_SIZE;
 	u64 cur_ofs;
 
 	/* Indirect access needs compression enabled uncached PAT index */
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-03-28 14:41 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-20 10:18 [PATCH] drm/xe/xe_migrate: Fix potential overflows expression Himal Prasad Ghimiray
2024-03-20 10:12 ` ✓ CI.Patch_applied: success for " Patchwork
2024-03-20 10:13 ` ✓ CI.checkpatch: " Patchwork
2024-03-20 10:14 ` ✓ CI.KUnit: " Patchwork
2024-03-20 10:24 ` ✓ CI.Build: " Patchwork
2024-03-20 10:27 ` ✓ CI.Hooks: " Patchwork
2024-03-20 10:28 ` ✓ CI.checksparse: " Patchwork
2024-03-20 10:54 ` ✓ CI.BAT: " Patchwork
2024-03-20 20:57 ` [PATCH] " Rodrigo Vivi
2024-03-22  9:30   ` Ghimiray, Himal Prasad
2024-03-22 19:37     ` Rodrigo Vivi
2024-03-25  4:15       ` Ghimiray, Himal Prasad
2024-03-28 13:45 ` ✓ CI.Patch_applied: success for drm/xe/xe_migrate: Fix potential overflows expression (rev2) Patchwork
2024-03-28 13:46 ` ✓ CI.checkpatch: " Patchwork
2024-03-28 13:47 ` ✓ CI.KUnit: " Patchwork
2024-03-28 13:59 ` ✓ CI.Build: " Patchwork
2024-03-28 14:02 ` ✓ CI.Hooks: " Patchwork
2024-03-28 14:05 ` ✓ CI.checksparse: " Patchwork
2024-03-28 14:41 ` ✓ CI.BAT: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox