drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check()
authorjsg <jsg@openbsd.org>
Mon, 29 Jan 2024 01:29:18 +0000 (01:29 +0000)
committerjsg <jsg@openbsd.org>
Mon, 29 Jan 2024 01:29:18 +0000 (01:29 +0000)
From Nikita Zhandarovich
056484916a131ebad65ee33048ec959f6186befc in linux-6.6.y/6.6.14
b5c5baa458faa5430c445acd9a17481274d77ccf in mainline linux

sys/dev/pci/drm/radeon/r100.c

index f6c1f54..4efe63d 100644 (file)
@@ -2321,7 +2321,7 @@ int r100_cs_track_check(struct radeon_device *rdev, struct r100_cs_track *track)
        switch (prim_walk) {
        case 1:
                for (i = 0; i < track->num_arrays; i++) {
-                       size = track->arrays[i].esize * track->max_indx * 4;
+                       size = track->arrays[i].esize * track->max_indx * 4UL;
                        if (track->arrays[i].robj == NULL) {
                                DRM_ERROR("(PW %u) Vertex array %u no buffer "
                                          "bound\n", prim_walk, i);
@@ -2340,7 +2340,7 @@ int r100_cs_track_check(struct radeon_device *rdev, struct r100_cs_track *track)
                break;
        case 2:
                for (i = 0; i < track->num_arrays; i++) {
-                       size = track->arrays[i].esize * (nverts - 1) * 4;
+                       size = track->arrays[i].esize * (nverts - 1) * 4UL;
                        if (track->arrays[i].robj == NULL) {
                                DRM_ERROR("(PW %u) Vertex array %u no buffer "
                                          "bound\n", prim_walk, i);