403 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

[OLK-5.10] mm: kfence: fix missing objcg housekeeping for SLAB

已完成
任务
创建于  
2022-03-31 09:28

kfence 在释放对象时没有释放objcg钩子,可导致内存泄露和cgroup统计不准。

评论 (2)

pengliustd 创建了任务

Hi pengliustd, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers: @YangYingliang , @pi3orama , @成坚 (CHENG Jian) , @jiaoff , @Xie XiuQi

openeuler-ci-bot 添加了
 
sig/Kernel
标签

分析:该问题是通过syzbot发现的,而且通过二分法定位到触发问题的补丁并不是kfence的补丁,但根因确是kfence导致的。kfence由于没有释放objcg钩子导致内存泄露并不是能轻易观测的,因为并不是每次申请内存时都分配一个钩子。
内核原有释放cache调用栈
__cache_free
___cache_free
memcg_slab_free_hook
在原有调用栈中有调用memcg_slab_free_hook,但走到kfence流程时确没有调用到该函数。
解决方法:
当释放kfence对象时也调用memcg_slab_free_hook释放objcg钩子

登录 后才可以发表评论

状态
负责人
项目
里程碑
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

搜索帮助

344bd9b3 5694891 D2dac590 5694891