arch/risc-v: Add maximum user addrenv size and end boundary

Also in riscv_uservaddr() check the end boundary
This commit is contained in:
Ville Juven 2023-05-30 16:55:54 +03:00 • committed by Xiang Xiao
parent 783f3f4c92
commit 376874d88b
2 changed files with 9 additions and 1 deletions

View file

@ -52,6 +52,14 @@
# define ARCH_ADDRENV_VBASE (CONFIG_ARCH_DATA_VBASE)
#endif
/* Maximum user address environment size */
#define ARCH_ADDRENV_MAX_SIZE (0x40000000)
/* User address environment end */
#define ARCH_ADDRENV_VEND (ARCH_ADDRENV_VBASE + ARCH_ADDRENV_MAX_SIZE)
/****************************************************************************
* Public Function Prototypes
****************************************************************************/

View file

@ -95,7 +95,7 @@ static inline bool riscv_uservaddr(uintptr_t vaddr)
* heap, or stack regions.
*/
return vaddr >= ARCH_ADDRENV_VBASE;
return vaddr >= ARCH_ADDRENV_VBASE && vaddr < ARCH_ADDRENV_VEND;
}
/****************************************************************************