mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: MISRA fixes for limit macros
Limit macros from the C library's limits.h are not always in the desired variable type. Cast these macros to the appropriate variable type to fix MISRA violations. JIRA NVGPU-3873 Change-Id: Ib06327aaa6cb78e4a5026b8fc4c15ce356140cc4 Signed-off-by: Adeel Raza <araza@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2262186 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Alex Waterman
parent
f3421645b2
commit
a4b8ec00b3
@@ -43,6 +43,11 @@
|
||||
* @{
|
||||
*/
|
||||
|
||||
static inline u32 nvgpu_safe_cast_s32_to_u32(s32 si_a);
|
||||
static inline u64 nvgpu_safe_cast_s32_to_u64(s32 si_a);
|
||||
static inline u64 nvgpu_safe_cast_s64_to_u64(s64 l_a);
|
||||
static inline s64 nvgpu_safe_cast_u64_to_s64(u64 ul_a);
|
||||
|
||||
/**
|
||||
* @brief Add two u32 values and check for overflow.
|
||||
*
|
||||
@@ -361,7 +366,7 @@ static inline u32 nvgpu_safe_cast_u64_to_u32(u64 ul_a)
|
||||
*/
|
||||
static inline u8 nvgpu_safe_cast_u64_to_u8(u64 ul_a)
|
||||
{
|
||||
if (ul_a > UCHAR_MAX) {
|
||||
if (ul_a > nvgpu_safe_cast_s32_to_u64(UCHAR_MAX)) {
|
||||
BUG();
|
||||
} else {
|
||||
return (u8)ul_a;
|
||||
@@ -380,7 +385,7 @@ static inline u8 nvgpu_safe_cast_u64_to_u8(u64 ul_a)
|
||||
*/
|
||||
static inline u32 nvgpu_safe_cast_s64_to_u32(s64 l_a)
|
||||
{
|
||||
if ((l_a < 0) || (l_a > UINT_MAX)) {
|
||||
if ((l_a < 0) || (l_a > nvgpu_safe_cast_u64_to_s64(U64(UINT_MAX)))) {
|
||||
BUG();
|
||||
} else {
|
||||
return (u32)l_a;
|
||||
@@ -507,7 +512,7 @@ static inline u16 nvgpu_safe_cast_u32_to_u16(u32 ui_a)
|
||||
*/
|
||||
static inline u8 nvgpu_safe_cast_u32_to_u8(u32 ui_a)
|
||||
{
|
||||
if (ui_a > UCHAR_MAX) {
|
||||
if (ui_a > nvgpu_safe_cast_s32_to_u32(UCHAR_MAX)) {
|
||||
BUG();
|
||||
} else {
|
||||
return (u8)ui_a;
|
||||
@@ -526,7 +531,7 @@ static inline u8 nvgpu_safe_cast_u32_to_u8(u32 ui_a)
|
||||
*/
|
||||
static inline s8 nvgpu_safe_cast_u32_to_s8(u32 ui_a)
|
||||
{
|
||||
if (ui_a > SCHAR_MAX) {
|
||||
if (ui_a > nvgpu_safe_cast_s32_to_u32(SCHAR_MAX)) {
|
||||
BUG();
|
||||
} else {
|
||||
return (s8)ui_a;
|
||||
@@ -545,7 +550,7 @@ static inline s8 nvgpu_safe_cast_u32_to_s8(u32 ui_a)
|
||||
*/
|
||||
static inline s32 nvgpu_safe_cast_u32_to_s32(u32 ui_a)
|
||||
{
|
||||
if (ui_a > INT_MAX) {
|
||||
if (ui_a > nvgpu_safe_cast_s32_to_u32(INT_MAX)) {
|
||||
BUG();
|
||||
} else {
|
||||
return (s32)ui_a;
|
||||
@@ -564,7 +569,7 @@ static inline s32 nvgpu_safe_cast_u32_to_s32(u32 ui_a)
|
||||
*/
|
||||
static inline s32 nvgpu_safe_cast_u64_to_s32(u64 ul_a)
|
||||
{
|
||||
if (ul_a > INT_MAX) {
|
||||
if (ul_a > nvgpu_safe_cast_s32_to_u64(INT_MAX)) {
|
||||
BUG();
|
||||
} else {
|
||||
return (s32)ul_a;
|
||||
@@ -584,7 +589,7 @@ static inline s32 nvgpu_safe_cast_u64_to_s32(u64 ul_a)
|
||||
static inline s64 nvgpu_safe_cast_u64_to_s64(u64 ul_a)
|
||||
{
|
||||
NVGPU_COV_WHITELIST(false_positive, NVGPU_MISRA(Rule, 14_3), "Bug 2615925")
|
||||
if (ul_a > LONG_MAX) {
|
||||
if (ul_a > nvgpu_safe_cast_s64_to_u64(LONG_MAX)) {
|
||||
BUG();
|
||||
} else {
|
||||
return (s64)ul_a;
|
||||
|
||||
Reference in New Issue
Block a user