取消锁定内核服务

用途

取消锁定系统 (内核) 地址空间中的地址范围。

语法

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/pin.h>
int unpin ( addr,  length)
caddr addr;
int length;

参数

描述
addr 指定要在系统 (内核) 地址空间中取消置顶的第一个字节的地址。
长度 指定要取消置顶的字节数。

描述

取消锁定 内核服务会减少地址范围内每个页面的 pin 计数。 当 pin 计数 0 0 时,页面不会被置顶,并且可以从实内存中调页。 找到未置顶的页面时, 取消锁定 服务会返回 EINVAL 错误代码,并使所有剩余置顶页面仍处于置顶状态。

只能以系统 (内核) 地址空间中的地址来调用 取消锁定 服务。 如果地址空间可能位于用户空间或内核空间中,那么应使用 克梅蒙平 服务。

执行环境

可以从 流程中断 环境中调用 取消锁定 内核服务。

返回值

描述
重大安全事件数量 指示成功完成。
EINVAL 指示 长度 参数的值是负数或 0。 否则,未定义从 参数指定的字节开始,并针对 参数指定的字节数进行扩展的内存区域。 如果这两个原因都不负责,那么指定了未置顶的页面。