]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dma-buf: heaps: Clear CMA pages with clear_page()
authorLinus Walleij <linus.walleij@linaro.org>
Sun, 30 Nov 2025 10:54:48 +0000 (11:54 +0100)
committerLinus Walleij <linusw@kernel.org>
Thu, 8 Jan 2026 07:52:29 +0000 (08:52 +0100)
clear_page() translates into memset(*p, 0, PAGE_SIZE) on some
architectures, but on the major architectures it will call
an optimized assembly snippet so use this instead of open
coding a memset().

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Nirmoy Das <nirmoyd@nvidia.com>
Reviewed-by: T.J. Mercier <tjmercier@google.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
Link: https://patch.msgid.link/20251130-dma-buf-heap-clear-page-v1-1-a8dcea2a88ee@linaro.org
drivers/dma-buf/heaps/cma_heap.c

index 42f88193eab9f8f4571064c7b3b8a73bca20fdf4..49cc45fb42dd7200c3c14384bcfdbe85323454b1 100644 (file)
@@ -331,7 +331,7 @@ static struct dma_buf *cma_heap_allocate(struct dma_heap *heap,
                while (nr_clear_pages > 0) {
                        void *vaddr = kmap_local_page(page);
 
-                       memset(vaddr, 0, PAGE_SIZE);
+                       clear_page(vaddr);
                        kunmap_local(vaddr);
                        /*
                         * Avoid wasting time zeroing memory if the process