From dff733232673cdbedf8553a1e7a199b76d9e856d Mon Sep 17 00:00:00 2001 From: Adrian Warecki Date: Mon, 26 Feb 2024 13:08:01 +0100 Subject: [PATCH] lib_manager: Set target memory flags after data loading from storage Memory region must first be mapped as writable to allow data to be placed there. Then the target access flags are set, e.g. read-only and executable. Signed-off-by: Adrian Warecki --- src/library_manager/lib_manager.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/library_manager/lib_manager.c b/src/library_manager/lib_manager.c index 9c9474ed577d..9a934541ad87 100644 --- a/src/library_manager/lib_manager.c +++ b/src/library_manager/lib_manager.c @@ -129,7 +129,7 @@ static int lib_manager_load_data_from_storage(void __sparse_cache *vma, void *s_ { /* Region must be first mapped as writable in order to initialize its contents. */ int ret = sys_mm_drv_map_region((__sparse_force void *)vma, POINTER_TO_UINT(NULL), size, - flags | SYS_MM_MEM_PERM_RW); + SYS_MM_MEM_PERM_RW); if (ret < 0) return ret; @@ -139,11 +139,7 @@ static int lib_manager_load_data_from_storage(void __sparse_cache *vma, void *s_ dcache_writeback_region(vma, size); - /* TODO: Change attributes for memory to FLAGS. Implementation of required function in tlb - * driver is in progress. - * sys_mm_drv_update_region_flags(vma, size, flags); - */ - return 0; + return sys_mm_drv_update_region_flags((__sparse_force void *)vma, size, flags); } static int lib_manager_load_module(const uint32_t module_id,