From ba9a383ca3cb907b6c6474ad77b80c374ec7b4c3 Mon Sep 17 00:00:00 2001 From: Philip Elcan Date: Mon, 5 Aug 2019 12:35:12 -0400 Subject: [PATCH] gpu: nvgpu: utils: fix CERT-C violations Rule INT31-C requires checking that data isn't misinterpreted after casting. So use safe ops. JIRA NVGPU-3868 Change-Id: I8b1de1caf87f00e1dd2d3d73637bb378cf380e50 Signed-off-by: Philip Elcan Reviewed-on: https://git-master.nvidia.com/r/2168529 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Nitin Kumbhar GVS: Gerrit_Virtual_Submit Reviewed-by: Alex Waterman Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/include/nvgpu/utils.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/nvgpu/include/nvgpu/utils.h b/drivers/gpu/nvgpu/include/nvgpu/utils.h index 99618cb3e..4f8a4ea49 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/utils.h +++ b/drivers/gpu/nvgpu/include/nvgpu/utils.h @@ -34,12 +34,13 @@ static inline u32 u64_hi32(u64 n) { - return (u32)((n >> 32) & ~(u32)0); + return nvgpu_safe_cast_u64_to_u32(nvgpu_safe_cast_u64_to_u32(n >> 32) + & ~(u32)0); } static inline u32 u64_lo32(u64 n) { - return (u32)(n & ~(u32)0); + return nvgpu_safe_cast_u64_to_u32(n & ~(u32)0); } static inline u64 hi32_lo32_to_u64(u32 hi, u32 lo)