漏洞关键信息 类型: 内核竞态条件漏洞 影响模块: ext4 文件系统 问题描述: 在写操作和 fcntl(F_SETFL) 之间存在竞态条件,导致 O_DIRECT 标记在检查中被双重处理,引发 BUG_ON。 触发条件: 调用 fcntl(F_SETFL) 切换 O_DIRECT 标记,同时执行写操作。 修复方法: - 在 函数中引入 参数。 - 修改 以显式传递 状态。 - 重写 的副本,以确保 O_DIRECT 状态的正确处理。 测试用例: 提供了具体的测试方法。 代码变更 修复效果 此补丁避免了竞态条件,确保了 标记在写操作和 间的正确处理,修复了潜在的内核崩溃问题。