已关闭
【UB Turbo】【次要】smap_migrate_range批量迁移失败直接返回,未处理批次folio引用永久泄漏 #43
BadRockovo创建于  9月20日关闭于  1 天前
BadRockovo
BadRockovo
9月20日 创建

【缺陷描述】:请补充详细的缺陷问题现象描述

smap_migrate_range 中 smap_pre_migrate_range 对 4K 页 folio_try_get 后按 NR_BATCHED_MIGRATION 分批迁移;当某批 smap_migrate 返回非零失败时直接 vfree 并 return,尚未处理批次中所有 folio 持有的引用永不释放,页被永久 pin 住造成内存泄漏(大范围迁移部分失败时泄漏随页数线性增长)。

一、缺陷信息

属性 内容
【缺陷类型】 缺陷
【缺陷所属组件】 UB Turbo
【代码仓】 https://gitcode.com/openeuler/ubturbo
【问题位置】 plugins/smap/src/tiering/smap_migrate_pages.c:1009
【问题类型】 Linux内核及驱动
【风险等级】 中等
【优先级】 次要
【缺陷描述】 smap_migrate_range 中 smap_pre_migrate_range 对 4K 页 folio_try_get 后按 NR_BATCHED_MIGRATION 分批迁移;当某批 smap_migrate 返回非零失败时直接 vfree 并 return,尚未处理批次中所有 folio 持有的引用永不释放,页被永久 pin 住造成内存泄漏(大范围迁移部分失败时泄漏随页数线性增长)。

【缺陷所属的os版本】

【内核版本】

【缺陷所属软件及版本号】

【环境信息】

硬件信息

  • 提供跟硬件相关的信息,如架构、cpu和内存规格等
  • 虚拟机场景,额外补充宿主机os版本类型

软件信息

  • 跟缺陷所属软件相关的其它软件版本信息(如软件包构建失败由gcc引起,请填写gcc的版本号)

网络信息

  • 如果有特殊组网,请提供网络拓扑信息以及网络数据走向

【问题复现步骤】

【实际结果】

【期望结果】

【其他相关附件信息】

【缺陷详情及分析指导参考链接】

二、缺陷分析结构反馈
影响性分析说明:

缺陷严重等级:(Critical/High/Moderate/Low)

缺陷根因说明:

受影响版本排查(受影响/不受影响):
openEuler-20.03-LTS-SP4
openEuler-22.03-LTS-SP4
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-SP3
openEuler-24.03-LTS-SP4

修复是否涉及abi变化(是/否):
openEuler-20.03-LTS-SP4
openEuler-22.03-LTS-SP4
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-SP3
openEuler-24.03-LTS-SP4

likedislike
openeuler-ci-botopeneuler-ci-bot成员
9月20日 将 leeCii1 设为负责人
openeuler-ci-botopeneuler-ci-bot成员
9月20日 修改了issue 的描述
openeuler-ci-bot
openeuler-ci-bot成员
9月20日 评论:

以下的要求不是强制性的, 未按模板评论时对issue无任何影响
issue处理注意事项:
1. 当前issue受影响的分支提交pr时, 须在pr描述中填写当前issue编号进行关联, 否则无法关闭当前issue;
2. 模板内容需要填写完整, 无论是受影响或者不受影响都需要填写完整内容,未引入的分支不需要填写, 否则无法关闭当前issue;
3. 以下为模板中需要填写完整的内容, 请复制到评论区回复, 注: 内容的标题名称(影响性分析说明, 缺陷严重等级, 受影响版本排查(受影响/不受影响), 修复是否涉及abi变化(是/否))不能省略,省略后defect-manager将无法正常解析填写内容.
评论区可能使用到的指令说明:

指令 指令说明 使用权限
/check-issue 触发defect-manager校验 不限
/reason xxx /reason +挂起或取消条件 不限

影响性分析说明:

缺陷严重等级:(Critical/High/Moderate/Low)

缺陷根因说明:

受影响版本排查(受影响/不受影响):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP4:
  3. openEuler-24.03-LTS-SP1:
  4. openEuler-24.03-LTS-SP3:
  5. openEuler-24.03-LTS-SP4:

abi变化(是/否):

  1. openEuler-20.03-LTS-SP4:
  2. openEuler-22.03-LTS-SP4:
  3. openEuler-24.03-LTS-SP1:
  4. openEuler-24.03-LTS-SP3:
  5. openEuler-24.03-LTS-SP4:

缺陷issue处理具体操作请参考:
https://atomgit.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/defect-manager-manual.md
pr关联issue具体操作请参考:
https://docs.atomgit.com/docs/help/home/org_project/pullrequests/pr-related-issue

likedislike
openeuler-ci-botopeneuler-ci-bot成员
9月20日 将 BadRockovo、will_niutao、liliang_euler、wsoydl、hanjunguo、jerry_lilijun 设为负责人
openeuler-ci-botopeneuler-ci-bot成员
9月20日 添加了label:DEFECT/UNFIXED
openeuler-ci-botopeneuler-ci-bot成员
9月20日 添加了label:sig/sig-UnifiedBus
openeuler-ci-bot
openeuler-ci-bot成员
9月20日 评论:

Welcome To openEuler Community

Hey @BadRockovo , thanks for your contribution to the community.

Bot Usage Manual

I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands. You can self-configure the PR merge rules for this repository. For more details, please refer to Here.

Contact Guide

If you have any questions, please contact the SIG: sig-UnifiedBus ,
and any of the maintainers: @hanjunguo, @jerry_lilijun, @liliang_euler, @will_niutao, @wsoydl ,
and any of the committers: @leeCii1, @meng_zhaohui, @ray-yang0218, @woquzhao12138 .

likedislike
woquzhao12138woquzhao12138成员
1 天前 关联了pull request:Feature : 源码包同步至 1.1.0,更新 spec/dkms/update.sh 打包配置
woquzhao12138woquzhao12138成员
1 天前 issue状态由 待办的 改变为 已完成
woquzhao12138woquzhao12138成员
1 天前 关闭了 issue
openeuler-ci-botopeneuler-ci-bot成员
1 天前 删除了label:DEFECT/UNFIXED
openeuler-ci-bot
openeuler-ci-bot成员
1 天前 评论:

@BadRockovo 未对受影响版本排查/abi变化进行分析

likedislike
openeuler-ci-bot
openeuler-ci-bot成员
1 天前 评论:

@BadRockovo 未对受影响版本排查/abi变化进行分析

likedislike