提交 129d6aba 编写于 作者: J Joerg Roedel 提交者: Ingo Molnar

x86, AMD IOMMU: initialize dma_ops after sysfs registration

If sysfs registration fails all memory used by IOMMU is freed. This
happens after dma_ops initialization and the functions will access the
freed memory then.

Fix this by initializing dma_ops after the sysfs registration.
Signed-off-by: NJoerg Roedel <joerg.roedel@amd.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 8a456695
......@@ -972,15 +972,15 @@ int __init amd_iommu_init(void)
if (acpi_table_parse("IVRS", init_memory_definitions) != 0)
goto free;
ret = amd_iommu_init_dma_ops();
ret = sysdev_class_register(&amd_iommu_sysdev_class);
if (ret)
goto free;
ret = sysdev_class_register(&amd_iommu_sysdev_class);
ret = sysdev_register(&device_amd_iommu);
if (ret)
goto free;
ret = sysdev_register(&device_amd_iommu);
ret = amd_iommu_init_dma_ops();
if (ret)
goto free;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册