[PATCH] ARM: mm: Use pointer from memcpy() call for assignment in pgd_alloc()

1 view
Skip to first unread message

Markus Elfring

unread,
Oct 30, 2025, 3:20:29 PMOct 30
to linux-ar...@lists.infradead.org, Abbott Liu, Andrew Morton, Andrey Ryabinin, Ard Biesheuvel, Dave Hansen, Florian Fainelli, Kevin Brodsky, Linus Walleij, Qi Zheng, Russell King, LKML, kernel-...@vger.kernel.org, kasa...@googlegroups.com, Ahmad Fatoum, Alexander Potapenko, Dmitry Vyukov, Miaoqian Lin, Mike Rapoport
From: Markus Elfring <elf...@users.sourceforge.net>
Date: Thu, 30 Oct 2025 20:08:04 +0100

A pointer was assigned to a variable. The same pointer was used for
the destination parameter of a memcpy() call.
This function is documented in the way that the same value is returned.
Thus convert two separate statements into a direct variable assignment for
the return value from a memory copy action.

The source code was transformed by using the Coccinelle software.

Signed-off-by: Markus Elfring <elf...@users.sourceforge.net>
---
arch/arm/mm/pgd.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mm/pgd.c b/arch/arm/mm/pgd.c
index 4eb81b7ed03a..5e90faaa4934 100644
--- a/arch/arm/mm/pgd.c
+++ b/arch/arm/mm/pgd.c
@@ -72,10 +72,8 @@ pgd_t *pgd_alloc(struct mm_struct *mm)
init_p4d = p4d_offset(init_pgd, TASK_SIZE);
init_pud = pud_offset(init_p4d, TASK_SIZE);
init_pmd = pmd_offset(init_pud, TASK_SIZE);
- new_pmd = pmd_offset(new_pud, TASK_SIZE);
- memcpy(new_pmd, init_pmd,
- (pmd_index(MODULES_VADDR) - pmd_index(TASK_SIZE))
- * sizeof(pmd_t));
+ new_pmd = memcpy(pmd_offset(new_pud, TASK_SIZE), init_pmd,
+ (pmd_index(MODULES_VADDR) - pmd_index(TASK_SIZE)) * sizeof(pmd_t));
clean_dcache_area(new_pmd, PTRS_PER_PMD * sizeof(pmd_t));
#endif /* CONFIG_KASAN */
#endif /* CONFIG_LPAE */
--
2.51.1

Reply all
Reply to author
Forward
0 new messages