瀏覽代碼

sandbox: Allow to execute from RAM

With efi_loader, we may want to execute payloads from RAM. By default,
permissions on the RAM region don't allow us to execute from there though.

So let's change the default allocation scheme for RAM to also allow
execution from it. That way payloads that live in U-Boot RAM can be
directly executed.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Alexander Graf 7 年之前
父節點
當前提交
6e6e4b2f73
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      arch/sandbox/cpu/os.c

+ 2 - 1
arch/sandbox/cpu/os.c

@@ -146,7 +146,8 @@ void *os_malloc(size_t length)
 	int page_size = getpagesize();
 
 	hdr = mmap(NULL, length + page_size,
-		   PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+		   PROT_READ | PROT_WRITE | PROT_EXEC,
+		   MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
 	if (hdr == MAP_FAILED)
 		return NULL;
 	hdr->length = length;