一段代码,求教
时间:2010-08-02
来源:互联网
下面是selinux中一个函数代码
int avc_has_perm_noaudit(u32 ssid, u32 tsid,
u16 tclass, u32 requested,
unsigned flags,
struct av_decision *in_avd)
{
struct avc_node *node;
struct av_decision avd_entry, *avd;
int rc = 0;
u32 denied;
BUG_ON(!requested);
rcu_read_lock();
node = avc_lookup(ssid, tsid, tclass);
if (!node) {
rcu_read_unlock();
if (in_avd)
avd = in_avd;
else
avd = &avd_entry;
rc = security_compute_av(ssid, tsid, tclass, requested, avd);
if (rc)
goto out;
rcu_read_lock();
node = avc_insert(ssid, tsid, tclass, avd);
} else {
if (in_avd)
memcpy(in_avd, &node->ae.avd, sizeof(*in_avd));
avd = &node->ae.avd;
}
denied = requested & ~(avd->allowed);
if (denied) {
if (flags & AVC_STRICT)
rc = -EACCES;
else if (!selinux_enforcing || (avd->flags & AVD_FLAGS_PERMISSIVE))
avc_update_node(AVC_CALLBACK_GRANT, requested, ssid,
tsid, tclass, avd->seqno);
else
rc = -EACCES;
}
rcu_read_unlock();
out:
return rc;
}
此函数中定义了一个avd_entry(红色),就在一个地方用到,看起来好像没什么作用
是不是多余的?小子菜鸟,请大仙们指点,不胜感激
作者: kitifaye 发布时间: 2010-08-02
作者: zliming 发布时间: 2010-08-02
- if (in_avd)
- avd = in_avd;
- else
- avd = &avd_entry;

作者: daybreakcx 发布时间: 2010-08-02
avd是用到了,可是avd_entry定义后 也没有初始化赋值什么的
后面就有
if (in_avd)
avd = in_avd;
else
avd = &avd_entry;
后面是用到了avd,可是avd_entry再也没用到,不知道这里是什么用?
作者: kitifaye 发布时间: 2010-08-02
作者: zhangsuozhu 发布时间: 2010-08-02
daybreakcx 发表于 2010-08-02 16:16
avd_entry定义后 也没有初始化赋值什么的,
avd = &avd_entry;
这个有什么用呢?
作者: kitifaye 发布时间: 2010-08-02
zhangsuozhu 发表于 2010-08-02 16:19
您的解释 就是我的学习。。。
作者: kitifaye 发布时间: 2010-08-02
avd = &avd_entry;
这个有什么用呢?
kitifaye 发表于 2010-08-02 16:20
提供空间后头调用会往里头写东西啊,如security_compute_av这样的函数,你把地址传入,它往地址里写东西,这样以后你就获得数据了
作者: daybreakcx 发布时间: 2010-08-02
明白了。。。
作者: kitifaye 发布时间: 2010-08-02
- rc = security_compute_av(ssid, tsid, tclass, requested, avd);
avd是执行av_entry的指针,操作avd也就操作了av_entry
作者: ljysyn 发布时间: 2010-08-02
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28