btrfs:在正在进行的删除完成之前不开始重新定位(CVE-2022-48901)
CVE编号
CVE-2022-48901利用情况
暂无补丁情况
N/A披露时间
2024-08-22漏洞描述
在Linux内核中,已经解决了一个关于btrfs文件系统的问题。这个问题是关于在挂载过程中进行迁移时出现的错误。具体来说,当我们在同时进行快照删除和平衡操作时,出现了一个错误。这个错误表现为在查找一个extent项时出现了警告。通常,快照删除和迁移不会同时运行,这是由fs_info->cleaner_mutex来控制的。然而,如果有一个待处理的平衡操作在等待获取cleaner_mutex的同时,一个快照删除操作正在运行,然后系统崩溃,我们可能会遇到一种状态,即一个半删除的快照。正常情况下,快照删除需要在迁移开始之前完成。但在这种情况下,迁移可能在快照删除未完成的情况下就开始运行了。我们只是简单地将根添加到死根列表中,等待下一次清理器运行时清理快照。为了解决这个问题,我们在文件系统信息(fs_info)上设置了一个位标志,如果任何死根(DEAD_ROOT)有挂起的drop_progress键,我们就设置这个标志。如果这个标志被设置了,那么我们知道我们正在进行drop操作,然后平衡操作需要等待这个标志被清除后才能再次启动。如果死根没有设置drop_progress,那么我们可以立即开始平衡操作,因为cleaner_mutex会保护我们免受并发问题的影响。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。- 攻击路径 N/A
- 攻击复杂度 N/A
- 权限要求 N/A
- 影响范围 N/A
- 用户交互 N/A
- 可用性 N/A
- 保密性 N/A
- 完整性 N/A
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论