从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题描述:nilfs2在读取损坏的文件系统图像并降级为只读时,可能会导致BUG_ON检查失败,从而引发内核错误。 - 原因:这是由于在清除缓冲状态以丢弃页面/卷或缓冲头时,缓冲延迟标志未被清除。 2. 修复措施: - 修复方法:在清除缓冲状态时,添加对缓冲延迟标志的清除。 - 背景:这是在nilfs2的自身页面清理例行程序扩展时必要的,因为如果缓冲器通过日志写入正常写入,这种状态不一致就不会发生。 3. 相关链接: - 报告链接:https://lore.kernel.org/r/20241015213300.7114-1-konishi.ryusuke@gmail.com - 修复链接:https://github.com/torvalds/linux/commit/743c78d455e784097011ea958b27396001181567 - 报告者:syzbot+985ada84bf055a575c07@syzkaller.appspotmail.com - 修复者:Ryusuke Konishi 和 Greg Kroah-Hartman 4. 补丁内容: - 文件:fs/nifs2/page.c - 修改内容: - 在nilfs_forget_buffer函数中添加了对BH_Delay标志的清除。 - 在nilfs_clear_dirty_page函数中添加了对BH_Delay标志的清除。 这些信息表明,这个漏洞是由于nilfs2在处理缓冲状态时的逻辑错误导致的,修复措施是通过在清除缓冲状态时添加对缓冲延迟标志的清除来解决这个问题。