从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:xhci: Fix Panther point NULL pointer deref at full-speed re-enumeration - 描述:修复了在全速重新枚举时,Panther点的NULL指针引用问题。 2. 修复代码: - 文件:drivers/usb/host/xhci.c - 代码变更: - 添加了对全速设备重新枚举后的处理,以避免NULL指针引用。 - 修改了xhci_configure_endpoint函数,确保在重新启用槽位时正确设置带宽表指针。 3. 修复原因: - 全速设备在重新枚举后可能需要重新配置端点0的最大包大小值。 - 在这种情况下,usb_ep0_reinit函数会被调用,最终会调用xhci_configure_endpoint函数。 - 如果xHC地址设备命令失败,新的xhci_virt_device结构会被分配,但带宽表指针没有正确设置。 - 这会导致在下次重新初始化端点0时触发NULL指针引用。 4. 报告和修复过程: - 报告者:Karel Balej - 修复者:Mathias Nyman和Greg Kroah-Hartman - 修复过程:通过确保在失败的地址设备命令后正确设置带宽表指针,并在没有实际端点添加或移除的情况下避免带宽检查。 5. 相关链接: - 修复的Git提交:365ef7c4277fdd781a695c3553fa157d622d805d - 修复的Git提交:af8e119f52e9c13e556be9e03f27957554a84656 - 修复的Git提交:651aaaf36a7d7 这些信息表明,该漏洞与全速USB设备的重新枚举过程中的NULL指针引用有关,并通过修复代码确保了在特定情况下正确处理带宽表指针,从而避免了漏洞的发生。