从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:vfs: Don't evict inode under the inode lru traversing context - 描述:在inode reclaiming process中,如果在inode lru traversing context下删除inode,可能会导致死锁。具体来说,当inode被标记为I_FREEING时,其他进程可能会尝试获取这些inode,但这些inode已经被删除,导致死锁。 2. 案例分析: - 案例1:在ext4文件系统中,如果在inode lru traversing context下删除inode,可能会导致死锁。 - 案例2:在ubifs文件系统中,如果在inode lru traversing context下删除inode,可能会导致死锁。 3. 解决方案: - 使用新的inode状态标志I_LRU_ISOLATING来锁定inode,而不是使用普通的inode引用。这样可以避免在inode lru traversing context下删除inode时的死锁。 4. 代码更改: - 修改了inode_lru_list_del函数,添加了新的inode状态标志I_LRU_ISOLATING。 - 修改了inode_pin_lru_isolating和inode_unpin_lru_isolating函数,以处理新的inode状态标志。 5. 补丁应用: - 通过引入新的inode状态标志I_LRU_ISOLATING,可以在inode lru traversing context下避免删除inode时的死锁。 这些信息表明,该漏洞与inode在inode lru traversing context下的删除操作有关,通过引入新的inode状态标志I_LRU_ISOLATING,可以避免在该操作中出现的死锁问题。