文章 ID: 000059198 內容類型: 產品資訊與文件 最近查看日期: 2024 年 07 月 31 日

在 enclave 設定檔中設置 「reservedMem」 參數有什麼效果?

環境

Linux*

BUILT IN - ARTICLE INTRO SECOND COMPONENT
摘要

在運行時管理指定位址空間額外保留記憶體的參數和函數

描述

Linux* 的Intel® Software Guard Extensions (Intel® SGX) 開發人員參考 的 Enclave 配置預設值表中對保留記憶體參數的解釋含糊不清。

ReservedMemMaxSize

進程的最大保留記憶體大小。必須對齊 4KB。

0x0000000

ReservedMemMinSize

進程的最小保留記憶體大小。必須對齊 4KB。

0x0000000

ReservedMemInitSize

進程的初始保留記憶體大小。必須對齊 4KB。

0x0000000

ReservedMemExecutable

保留的記憶體是可執行的。

注意

此值僅用於 Intel® Software Guard Extensions (Intel® SGX) 1 平臺。

0:保留記憶體不可執行。

1:保留記憶體是可執行的。

解決方法

Linux Intel SGX開發人員參考說明:

通過在指定 enclave 的設定檔中指定這些欄位來ReservedMemMinSizeReservedMemMaxSizeReservedMemInitSize 區域。保留的記憶體區域將在載入時添加到指定位址空間的末尾,並且可以在運行時使用。ReservedMemExecutable可以通過將保留記憶體可執行檔設置為1來配置保留記憶體是否具有可執行許可權。

注意

在 Intel® SGX 2.0 平臺上,保留記憶體強制配置為 RW 許可權,儘管 ReservedMemExecutable 設置為 1。目前,保留記憶體用於支援 Intel® SGX DNNL 庫中的即時 (JIT) 使用。

可以在運行時使用保留記憶體函數分配和釋放保留記憶體。

保留記憶體功能

Intel® SGX SDK 允許使用者為特殊用途(如 JIT 支援)配置保留記憶體區域。記憶體可設定或變更為可執行。有關詳細資訊,請參閱指定位址空間配置檔。為了管理預留記憶體, sgx_tstdc 庫提供了以下函數來查詢記憶體資訊、分配和釋放記憶體以及更改記憶體保護:

  • sgx_get_rsrv_mem_info
  • sgx_alloc_rsrv_mem
  • sgx_alloc_rsrv_mem_ex
  • sgx_free_rsrv_mem
  • sgx_tprotect_rsrv_mem
額外資訊

適用於 Linux Intel SGX 開發人員參考位於最新版本的 Intel® Software Guard Extensions SDK for Linux* 的文檔資料夾中。

相關產品

本文章適用於 1 產品

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。