lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 14 Jan 2019 10:41:53 +0100 From: Christoph Hellwig <hch@....de> To: Robin Murphy <robin.murphy@....com> Cc: Joerg Roedel <joro@...tes.org>, Catalin Marinas <catalin.marinas@....com>, Will Deacon <will.deacon@....com>, Tom Lendacky <thomas.lendacky@....com>, iommu@...ts.linux-foundation.org, linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org Subject: [PATCH 13/19] dma-iommu: don't remap contiguous allocations for coherent devices There is no need to remap for pte attributes, or for a virtually contiguous address, so just don't do it. Signed-off-by: Christoph Hellwig <hch@....de> --- drivers/iommu/dma-iommu.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c index c9788e0c1d5d..710814a370b9 100644 --- a/drivers/iommu/dma-iommu.c +++ b/drivers/iommu/dma-iommu.c @@ -1041,10 +1041,10 @@ static void *iommu_dma_alloc(struct device *dev, size_t size, addr = iommu_dma_alloc_contiguous(dev, iosize, handle, gfp, attrs); - if (!addr) - return NULL; - page = virt_to_page(addr); + if (coherent || !addr) + return addr; + page = virt_to_page(addr); addr = dma_common_contiguous_remap(page, size, VM_USERMAP, prot, __builtin_return_address(0)); if (!addr) { @@ -1052,8 +1052,7 @@ static void *iommu_dma_alloc(struct device *dev, size_t size, return NULL; } - if (!coherent) - arch_dma_prep_coherent(page, iosize); + arch_dma_prep_coherent(page, iosize); } else { addr = iommu_dma_alloc_remap(dev, iosize, handle, gfp, attrs); } -- 2.20.1
Powered by blists - more mailing lists