lkml.org 
[lkml]   [2022]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 1/1] iommu/vt-d: Fix possible recursive lock in iommu_flush_dev_iotlb()
From
On 2022/8/17 10:56, Lu Baolu wrote:
> The per domain spinlock is acquired in iommu_flush_dev_iotlb(), which
> is possbile to be called in the interrupt context. For instance,
>
> <IRQ>
> iommu_flush_dev_iotlb
> iommu_flush_iotlb_psi
> intel_iommu_tlb_sync
> iommu_iotlb_sync
> __iommu_dma_unmap
> ? nvme_unmap_data
> nvme_unmap_data
> nvme_pci_complete_rq
> nvme_irq
> __handle_irq_event_percpu
> handle_irq_event_percpu
> handle_irq_event
> handle_edge_irq
> __common_interrupt
> common_interrupt
>
> This coverts the spin_lock/unlock() into the irq save/restore varieties
> to avoid the possible recursive locking issues.
>
> Fixes: ffd5869d93530 ("iommu/vt-d: Replace spin_lock_irqsave() with spin_lock()")
> Signed-off-by: Lu Baolu<baolu.lu@linux.intel.com>

This patch has been queued:

https://lore.kernel.org/linux-iommu/20220823061557.1631056-1-baolu.lu@linux.intel.com/

Best regards,
baolu

\
 
 \ /
  Last update: 2022-08-23 08:26    [W:0.113 / U:0.508 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site