fs/ntfs3: provide block_invalidate_folio to fix memory leak
authorMikulas Patocka <mpatocka@redhat.com>
Mon, 30 May 2022 11:36:45 +0000 (13:36 +0200)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Wed, 1 Jun 2022 10:10:19 +0000 (13:10 +0300)
The ntfs3 filesystem lacks the 'invalidate_folio' method and it causes
memory leak. If you write to the filesystem and then unmount it, the
cached written data are not freed and they are permanently leaked.
Fixes: 7ba13abbd31e ("fs: Turn block_invalidatepage into block_invalidate_folio")

Reported-by: José Luis Lara Carrascal <manualinux@yahoo.es>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Acked-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Cc: stable@vger.kernel.org # v5.18
fs/ntfs3/inode.c

index 76519c7..3804526 100644 (file)
@@ -1955,6 +1955,7 @@ const struct address_space_operations ntfs_aops = {
        .direct_IO      = ntfs_direct_IO,
        .bmap           = ntfs_bmap,
        .dirty_folio    = block_dirty_folio,
+       .invalidate_folio = block_invalidate_folio,
 };
 
 const struct address_space_operations ntfs_aops_cmpr = {