mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-06 11:54:14 -04:00
| Filename | Latest commit message | Latest commit date |
|---|---|---|
[ Upstream commit 5aa95d8834e07907e64937d792c12ffef7fb271f ]
If probe_device is failing, iommu_group is not initialized because
iommu_group_add_device is not reached, so freeing it will result
in NULL pointer access.
iommu_bus_init
->bus_iommu_probe
->probe_iommu_group in for each:/* return -22 in fail case */
->iommu_probe_device
->__iommu_probe_device /* return -22 here.*/
-> ops->probe_device /* return -22 here.*/
-> iommu_group_get_for_dev
-> ops->device_group
-> iommu_group_add_device //good case
->remove_iommu_group //in fail case, it will remove group
->iommu_release_device
->iommu_group_remove_device // here we don't have group
In my case ops->probe_device (mtk_iommu_probe_device from
mtk_iommu_v1.c) is due to failing fwspec->ops mismatch.
Fixes:
|
||
| .. | ||
| amd_iommu.c | ||
| amd_iommu.h | ||
| amd_iommu_debugfs.c | ||
| amd_iommu_init.c | ||
| amd_iommu_proto.h | ||
| amd_iommu_quirks.c | ||
| amd_iommu_types.h | ||
| amd_iommu_v2.c | ||
| arm-smmu-impl.c | ||
| arm-smmu-v3.c | ||
| arm-smmu.c | ||
| arm-smmu.h | ||
| dma-iommu.c | ||
| dmar.c | ||
| exynos-iommu.c | ||
| fsl_pamu.c | ||
| fsl_pamu.h | ||
| fsl_pamu_domain.c | ||
| fsl_pamu_domain.h | ||
| hyperv-iommu.c | ||
| intel-iommu-debugfs.c | ||
| intel-iommu.c | ||
| intel-pasid.c | ||
| intel-pasid.h | ||
| intel-svm.c | ||
| intel-trace.c | ||
| intel_irq_remapping.c | ||
| io-pgtable-arm-v7s.c | ||
| io-pgtable-arm.c | ||
| io-pgtable.c | ||
| iommu-debugfs.c | ||
| iommu-sysfs.c | ||
| iommu-traces.c | ||
| iommu.c | ||
| iova.c | ||
| ipmmu-vmsa.c | ||
| irq_remapping.c | ||
| irq_remapping.h | ||
| Kconfig | ||
| Makefile | ||
| msm_iommu.c | ||
| msm_iommu.h | ||
| msm_iommu_hw-8xxx.h | ||
| mtk_iommu.c | ||
| mtk_iommu.h | ||
| mtk_iommu_v1.c | ||
| of_iommu.c | ||
| omap-iommu-debug.c | ||
| omap-iommu.c | ||
| omap-iommu.h | ||
| omap-iopgtable.h | ||
| qcom_iommu.c | ||
| rockchip-iommu.c | ||
| s390-iommu.c | ||
| tegra-gart.c | ||
| tegra-smmu.c | ||
| virtio-iommu.c | ||