关键漏洞信息 漏洞类型: 数据竞争 (Race Condition) 影响组件: Btrfs 文件系统 具体问题: 在 和异步回收工作线程之间存在竞争条件,导致尝试添加延迟的 时触发断言失败。 根本原因: - 异步元数据回收工作线程调用 ,进而调用 ,设置局部变量 为 。 - 找到根目录中的 ,并触发写回操作,创建有序扩展。 - 等待有序扩展完成,并在释放最后一个有序扩展时将延迟的 添加到列表中。 - 异步回收工作线程调用 触发断言失败,因为 标志已设置。 修复措施: - 设置 标志仅在等待所有延迟的 完成后进行。 - 在 中取消工作同步以允许延迟的 运行。 - 在关闭位之前等待回收工作线程完成。 报告者: syzbot+038d284add5357ef627da2e9c@kaiser.possibletmail.com 链接: https://syzkaller.appspot.com/bug?extid=580484bc.a8bb220.d4325.008c.6aFdgongule.com/T/?u