FreeRTOS-Kernel/portable/IAR
Corentin Pane b4972f4093 Mask MPU region base addresses when writing to MPU_RBAR on ARM_CM3/4
Bits 0-4 are reserved for VALID and REGION, while ADDR  spans at most bits 5-31 (bits 5-7 are sometimes reserved and not assigned to ADDR field). Masking ensures that a misaligned base address cannot modify less significant bits in the attribute reserved for other use. Failing to mask the address may allow a malicious user to pass in misaligned addresses in a user-defined region or as stack buffer which could in turn override the settings for higher-priority kernel-defined regions.

This change doesn't guarantee that only properly aligned addresses are written to the ADDR field of the register, and doesn't ensure that reserved field from bits 5-7 are not written to, but protects the VALID and REGION fields.
2026-08-31 16:34:46 +02:00
..
78K0R Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
ARM_CA5_No_GIC Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
ARM_CA9 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM0 Update broken links in readme and comments (#1110) 2024-08-05 16:00:47 +05:30
ARM_CM3 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM4F Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM4F_MPU Mask MPU region base addresses when writing to MPU_RBAR on ARM_CM3/4 2026-08-31 16:34:46 +02:00
ARM_CM7 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
ARM_CM23 Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM23_NTZ/non_secure Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM33 Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM33_NTZ/non_secure Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM35P Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM35P_NTZ/non_secure Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM52 Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM52_NTZ/non_secure Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM55 Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM55_NTZ/non_secure Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM85 Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CM85_NTZ/non_secure Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_CRx_No_GIC fix typos in comments: interace -> interface, swtich -> switch (#1022) 2024-04-08 17:50:55 -07:00
ARM_STAR_MC3 Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ARM_STAR_MC3_NTZ/non_secure Allow start scheduler and free context SVC from privileged code only (#1475) 2026-08-21 10:24:35 -07:00
ATMega323 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
AtmelSAM7S64 Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
AtmelSAM9XE Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
AVR32_UC3 Fix spelling typos (#1168) 2024-11-01 10:09:49 -07:00
AVR_AVRDx Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
AVR_Mega0 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
LPC2000 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
MSP430 Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
MSP430X Remove hardware dependence in portmacros.h (#1112) 2024-08-19 11:31:30 +05:30
RISC-V Fix comment typos (#1461) 2026-08-07 16:14:30 -07:00
RL78 fix[RL78 Port] incorrect register image for pvParameters in FAR model (#1316) (#1317) 2025-10-06 18:37:11 +05:30
RX100 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
RX600 Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
RX700v3_DPFPU Move configASSERT default definition above before including portable.h. (#1185) 2024-11-04 16:35:52 +05:30
RXv2 Add CFI frame unwind info in portable/IAR/RXv2/port_asm.s (#1341) 2026-01-12 17:53:32 +05:30
STR71x Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
STR75x Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
STR91x Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00
V850ES Use Regex for Copyright Year in Header Check (#1002) 2024-02-26 09:26:42 -08:00