MAC策略入口函数.pdf

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MAC 策略入口函数参考 1 通用的模块入口函数 1.1 mpo_init void mpo_init(struct mac_policy_conf *conf); 参数 说明 锁定 conf MAC 策略定义   策略加载事件。当前进程正持有策略链表上的互斥锁,因此是非睡眠的,对其他内核子 系统的调用也须慎重。如果需要在策略初始化阶段进行可能造成睡眠阻塞的存储分配操作 , 可以将它们放在一个单独的模块 SYSINIT() 过程中集中进行。 1.2 mpo_destroy void mpo_destroy(struct mac_policy_conf *conf); 参数 说明 锁定 conf MAC 策略定义   策略加载事件。必须持有策略链表互斥锁,因此需要慎重行事。 1.3 mpo_syscall int mpo_syscall(struct thread *td, int call, void *arg); 参数 说明 锁定 td 调用线程 call 策略特有的系统调用编号 arg 系统调用参数的指针   该入口函数提供策略复用的系统调用,这样策略模块不需要为其向用户进程提供的每一 个额外服务而注册专用的系统调用。由应用程序提供的策略注册名字来确定提供其所申请 服务的特定策略,所有参数将通过该入口函数传递给被调用的策略。当实现新服务时,安 全模块必须在必要时通过 MAC 框架调用相应的访问控制检查机制。比方说,假如一个策 略实现了某种额外的信号功能,那么它应该调用相关的信号访问控制检查,以接受 MAC 框 架中注册的其他策略的检查。 注意: 不同的模块需要并发地手动进行copyin()拷贝系统调用数据。 1.4 mpo_thread_userret void mpo_thread_userret(struct thread *td); 参数 说明 锁定 td 返回线程 1   使用该入口函数,策略模块能够在线程返回用户空间时(系统调用返回、异常返回等 等)进行 MAC 相关的处理工作。使用动态进程标记的策略需要使用该入口函数,因为在 处理系统调用的过程中,并不是在任意时刻都能申请到进程锁的;进程的标记可能表示传 统的认证信息、进程历史记录或者其他数据。为使用该入口函数,对进程信任状所作的修改 可能被存放在 p_label ,该域受一个进程级自旋锁的保护;接下来,设置线程级的 TDF_ASTPENDING 标志位和进程级的PS_MACPENDM标志位,表明将调度一个对 userret 入口函数的调用。通过该入口函数,策略可以在相对简单的同步上下文中创建信任状的替 代品。策略编程人员必须清楚,需要保证与调度一个 AST 相关的事件执行次序,同时所执 行的 AST 可能很复杂,而且在处理多线程应用程序时可能被重入。 2 操作标记 2.1 mpo_init_bpfdesc_label void mpo_init_bpfdesc_label(struct label *label); 参数

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档