153 Star 371 Fork 1.2K

openEuler / community

 / 详情

将用户态热补丁软件libcare引入Virt Sig进行长期维护

已完成
需求
创建于  
2020-12-01 13:56

引入背景
热补丁是一种在程序运行时动态修复内存中代码 bug 的技术,其可以有效地避免由于软件升级所导致的业务中断的情况。由于包含对寄存器以及内存的复杂操作以及编译参数所带来的差异,因此给用户态软件打热补丁就更加困难和复杂了。

当前云计算中心多采用QEMU作为虚拟化的基础软件,而C语言编写的QEMU当前屡屡出现CVE漏洞。这种情况下,云计算的用户肯定是希望在业务不中断的情况下,对QEMU所起的虚拟机中出现的CVE漏洞进行打补丁操作。

引入理由
当前openEuler社区没有给用户态软件,尤其是类似于QEMU这一种超大规模软件,做动态热补丁的相关工具,因此对于云计算虚拟化用户的动态热补丁需求难以满足。

libcare作为开源的用户态热补丁软件,热补丁覆盖面较广,支持x86下的修改以及新增函数补丁,tls变量补丁以及qemu所用的协程补丁。并且其源代码完全公开,可以在其基础上做维护,进一步推出支持arm平台的动态热补丁,以及扩展支持其他语言,例如rust所编写的用户态软件打动态热补丁需求。

upstream来源
libcare的源代码完全公开,社区上游链接:
https://github.com/cloudlinux/libcare

License
采用GPL-2.0 License开源协议。

Release计划
截至目前为止,libcare发布了3个release版本,最近的release版本是在2017年12月25号发布的libcare-0.1.2。

长期维护
Virtualization Sig通过调研与研究,目前已经具备了长期维护libcare的能力,可以支持将libcare引入到该Sig。

评论 (2)

lijiajie128 创建了任务
lijiajie128 关联仓库设置为openEuler/community
展开全部操作日志

Hey lijiajie128, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

lijiajie128 修改了描述
lijiajie128 修改了标题
lijiajie128 修改了描述
lijiajie128 任务类型任务 修改为需求
lijiajie128 任务状态待办的 修改为新建
lijiajie128 修改了描述
lijiajie128 修改了描述
lijiajie128 修改了描述
lijiajie128 修改了描述

typo in 热补丁覆盖main较广

lijiajie128 修改了描述
FangYing 通过openeuler/community Pull Request !1336任务状态新建 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936
Go
1
https://gitee.com/openeuler/community.git
git@gitee.com:openeuler/community.git
openeuler
community
community

搜索帮助