diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c
index e41802944756b..e19de803149c2 100644
--- a/virt/kvm/guest_memfd.c
+++ b/virt/kvm/guest_memfd.c
@@ -192,13 +192,13 @@ static void __kvm_gmem_invalidate_start(struct gmem_file *f, pgoff_t start,
}
static void kvm_gmem_invalidate_start(struct inode *inode, pgoff_t start,
- pgoff_t end)
+ pgoff_t end,
+ enum kvm_gfn_range_filter filter)
{
- enum kvm_gfn_range_filter attr_filter = kvm_gmem_get_all_gfns_filter(inode);
struct gmem_file *f;
kvm_gmem_for_each_file(f, inode)
- __kvm_gmem_invalidate_start(f, start, end, attr_filter);
+ __kvm_gmem_invalidate_start(f, start, end, filter);
}
static void __kvm_gmem_invalidate_end(struct gmem_file *f, pgoff_t start,@@ -224,6 +224,7 @@ static void kvm_gmem_invalidate_end(struct inode *inode, pgoff_t start,
static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
{
+ enum kvm_gfn_range_filter filter = kvm_gmem_get_all_gfns_filter(inode);
pgoff_t start = offset >> PAGE_SHIFT;
pgoff_t end = (offset + len) >> PAGE_SHIFT;
@@ -233,7 +234,7 @@ static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
*/
filemap_invalidate_lock(inode->i_mapping);
- kvm_gmem_invalidate_start(inode, start, end);
+ kvm_gmem_invalidate_start(inode, start, end, filter);
truncate_inode_pages_range(inode->i_mapping, offset, offset + len - 1);
@@ -522,6 +523,8 @@ static int kvm_gmem_migrate_folio(struct address_space *mapping,
static int kvm_gmem_error_folio(struct address_space *mapping, struct folio *folio)
{
+ struct inode *inode = mapping->host;
+ enum kvm_gfn_range_filter filter;
pgoff_t start, end;
filemap_invalidate_lock_shared(mapping);@@ -529,7 +532,8 @@ static int kvm_gmem_error_folio(struct address_space *mapping, struct folio *fol
start = folio->index;
end = start + folio_nr_pages(folio);
- kvm_gmem_invalidate_start(mapping->host, start, end);
+ filter = kvm_gmem_get_all_gfns_filter(inode);
+ kvm_gmem_invalidate_start(inode, start, end, filter);
/*
* Do not truncate the range, what action is taken in response to the
--
2.55.0.1007.g17ff1f9808-goog