From: Miaohe Lin Date: Sat, 18 Jun 2022 08:20:27 +0000 (+0800) Subject: mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region X-Git-Tag: v5.10.137~190 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4ffa6cecb53d46af8f869cc7a5a376341ebef79f;p=users%2Fdwmw2%2Flinux.git mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region [ Upstream commit 7f82f922319ede486540e8746769865b9508d2c2 ] 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 Signed-off-by: Andrew Morton Signed-off-by: Sasha Levin --- diff --git a/mm/mmap.c b/mm/mmap.c index 102f73ed4b1b9..a50042918cc7e 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1902,7 +1902,6 @@ unmap_and_free_vma: /* Undo any partial mapping done by a device driver. */ unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); - charged = 0; if (vm_flags & VM_SHARED) mapping_unmap_writable(file->f_mapping); allow_write_and_free_vma: