From 113f71b7568976daff72302ed5d3905e893f0785 Mon Sep 17 00:00:00 2001 From: AFWEF_147 Date: Thu, 26 Mar 2026 13:55:23 +0000 Subject: [PATCH] fix(libcpu): correct arm mpu region validation precedence --- libcpu/arm/cortex-m33/mpu.c | 4 ++-- libcpu/arm/cortex-m7/mpu.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libcpu/arm/cortex-m33/mpu.c b/libcpu/arm/cortex-m33/mpu.c index bddd60022cf..e82084fa533 100644 --- a/libcpu/arm/cortex-m33/mpu.c +++ b/libcpu/arm/cortex-m33/mpu.c @@ -108,12 +108,12 @@ rt_bool_t rt_hw_mpu_region_valid(rt_mem_region_t *region) LOG_E("Region size is too small"); return RT_FALSE; } - if (region->size & (~(MPU_MIN_REGION_SIZE - 1U)) != region->size) + if ((region->size & (~(MPU_MIN_REGION_SIZE - 1U))) != region->size) { LOG_E("Region size is not a multiple of 32 bytes"); return RT_FALSE; } - if ((rt_uint32_t)region->start & (MPU_MIN_REGION_SIZE - 1U) != 0U) + if (((rt_uint32_t)region->start & (MPU_MIN_REGION_SIZE - 1U)) != 0U) { LOG_E("Region is not aligned by 32 bytes"); return RT_FALSE; diff --git a/libcpu/arm/cortex-m7/mpu.c b/libcpu/arm/cortex-m7/mpu.c index 63fde3d3524..e6b417da773 100644 --- a/libcpu/arm/cortex-m7/mpu.c +++ b/libcpu/arm/cortex-m7/mpu.c @@ -71,12 +71,12 @@ rt_bool_t rt_hw_mpu_region_valid(rt_mem_region_t *region) LOG_E("Region size is too small"); return RT_FALSE; } - if (region->size & (region->size - 1U) != 0U) + if ((region->size & (region->size - 1U)) != 0U) { LOG_E("Region size is not power of 2"); return RT_FALSE; } - if ((rt_uint32_t)region->start & (region->size - 1U) != 0U) + if (((rt_uint32_t)region->start & (region->size - 1U)) != 0U) { LOG_E("Region is not naturally aligned"); return RT_FALSE;