从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:scsi: lpfc: Ensure DA_ID handling completion before deleting an NPIV instance - 描述:删除NPIV实例时,需要确保所有fabric ndlps在释放之前被释放。如果在删除NPIV实例之前没有释放fabric ndlps,可能会导致kref imbalance race conditions。修复方法是强制执行DA_ID的完成,使其与wait_queue的使用同步。 2. 作者和提交信息: - 作者:Justin Tee - 提交时间:2024-09-12 16:24:44 -0700 - 提交者:Greg Kroah-Hartman - 提交时间:2024-10-17 15:22:17 +0200 - 上游提交:0a3c84f71680684c1d41abb92db05f95c0911e8 3. 补救措施: - 补救措施:强制执行DA_ID的完成,使其与wait_queue的使用同步。 4. 补救措施的实现: - 补救措施的代码:在drivers/scsi/lpfc/lpfc_vport.c文件中进行了修改,包括在删除NPIV实例时,确保DA_ID的完成。 5. 补救措施的代码差异: - 代码差异:在drivers/scsi/lpfc/lpfc_ct.c、drivers/scsi/lpfc/lpfc_disc.h和drivers/scsi/lpfc/lpfc_vport.c文件中进行了修改。 6. 补救措施的上下文: - 补救措施的上下文:在删除NPIV实例时,需要确保所有fabric ndlps在释放之前被释放。如果在删除NPIV实例之前没有释放fabric ndlps,可能会导致kref imbalance race conditions。 7. 补救措施的实现细节: - 实现细节:在删除NPIV实例时,强制执行DA_ID的完成,使其与wait_queue的使用同步。 通过这些信息,我们可以了解到这个漏洞的背景、补救措施的实现以及补救措施的代码差异。