内核模块编译方法、装置、计算机设备和存储介质与流程

文档序号:28740213发布日期:2022-02-07 21:46阅读:来源:国知局

技术特征:
1.一种内核模块编译方法,其特征在于,所述方法为:根据不同版本的内核对待编译加载的内核模块源码进行适配;判断在指定路径上是否存在已编译的内核模块;若存在,则比对已编译的内核模块与内核是否匹配:如果匹配则加载已编译的内核模块,如果不匹配则将加密的内核模块源码解密并复制到指定的隐藏目录下;若不存在,则将加密的内核模块源码解密并复制到指定的隐藏目录下;在内核上编译解密后的内核模块源码;加载编译后的内核模块。2.如权利要求1所述的内核模块编译方法,其特征在于,所述方法中根据不同版本的内核对待编译加载的内核模块源码进行适配,包括:根据linux内核版本号对待引用的内核头文件进行适配;根据linux内核版本号对待调用的内核api进行适配;根据linux内核版本号对内核符号表进行适配。3.如权利要求1所述的内核模块编译方法,其特征在于,所述方法还包括:在内核上编译解密后的内核模块源码之后,将编译后的内核模块复制到指定路径下,并删除解密后的内核模块源码。4.如权利要求2所述的内核模块编译方法,其特征在于,所述方法中根据linux内核版本号对待引用的内核头文件进行适配,具体为:在待编译加载的内核模块源码中,通过判断linux_version_code的宏定义来适配不同版本的linux内核,根据linux内核版本号引用不同路径的内核头文件。5.如权利要求2所述的内核模块编译方法,其特征在于,所述方法中根据linux内核版本号对待调用的内核api进行适配,具体为:在待编译加载的内核模块源码中,根据linux内核版本号对传递到api的函数参数进行设置:对函数参数的类型、个数进行设置。6.如权利要求2所述的内核模块编译方法,其特征在于,所述方法中根据linux内核版本号对内核符号表进行适配,具体为:对拟使用的内核api进行导出,获取拟使用的内核api的地址,以便待编译加载的内核模块源码调用。7.如权利要求1所述的内核模块编译方法,其特征在于,所述方法中比对已编译的内核模块与内核是否匹配,具体为:通过modinfo mymodule.ko指令获取内核模块的vermagic信息,再通过uname

a指令获取内核的版本号,比较内核的版本信息与内核模块中的vermagic信息,确认已编译的内核模块与内核是否匹配。8.一种内核模块编译装置,其特征在于,所述装置包括:存储器,用于存储程序;处理器,用于执行所述存储器中存储的程序,当所述存储器中存储的程序被执行时,所述处理器用于执行如权利要求1至7中任一项所述方法的步骤。9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理
器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述方法的步骤。

技术总结
本发明公开了一种内核模块编译方法、装置、计算机设备和存储介质,根据不同版本的内核对待编译加载的内核模块源码进行适配;判断在指定路径上是否存在已编译的内核模块;若存在,则比对已编译的内核模块与内核是否匹配:如果匹配则加载已编译的内核模块,如果不匹配则将加密的内核模块源码解密并复制到指定的隐藏目录下;若不存在,则将加密的内核模块源码解密并复制到指定的隐藏目录下;在内核上编译解密后的内核模块源码;加载编译后的内核模块。实现了内核模块在不同版本的内核间能够正常编译和运行。常编译和运行。常编译和运行。


技术研发人员:邱旭 杜青松 姚宏亮 张耀斌 鄢来标
受保护的技术使用者:北京技德系统技术有限公司
技术研发日:2021.11.01
技术公布日:2022/2/6
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1