]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region
authorMiaohe Lin <linmiaohe@huawei.com>
Sat, 18 Jun 2022 08:20:27 +0000 (16:20 +0800)
committerLiam R. Howlett <Liam.Howlett@oracle.com>
Wed, 3 Aug 2022 18:17:09 +0000 (14:17 -0400)
Since the beginning, charged is set to 0 to avoid calling vm_unacct_memory
twice because vm_unacct_memory will be called by above unmap_region.  But
since commit 4f74d2c8e827 ("vm: remove 'nr_accounted' calculations from
the unmap_vmas() interfaces"), unmap_region doesn't call vm_unacct_memory
anymore.  So charged shouldn't be set to 0 now otherwise the calling to
paired vm_unacct_memory will be missed and leads to imbalanced account.

Link: https://lkml.kernel.org/r/20220618082027.43391-1-linmiaohe@huawei.com
Fixes: 4f74d2c8e827 ("vm: remove 'nr_accounted' calculations from the unmap_vmas() interfaces")
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/mmap.c

index 682abc2841bb64f674eb02a662f53691f722c00c..125e8903c93c3969d0dbd21196ef1a18c3c5deb0 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2742,7 +2742,6 @@ unmap_and_free_vma:
 
        /* Undo any partial mapping done by a device driver. */
        unmap_region(mm, mas.tree, vma, prev, next, vma->vm_start, vma->vm_end);
-       charged = 0;
        if (vm_flags & VM_SHARED)
                mapping_unmap_writable(file->f_mapping);
 free_vma: