402 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

【OLK-5.10】热补丁存在推栈漏检查栈的场景

已完成
任务
创建于  
2023-06-07 15:02

【严重程度】 一般
【特性】 工具/livepatch
【重现类型】 有条件必然重现
【定位分析】

问题记录见

如下图所示,ppc架构从func1长跳转到func2时,需要先跳到一个中间的trampoline(ppc32上叫plt,ppc64上叫stub)。当执行到trampoline时被中断打断,则推栈流程检查不到func1,如果用户对func1打热补丁,则会导致旧函数正在运行而被热补丁修改了。当旧函数的返回地址刚好在指令替换区被热补丁修改了,cpu执行被改过的指令导致跑飞:


评论 (1)

hulk-robot 创建了任务

登录 后才可以发表评论

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

搜索帮助