[发明专利]一种基于对齐空洞的内核数据类型动态扩展热补方法在审
申请号: | 202210485098.9 | 申请日: | 2022-05-06 |
公开(公告)号: | CN114924767A | 公开(公告)日: | 2022-08-19 |
发明(设计)人: | 曾庆凯;郭锐 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/61;G06F8/71 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 徐燕 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 对齐 空洞 内核 数据类型 动态 扩展 热补 方法 | ||
本发明公开了一种基于对齐空洞的内核数据类型扩展热补方法,包括:S1,对补丁文件进行预处理,提取得到热补对象有效信息;S2,根据步骤S1提取得到的输入数据类型更新操作的描述文件,分析热补目标数据类型的内部空洞布局,输出类型布局定义:S3,结合步骤S1输出的数据类型更新操作的描述文件和步骤S2输出的空洞布局分析输出的新类型定义,编写热补模块程序生成热补模块;S4,热补模块的安装和生效:将步骤S3中生成的热补模块安装至内核并等待更新点使得补丁内容生效,完成热补更新任务。本发明能够利用数据对象成员内部的空洞空间,减少了负责对扩展空间的管理任务和访问方式的重写,减轻了热补开发的负担。
技术领域
本发明涉及操作系统内核的动态更新技术领域,具体而言涉及一种基于对齐空洞的内核数据类型扩展热补方法。
背景技术
操作系统内核需要通过补丁来修复漏洞、优化性能和添加新功能。传统的补丁更新方式需要重启设备更换内核,这导致系统服务的中断,造成诸多不便甚至巨大损失。操作系统内核的动态更新、热补技术可以在避免机器停机、重启场景下完成补丁任务。
内核补丁更新任务包括对内核函数的替换以及数据类型的改变,利用内核在函数头预留的插桩点,内核可以完成在更新点对函数执行流的改变。然而在涉及数据类型变化时,目前主流的热补系统仍然缺少一种高效的解决方法来解决类型扩展上的空间问题。这是由于现有技术需要管理对象类型扩展的外部空间,而维护扩展带来的依赖关联关系造成扩展成员的访问和管理上额外的运行开销。
发明内容
本发明针对内核补丁中常见的对数据类型的扩展需求场景,通过分析、寻找热补对象布局中的空洞来解决成员扩展的空间问题,并根据扩展模式来修改相应的内核函数完成将补丁转化为热补模块的工作,提供一种低开销的内核数据类型动态扩展热补方法。通过利用空洞与热补数据对象之间的相关性,采取类型强制转换的方式实现更新后数据类型的使用降低运行开销。利用空洞与数据对象的相关性,设计了利用强制类型转换来更新数据视图,保证了对扩充成员高效访问的同时保留了原数据使其他函数不受更新替换影响,这极大地减少了数据热补后的额外执行开销。一方面保留了通过成员访问的数据获取方式,另一方面借助继承内核对父对象的分配释放以及访问控制而无需额外的管理操作。通过借助数据对象的分配释放来管理扩展成员避免修改负责初始化和释放的内核函数,帮助开发者减轻额外的人工负担。
为实现上述目的,本发明采用以下技术方案:
一种基于对齐空洞的内核数据类型扩展热补方法,所述热补方法包括以下步骤:
S1,对补丁文件进行预处理,提取得到热补对象有效信息:
从补丁文件中过滤掉与热补无关和对热补机制有影响的内容,提取补丁的更新信息,将补丁的更新信息分为数据类型更新操作以及相应的函数替换操作,形成相应的描述文件;
S2,根据步骤S1提取得到的输入数据类型更新操作的描述文件,分析热补目标数据类型的内部空洞布局,输出类型布局定义:
根据描述文件枚举待更新的结构名称,通过内核映像中提供的符号表信息查询和对调试信息解析计算热补对象内部的空间布局,转换为空洞的描述和定位;分析扩展成员的空间大小与空洞空间进行匹配,再通过对空洞进行版本的标记和访问模式位的设置,形成更新后的数据类型视图;
S3,结合步骤S1输出的数据类型更新操作的描述文件和步骤S2输出的空洞布局分析输出的新类型定义,编写热补模块程序生成热补模块;编写过程包括:针对涉及类型更新后使用新成员的函数修改其访问的方式,通过指针类型转换的方式重新翻译原数据对象的布局信息,通过基地址偏移的方式完成对新成员的初始化及访问操作;结合对象内部在空洞分析后形成metadata标记来选取不同的访问模式;为热补模块的初始化处增加语义判断来确保初始化操作的执行顺序先于访问,同时提供开发人员访问的公共接口和为系统用户交互开放文件系统接口;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210485098.9/2.html,转载请声明来源钻瓜专利网。