Mesa (master): intel: compiler: prevent integer overflow

Lionel Landwerlin llandwerlin at kemper.freedesktop.org
Tue May 9 15:59:18 UTC 2017


Module: Mesa
Branch: master
Commit: 32f14332f561a68f1ad93b8b7bc2afa4ea1dc8db
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=32f14332f561a68f1ad93b8b7bc2afa4ea1dc8db

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Mon May  8 18:55:06 2017 +0100

intel: compiler: prevent integer overflow

CID: 1399477, 1399478 (Integer handling issues)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>

---

 src/intel/compiler/brw_eu_validate.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/intel/compiler/brw_eu_validate.c b/src/intel/compiler/brw_eu_validate.c
index 63b798c771..a632242e0f 100644
--- a/src/intel/compiler/brw_eu_validate.c
+++ b/src/intel/compiler/brw_eu_validate.c
@@ -621,7 +621,7 @@ general_restrictions_on_region_parameters(const struct gen_device_info *devinfo,
       /* VertStride must be used to cross GRF register boundaries. This rule
        * implies that elements within a 'Width' cannot cross GRF boundaries.
        */
-      const uint64_t mask = (1 << element_size) - 1;
+      const uint64_t mask = (1ULL << element_size) - 1;
       unsigned rowbase = subreg;
 
       for (int y = 0; y < exec_size / width; y++) {
@@ -674,7 +674,7 @@ align1_access_mask(uint64_t access_mask[static 32],
                    unsigned exec_size, unsigned element_size, unsigned subreg,
                    unsigned vstride, unsigned width, unsigned hstride)
 {
-   const uint64_t mask = (1 << element_size) - 1;
+   const uint64_t mask = (1ULL << element_size) - 1;
    unsigned rowbase = subreg;
    unsigned element = 0;
 




More information about the mesa-commit mailing list