摘要
為 VMO 新增執行權限。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_vmo_replace_as_executable(zx_handle_t handle,
zx_handle_t vmex,
zx_handle_t* out);
說明
zx_vmo_replace_as_executable()
會建立帳號代碼 (參照) 的替代項目
都屬於相同的基礎虛擬記憶體物件 (VMO),
新增正確的 ZX_RIGHT_EXECUTE
handle 一律失效,
權限
handle 必須是 ZX_OBJ_TYPE_VMO
類型。
vmex 必須包含具有底數的資源種類 ZX_RSRC_KIND_SYSTEM
ZX_RSRC_SYSTEM_VMEX_BASE
。
傳回值
zx_vmo_replace_as_executable()
會在成功時傳回 ZX_OK
。活動
失敗時,系統會傳回負錯誤值。
錯誤
ZX_ERR_BAD_HANDLE
帳號代碼不是有效的 VM 物件控制代碼,或
vmex 不是有效的 ZX_RSRC_KIND_SYSTEM
資源控制代碼,
ZX_RSRC_SYSTEM_VMEX_BASE
。
ZX_ERR_NO_MEMORY
因記憶體不足而失敗。
使用者空間無法妥善處理這種 (異常) 錯誤。
在日後的版本中不會再發生這個錯誤。