vm_gfree 内核服务

用途

释放先前与 vm_galloc 内核服务一起分配的内核中的全局内存区域。

语法

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/vmuser.h>

int vm_gfree (ulong  eaddr, vmsize_t  size)

描述

vm_gfree 内核服务会释放先前与 vm_galloc 内核服务一起分配的全局内存区域。 起始地址和大小必须与先前由 vm_galloc 内核服务分配的地址完全匹配。 在 vm_galloc 区域中释放先前分配的区域的一部分是无效的。

在调用 vm_gfree 内核服务之前,必须停止对正在释放的区域执行的任何 I/O 操作。

参数

描述
埃德尔 要释放的区域的起始地址。
大小 要释放的区域大小 (以字节为单位)。

执行环境

仅可从 流程环境 调用 vm_gfree 内核服务。

返回值

描述
重大安全事件数量 成功完成。 区域已释放。
EINVAL 指定的大小或起始地址无效。 这可能意味着该区域不在 vm_galloc 堆的范围内,先前未使用 vm_galloc进行分配,或者与 vm_galloc中先前的分配不完全匹配。