Skip to content

Commit 1a2b335

Browse files
rientjesChristoph Hellwig
authored andcommitted
dma-direct: add missing set_memory_decrypted() for coherent mapping
When a coherent mapping is created in dma_direct_alloc_pages(), it needs to be decrypted if the device requires unencrypted DMA before returning. Fixes: 3acac06 ("dma-mapping: merge the generic remapping helpers into dma-direct") Signed-off-by: David Rientjes <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
1 parent 56fccf2 commit 1a2b335

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

kernel/dma/direct.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,12 @@ void *dma_direct_alloc_pages(struct device *dev, size_t size,
195195
__builtin_return_address(0));
196196
if (!ret)
197197
goto out_free_pages;
198+
if (force_dma_unencrypted(dev)) {
199+
err = set_memory_decrypted((unsigned long)ret,
200+
1 << get_order(size));
201+
if (err)
202+
goto out_free_pages;
203+
}
198204
memset(ret, 0, size);
199205
goto done;
200206
}

0 commit comments

Comments
 (0)