From 09b92d4199d51fc5961aab51b08286bed6718ebd Mon Sep 17 00:00:00 2001 From: Elliot Berman Date: Thu, 22 Feb 2024 15:16:42 -0800 Subject: [PATCH] BACKPORT: FROMLIST: arch/mm: Export direct {un,}map functions Firmware and hypervisor drivers can donate system heap memory to their respective firmware/hypervisor entities. Those drivers should unmap the pages from the kernel's logical map before doing so. Export can_set_direct_map, set_direct_map_invalid_noflush, and set_direct_map_default_noflush. Bug: 338347082 Link: https://lore.kernel.org/all/20240222-gunyah-v17-19-1e9da6763d38@quicinc.com/ Change-Id: Ib94aa30156db3a6b9a755228ed7c20c910caaf65 Signed-off-by: Elliot Berman Signed-off-by: Sreenad Menon Signed-off-by: Elliot Berman --- arch/arm64/mm/pageattr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c index 0e270a1c51e6..cee8cda956ca 100644 --- a/arch/arm64/mm/pageattr.c +++ b/arch/arm64/mm/pageattr.c @@ -176,6 +176,7 @@ int set_direct_map_invalid_noflush(struct page *page) (unsigned long)page_address(page), PAGE_SIZE, change_page_range, &data); } +EXPORT_SYMBOL_GPL(set_direct_map_invalid_noflush); int set_direct_map_default_noflush(struct page *page) { @@ -191,6 +192,7 @@ int set_direct_map_default_noflush(struct page *page) (unsigned long)page_address(page), PAGE_SIZE, change_page_range, &data); } +EXPORT_SYMBOL_GPL(set_direct_map_default_noflush); #ifdef CONFIG_DEBUG_PAGEALLOC void __kernel_map_pages(struct page *page, int numpages, int enable)