kkey_assign_private 内核服务

用途

请求进行专用内核密钥分配。

语法

#include <sys/types.h>
#include <sys/skeys.h>
#include <sys/kerrno.h>
kerrno_t kkey_assign_private (id, instance, flags, kkey)
char *id;
long instance;
unsigned long flags;
kkey_t *kkey;

参数

描述
标识 指定以 null 结束的字符串。 kkey_assign_private内核服务使用字符串值分配私钥。 这通常包含与调用内核子系统关联的装入模块名称,但您可以指定任何唯一字符串。
实例 指定子系统所请求的每个专用密钥的唯一编号。 此值必须是从 0 开始的整数值,并且随请求的每个内核键而增大。
标志 必须将此参数指定为零。
凯基 包含返回的已分配内核键。 有效指针必须是 4 字节对齐地址(kkey_t的自然对齐方式)。

描述

kkey_assign_private内核服务会为调用者分配一个私有内核密钥。 专用内核密钥用于限制外部内核代码的数据可访问性。 kkey_assign_private内核服务在预定范围内(从 "KKEY_PRIVATE1到 "KKEY_PRIVATE32)分发私人内核密钥请求。 其目的是代表多个内核子系统的请求执行统一的分发。 分配是根据id实例参数进行的,可能会向多个调用者返回相同的私钥。 当实例号不同时,它也可能返回相同的专用密钥。

kkey_assign_private内核服务不执行资源分配。 它仅提供建议的内核密钥以用于数据保护。

执行环境

kkey_assign_private内核服务只能从进程环境中调用。

返回值

描述
重大安全事件数量 指示成功完成。
EINVAL_KKEY_ASSIGN_PRIVATE 指示该参数或执行环境无效。