Messages in this thread Patch in this message | | | From | "Aneesh Kumar K.V" <> | Subject | Re: linux-next: build warnings after merge of the mm tree | Date | Thu, 27 Jul 2023 10:16:19 +0530 |
| |
Stephen Rothwell <sfr@canb.auug.org.au> writes:
> Hi all, > > After merging the mm tree, today's linux-next build (powerpc allyesconfig) > produced these warnings: > > 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) > > Introduced by commit > > 25081814314b ("powerpc/book3s64/vmemmap: switch radix to use a different vmemmap handling function") >
I will send this as a separate patch to linuxppc-dev ? Even though the warning started with this series because it is using functions in meminit from remove_pte_table, marking remove_pte_table correctly is applicable outside series that caused this warning ?
From 29ddcbbcae6ec2a7b70015274b2d5c4ec9b6beea Mon Sep 17 00:00:00 2001 From: "Aneesh Kumar K.V" <aneesh.kumar@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 remote_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.kumar@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 59aaa30a7c0d..96679018e7fb 100644 --- a/arch/powerpc/mm/book3s64/radix_pgtable.c +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c @@ -782,9 +782,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
| |