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 commit4f74d2c8e8
("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:4f74d2c8e8
("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
d3beb91c99
commit
38403d143d
@ -1860,7 +1860,6 @@ unmap_and_free_vma:
|
|||||||
|
|
||||||
/* Undo any partial mapping done by a device driver. */
|
/* Undo any partial mapping done by a device driver. */
|
||||||
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
|
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
|
||||||
charged = 0;
|
|
||||||
if (vm_flags & VM_SHARED)
|
if (vm_flags & VM_SHARED)
|
||||||
mapping_unmap_writable(file->f_mapping);
|
mapping_unmap_writable(file->f_mapping);
|
||||||
allow_write_and_free_vma:
|
allow_write_and_free_vma:
|
||||||
|
Loading…
Reference in New Issue
Block a user