Re: [PATCH v6 13/20] dma-direct: rename ret to cpu_addr in alloc helpers
From: Petr Tesarik <hidden>
Date: 2026-06-09 12:54:54
Also in:
linux-arm-kernel, linux-coco, linux-iommu, linux-s390, lkml
On Thu, 4 Jun 2026 14:09:52 +0530 "Aneesh Kumar K.V (Arm)" [off-list ref] wrote:
ret in dma_direct_alloc() and dma_direct_alloc_pages() holds the returned CPU mapping, not a generic return value. Rename it to cpu_addr and update the remaining uses to match. This makes the allocation paths easier to follow and keeps the local naming consistent with what the variable actually represents. Tested-by: Michael Kelley <redacted> Tested-by: Mostafa Saleh <smostafa@google.com> Signed-off-by: Aneesh Kumar K.V (Arm) <aneesh.kumar@kernel.org>
I wondered if cpu_addr is descriptive enough (a CPU address could theoretically be virtual or physical), but I can see that a few other places already use cpu_addr to hold virtual addresses, so yeah, let's keep this name. Reviewed-by: Petr Tesarik <redacted> Petr T
quoted hunk ↗ jump to hunk
--- kernel/dma/direct.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-)diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c index aa3489aa10a0..4e446aa4130e 100644 --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c@@ -204,7 +204,7 @@ void *dma_direct_alloc(struct device *dev, size_t size, bool mark_mem_decrypt = false; bool allow_highmem = true; struct page *page; - void *ret; + void *cpu_addr; /* * DMA_ATTR_CC_SHARED is not a caller-visible dma_alloc_*()@@ -318,34 +318,33 @@ void *dma_direct_alloc(struct device *dev, size_t size, arch_dma_prep_coherent(page, size); /* create a coherent mapping */ - ret = dma_common_contiguous_remap(page, size, prot, - __builtin_return_address(0)); - if (!ret) + cpu_addr = dma_common_contiguous_remap(page, size, prot, + __builtin_return_address(0)); + if (!cpu_addr) goto out_encrypt_pages; } else { - ret = page_address(page); + cpu_addr = page_address(page); } - memset(ret, 0, size); + memset(cpu_addr, 0, size); if (set_uncached) { void *uncached_cpu_addr; arch_dma_prep_coherent(page, size); - uncached_cpu_addr = arch_dma_set_uncached(ret, size); + uncached_cpu_addr = arch_dma_set_uncached(cpu_addr, size); if (IS_ERR(uncached_cpu_addr)) goto out_free_remap_pages; - ret = uncached_cpu_addr; + cpu_addr = uncached_cpu_addr; } *dma_handle = phys_to_dma_direct(dev, page_to_phys(page), !!(attrs & DMA_ATTR_CC_SHARED)); - return ret; - + return cpu_addr; out_free_remap_pages: if (remap) - dma_common_free_remap(ret, size); + dma_common_free_remap(cpu_addr, size); out_encrypt_pages: if (mark_mem_decrypt &&@@ -439,7 +438,7 @@ struct page *dma_direct_alloc_pages(struct device *dev, size_t size, { unsigned long attrs = 0; struct page *page; - void *ret; + void *cpu_addr; if (force_dma_unencrypted(dev)) attrs |= DMA_ATTR_CC_SHARED;@@ -453,7 +452,7 @@ struct page *dma_direct_alloc_pages(struct device *dev, size_t size, if (!page) return NULL; - ret = page_address(page); + cpu_addr = page_address(page); goto setup_page; }@@ -461,11 +460,11 @@ struct page *dma_direct_alloc_pages(struct device *dev, size_t size, if (!page) return NULL; - ret = page_address(page); - if ((attrs & DMA_ATTR_CC_SHARED) && dma_set_decrypted(dev, ret, size)) + cpu_addr = page_address(page); + if ((attrs & DMA_ATTR_CC_SHARED) && dma_set_decrypted(dev, cpu_addr, size)) goto out_leak_pages; setup_page: - memset(ret, 0, size); + memset(cpu_addr, 0, size); *dma_handle = phys_to_dma_direct(dev, page_to_phys(page), !!(attrs & DMA_ATTR_CC_SHARED)); return page;