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_KIND_SYSTEM 资源句柄 ZX_RSRC_SYSTEM_VMEX_BASE

ZX_ERR_NO_MEMORY 因内存不足而失败。 用户空间没有好办法处理这种(不太可能)错误。 在将来的版本中,此错误不会再发生。

另请参阅