zx_vmo_replace_as_executable

摘要

为 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() 会替换 handle,并引用同一底层虚拟内存对象 (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 handle 不是有效的虚拟机对象句柄,或者 vmex 不是具有基本 ZX_RSRC_SYSTEM_VMEX_BASE 的有效 ZX_RSRC_KIND_SYSTEM 资源句柄。

ZX_ERR_NO_MEMORY 由于内存不足而失败。 用户空间没有什么方法来处理此(不太可能)错误。在以后的 build 中,此错误不会再发生。

另请参阅