iommu/arm-smmu: Check smmu->impl pointer before dereferencing
Commit 0d97174a ("iommu/arm-smmu: Implement ->probe_finalize()") added a new optional ->probe_finalize callback to 'struct arm_smmu_impl' but neglected to check that 'smmu->impl' is present prior to checking if the new callback is present. Add the missing check, which avoids dereferencing NULL when probing an SMMU which doesn't require any implementation-specific callbacks: | Unable to handle kernel NULL pointer dereference at virtual address | 0000000000000070 | | Call trace: | arm_smmu_probe_finalize+0x14/0x48 | of_iommu_configure+0xe4/0x1b8 | of_dma_configure_id+0xf8/0x2d8 | pci_dma_configure+0x44/0x88 | really_probe+0xc0/0x3c0 Fixes: 0d97174a ("iommu/arm-smmu: Implement ->probe_finalize()") Reported-by:Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by:
Will Deacon <will@kernel.org>
Loading
Please sign in to comment