]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dma-buf: heaps: Clear CMA highages using helper
authorLinus Walleij <linusw@kernel.org>
Tue, 10 Mar 2026 08:53:12 +0000 (09:53 +0100)
committerLinus Walleij <linusw@kernel.org>
Wed, 11 Mar 2026 09:06:32 +0000 (10:06 +0100)
Currently the CMA allocator clears highmem pages using
kmap()->clear_page()->kunmap(), but there is a helper
static inline in <linux/highmem.h> that does the same for
us so use clear_highpage() instead of open coding this.

Suggested-by: T.J. Mercier <tjmercier@google.com>
Reviewed-by: T.J. Mercier <tjmercier@google.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Linus Walleij <linusw@kernel.org>
Link: https://patch.msgid.link/20260310-cma-heap-clear-pages-v2-2-ecbbed3d7e6d@kernel.org
drivers/dma-buf/heaps/cma_heap.c

index f0bacf25ed9dd87e6550c6ae282f20d98e667487..92865786cfc99732d576c16b207c10e87abfa9da 100644 (file)
@@ -329,10 +329,7 @@ static struct dma_buf *cma_heap_allocate(struct dma_heap *heap,
                struct page *page = cma_pages;
 
                while (nr_clear_pages > 0) {
-                       void *vaddr = kmap_local_page(page);
-
-                       clear_page(vaddr);
-                       kunmap_local(vaddr);
+                       clear_highpage(page);
                        /*
                         * Avoid wasting time zeroing memory if the process
                         * has been killed by SIGKILL.