• Will Deacon's avatar
    iommu/arm-smmu: Disable stalling faults for all endpoints · 3714ce1d
    Will Deacon authored
    Enabling stalling faults can result in hardware deadlock on poorly
    designed systems, particularly those with a PCI root complex upstream of
    the SMMU.
    
    Although it's not really Linux's job to save hardware integrators from
    their own misfortune, it *is* our job to stop userspace (e.g. VFIO
    clients) from hosing the system for everybody else, even if they might
    already be required to have elevated privileges.
    
    Given that the fault handling code currently executes entirely in IRQ
    context, there is nothing that can sensibly be done to recover from
    things like page faults anyway, so let's rip this code out for now and
    avoid the potential for deadlock.
    
    Cc: <stable@vger.kernel.org>
    Fixes: 48ec83bc ("iommu/arm-smmu: Add initial driver support for ARM SMMUv3 devices")
    Reported-by: default avatarMatt Evans <matt.evans@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    3714ce1d
arm-smmu.c 56 KB