[RFC PATCH v1 06/10] mm: filemap: Export filemap_remove_folio()

From: Ackerley Tng

Date: Mon Feb 23 2026 - 02:10:00 EST


Export filemap_remove_folio() for use by KVM.

KVM requires this function to remove folios from guest_memfd's filemap.

guest_memfd used to rely on higher-level, exported truncation functions. To
track memory that is actually allocated (i.e. i_blocks, st_blocks),
guest_memfd will need a custom truncation function to do accounting cleanup
and will be using filemap_remove_folio() for truncation.

Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
---
mm/filemap.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/mm/filemap.c b/mm/filemap.c
index ebd75684cb0a7..379d62239fc5f 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -49,6 +49,7 @@
#include <linux/sched/mm.h>
#include <linux/sysctl.h>
#include <linux/pgalloc.h>
+#include <linux/kvm_types.h>

#include <asm/tlbflush.h>
#include "internal.h"
@@ -262,6 +263,7 @@ void filemap_remove_folio(struct folio *folio)

filemap_free_folio(mapping, folio);
}
+EXPORT_SYMBOL_FOR_KVM(filemap_remove_folio);

/*
* page_cache_delete_batch - delete several folios from page cache
--
2.53.0.345.g96ddfc5eaa-goog