[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen stable-4.15] IOMMU/x86: tighten iommu_alloc_pgtable()'s parameter
commit 74b8d7c04d00e3fdbd19d691b72f4369c5c362c8 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Tue Apr 5 14:57:38 2022 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Apr 5 14:57:38 2022 +0200 IOMMU/x86: tighten iommu_alloc_pgtable()'s parameter This is to make more obvious that nothing outside of domain_iommu(d) actually changes or is otherwise needed by the function. No functional change intended. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Paul Durrant <paul@xxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx> master commit: eba09b9dd78f9e8cbaa78ef0edb301b32def2c7a master date: 2022-04-05 14:16:46 +0200 --- xen/drivers/passthrough/amd/iommu_map.c | 10 +++++----- xen/drivers/passthrough/amd/pci_amd_iommu.c | 2 +- xen/drivers/passthrough/vtd/iommu.c | 8 ++++---- xen/drivers/passthrough/x86/iommu.c | 3 +-- xen/include/asm-x86/iommu.h | 3 ++- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c index fdfffe8f92..a3c563c0a8 100644 --- a/xen/drivers/passthrough/amd/iommu_map.c +++ b/xen/drivers/passthrough/amd/iommu_map.c @@ -184,7 +184,7 @@ static int iommu_pde_from_dfn(struct domain *d, unsigned long dfn, unsigned long next_table_mfn; unsigned int level; struct page_info *table; - const struct domain_iommu *hd = dom_iommu(d); + struct domain_iommu *hd = dom_iommu(d); table = hd->arch.amd.root_table; level = hd->arch.amd.paging_mode; @@ -220,7 +220,7 @@ static int iommu_pde_from_dfn(struct domain *d, unsigned long dfn, mfn = next_table_mfn; /* allocate lower level page table */ - table = iommu_alloc_pgtable(d); + table = iommu_alloc_pgtable(hd); if ( table == NULL ) { AMD_IOMMU_DEBUG("Cannot allocate I/O page table\n"); @@ -250,7 +250,7 @@ static int iommu_pde_from_dfn(struct domain *d, unsigned long dfn, if ( next_table_mfn == 0 ) { - table = iommu_alloc_pgtable(d); + table = iommu_alloc_pgtable(hd); if ( table == NULL ) { AMD_IOMMU_DEBUG("Cannot allocate I/O page table\n"); @@ -483,7 +483,7 @@ int __init amd_iommu_quarantine_init(struct domain *d) spin_lock(&hd->arch.mapping_lock); - hd->arch.amd.root_table = iommu_alloc_pgtable(d); + hd->arch.amd.root_table = iommu_alloc_pgtable(hd); if ( !hd->arch.amd.root_table ) goto out; @@ -498,7 +498,7 @@ int __init amd_iommu_quarantine_init(struct domain *d) * page table pages, and the resulting allocations are always * zeroed. */ - pg = iommu_alloc_pgtable(d); + pg = iommu_alloc_pgtable(hd); if ( !pg ) break; diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c index 78dc72f5f7..882cef0957 100644 --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c @@ -208,7 +208,7 @@ int amd_iommu_alloc_root(struct domain *d) if ( unlikely(!hd->arch.amd.root_table) ) { - hd->arch.amd.root_table = iommu_alloc_pgtable(d); + hd->arch.amd.root_table = iommu_alloc_pgtable(hd); if ( !hd->arch.amd.root_table ) return -ENOMEM; } diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c index 73a356cd80..288715535c 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -327,7 +327,7 @@ static u64 addr_to_dma_page_maddr(struct domain *domain, u64 addr, int alloc) { struct page_info *pg; - if ( !alloc || !(pg = iommu_alloc_pgtable(domain)) ) + if ( !alloc || !(pg = iommu_alloc_pgtable(hd)) ) goto out; hd->arch.vtd.pgd_maddr = page_to_maddr(pg); @@ -347,7 +347,7 @@ static u64 addr_to_dma_page_maddr(struct domain *domain, u64 addr, int alloc) if ( !alloc ) break; - pg = iommu_alloc_pgtable(domain); + pg = iommu_alloc_pgtable(hd); if ( !pg ) break; @@ -2761,7 +2761,7 @@ static int __init intel_iommu_quarantine_init(struct domain *d) goto out; } - pg = iommu_alloc_pgtable(d); + pg = iommu_alloc_pgtable(hd); rc = -ENOMEM; if ( !pg ) @@ -2780,7 +2780,7 @@ static int __init intel_iommu_quarantine_init(struct domain *d) * page table pages, and the resulting allocations are always * zeroed. */ - pg = iommu_alloc_pgtable(d); + pg = iommu_alloc_pgtable(hd); if ( !pg ) goto out; diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/x86/iommu.c index fbc730a81c..f609dcc373 100644 --- a/xen/drivers/passthrough/x86/iommu.c +++ b/xen/drivers/passthrough/x86/iommu.c @@ -415,9 +415,8 @@ int iommu_free_pgtables(struct domain *d) return 0; } -struct page_info *iommu_alloc_pgtable(struct domain *d) +struct page_info *iommu_alloc_pgtable(struct domain_iommu *hd) { - struct domain_iommu *hd = dom_iommu(d); unsigned int memflags = 0; struct page_info *pg; void *p; diff --git a/xen/include/asm-x86/iommu.h b/xen/include/asm-x86/iommu.h index 33f11f33de..49fa67298d 100644 --- a/xen/include/asm-x86/iommu.h +++ b/xen/include/asm-x86/iommu.h @@ -143,7 +143,8 @@ int pi_update_irte(const struct pi_desc *pi_desc, const struct pirq *pirq, }) int __must_check iommu_free_pgtables(struct domain *d); -struct page_info *__must_check iommu_alloc_pgtable(struct domain *d); +struct domain_iommu; +struct page_info *__must_check iommu_alloc_pgtable(struct domain_iommu *hd); #endif /* !__ARCH_X86_IOMMU_H__ */ /* -- generated by git-patchbot for /home/xen/git/xen.git#stable-4.15
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |