>From 9125b1815758ab3b83966aeead6f486c0708ea73 Mon Sep 17 00:00:00 2001
From: "Aneesh Kumar K.V" <aneesh.ku...@linux.ibm.com>
Date: Thu, 27 Jul 2023 10:02:37 +0530
Subject: [PATCH] powerpc/mm: Fix section mismatch warning

remove_pte_table is only called from remove_pmd_table which is marked
__meminit. These functions are used only during memory hotplug and they
also call functions marked __meminit. Mark remove_pte_table also with
__meminit so that we can avoid the section mismatch warning below.

WARNING: modpost: vmlinux: section mismatch in reference: 
remove_pte_table+0x230 (section: .text.remove_pte_table) -> free_vmemmap_pages 
(section: .meminit.text)
WARNING: modpost: vmlinux: section mismatch in reference: 
remove_pte_table+0x43c (section: .text.remove_pte_table) -> vmemmap_populated 
(section: .meminit.text)
WARNING: modpost: vmlinux: section mismatch in reference: 
remove_pte_table+0x4a4 (section: .text.remove_pte_table) -> free_vmemmap_pages 
(section: .meminit.text)

Signed-off-by: Aneesh Kumar K.V <aneesh.ku...@linux.ibm.com>
---
 arch/powerpc/mm/book3s64/radix_pgtable.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c 
b/arch/powerpc/mm/book3s64/radix_pgtable.c
index 53f8340e390c..6d04dd579d03 100644
--- a/arch/powerpc/mm/book3s64/radix_pgtable.c
+++ b/arch/powerpc/mm/book3s64/radix_pgtable.c
@@ -793,9 +793,9 @@ static void __meminit free_vmemmap_pages(struct page *page,
                free_pages((unsigned long)page_address(page), order);
 }
 
-static void remove_pte_table(pte_t *pte_start, unsigned long addr,
-                            unsigned long end, bool direct,
-                            struct vmem_altmap *altmap)
+static void __meminit remove_pte_table(pte_t *pte_start, unsigned long addr,
+                                      unsigned long end, bool direct,
+                                      struct vmem_altmap *altmap)
 {
        unsigned long next, pages = 0;
        pte_t *pte;
-- 
2.41.0

Reply via email to