从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题描述:在EXT4_IOC_MIGRATE ioctl被设置为需要同步更新时,文件描述符以O_SYNC模式打开。这可能导致jbd2_log_wait_commit函数调用jbd2_might_wait_for_commit函数,潜在地导致死锁,如果EXT4_IOC_MIGRATE调用与write(2)系统调用发生竞争。 - 触发条件:此问题仅在启用CONFIG_PROVE_LOCKING时出现。在这种情况下,jbd2_might_wait_for_commit宏会锁定jbd2_handle,而i_data_sem也被锁定。这会导致lockdep因为jbd2_journal_start函数也可能锁定相同的jbd2_handle。 - 发现者:Linux Verification Center (linuxtesting.org) 通过syzkaller发现。 2. 修复措施: - 代码变更:修复了ext4_ind_migrate函数中的i_data_sem解锁顺序问题。 - 代码变更内容: 3. 审查和签名: - 审查者:Ritesh Harjani (IBM)、Mikhail Ukhin、Artem Sadovnikov。 - 签署者:Mikhail Ukhin、Artem Sadovnikov、Theodore Ts'o、Sasha Levin。 4. 链接: - 上游链接:https://lore.kernel.org/stable/202404095000.5872-1-mish.uxin2012%40yandex.ru - 补丁链接:https://patch-msgid.link/20240829152210.2754-1-ancowi69@gmail.com 这些信息详细描述了漏洞的触发条件、修复措施以及审查和签署过程,有助于理解漏洞的背景和修复情况。