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