从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题:在I2C总线控制器(例如Versaclock或AIC32x4 I2C解码器)的情况下,I2C传输从时钟控制器的 回调触发时,可能会导致死锁。 - 原因:时钟控制器首先获取 互斥锁,然后执行准备操作,包括I2C访问。I2C访问通过 回调恢复时钟控制器,这会再次尝试获取 互斥锁,导致死锁。 2. 解决方案: - 修改:在I2C总线控制器的 中,使用 和 函数来在运行时暂停和恢复时钟,以避免锁定 互斥锁。 3. 受影响的代码: - 文件: - 修改位置:文件中第2395行和第2406行。 4. 修复的代码: - 修改:在 函数中,删除了 调用,改为直接调用 。 - 修改:在 函数中,删除了 调用,改为直接调用 。 5. 修复的代码示例: 6. 修复的代码示例: 7. 修复的代码示例: 8. 修复的代码示例: 通过这些信息,我们可以了解该漏洞的背景、原因、修复方法以及受影响的代码片段。