From 8a9183c5070d253367df1933eb6e6b30da7d91ba Mon Sep 17 00:00:00 2001 From: Pengfei Li Date: Tue, 22 Jul 2025 11:19:29 +0800 Subject: [PATCH] ANDROID: mm: Export several symbols Exports several symbols which are used in the vendor ko. mte_sync_tags - It is used by the macro set_pte_at. mthp_stats - It is used by mod_mthp_stat(). swapper_spaces - It is used by macro swap_address_space. swap_migration_ad_supported - It is used by make_migration_entry_young(). __mmu_notifier_invalidate_range_start __mmu_notifier_arch_invalidate_secondary_tlbs __mmu_notifier_invalidate_range_end - These three functions are used in vendors ko to invalidate and refresh the tlb. Bug: 431672372 Change-Id: I5f61af22ed9c11cd5c5a79eaa49a62c5153693b9 Signed-off-by: Pengfei Li --- arch/arm64/kernel/mte.c | 1 + mm/huge_memory.c | 1 + mm/mmu_notifier.c | 3 +++ mm/swap_state.c | 1 + mm/swapfile.c | 1 + 5 files changed, 7 insertions(+) diff --git a/arch/arm64/kernel/mte.c b/arch/arm64/kernel/mte.c index 6174671be7c1..a7e0db7ae89a 100644 --- a/arch/arm64/kernel/mte.c +++ b/arch/arm64/kernel/mte.c @@ -51,6 +51,7 @@ void mte_sync_tags(pte_t pte, unsigned int nr_pages) /* ensure the tags are visible before the PTE is set */ smp_wmb(); } +EXPORT_SYMBOL_GPL(mte_sync_tags); int memcmp_pages(struct page *page1, struct page *page2) { diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 2113225974dc..caf8abfe1072 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -576,6 +576,7 @@ static const struct kobj_type thpsize_ktype = { }; DEFINE_PER_CPU(struct mthp_stat, mthp_stats) = {{{0}}}; +EXPORT_SYMBOL_GPL(mthp_stats); static unsigned long sum_mthp_stat(int order, enum mthp_stat_item item) { diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c index fc18fe274505..d4cbf45ef768 100644 --- a/mm/mmu_notifier.c +++ b/mm/mmu_notifier.c @@ -533,6 +533,7 @@ int __mmu_notifier_invalidate_range_start(struct mmu_notifier_range *range) return mn_hlist_invalidate_range_start(subscriptions, range); return 0; } +EXPORT_SYMBOL_GPL(__mmu_notifier_invalidate_range_start); static void mn_hlist_invalidate_end(struct mmu_notifier_subscriptions *subscriptions, @@ -569,6 +570,7 @@ void __mmu_notifier_invalidate_range_end(struct mmu_notifier_range *range) mn_hlist_invalidate_end(subscriptions, range); lock_map_release(&__mmu_notifier_invalidate_range_start_map); } +EXPORT_SYMBOL_GPL(__mmu_notifier_invalidate_range_end); void __mmu_notifier_arch_invalidate_secondary_tlbs(struct mm_struct *mm, unsigned long start, unsigned long end) @@ -587,6 +589,7 @@ void __mmu_notifier_arch_invalidate_secondary_tlbs(struct mm_struct *mm, } srcu_read_unlock(&srcu, id); } +EXPORT_SYMBOL_GPL(__mmu_notifier_arch_invalidate_secondary_tlbs); /* * Same as mmu_notifier_register but here the caller must hold the mmap_lock in diff --git a/mm/swap_state.c b/mm/swap_state.c index d210f07aff76..33f7c75db453 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c @@ -39,6 +39,7 @@ static const struct address_space_operations swap_aops = { }; struct address_space *swapper_spaces[MAX_SWAPFILES] __read_mostly; +EXPORT_SYMBOL_GPL(swapper_spaces); static unsigned int nr_swapper_spaces[MAX_SWAPFILES] __read_mostly; static bool enable_vma_readahead __read_mostly = true; diff --git a/mm/swapfile.c b/mm/swapfile.c index a7975908a8b5..90afacf225f3 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -81,6 +81,7 @@ static int least_priority = -1; unsigned long swapfile_maximum_size; #ifdef CONFIG_MIGRATION bool swap_migration_ad_supported; +EXPORT_SYMBOL_GPL(swap_migration_ad_supported); #endif /* CONFIG_MIGRATION */ static const char Bad_file[] = "Bad swap file entry ";