Skip to content

Commit

Permalink
mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region
Browse files Browse the repository at this point in the history
[ Upstream commit 7f82f92 ]

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 4f74d2c ("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/[email protected]
Fixes: 4f74d2c ("vm: remove 'nr_accounted' calculations from the unmap_vmas() interfaces")
Signed-off-by: Miaohe Lin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
  • Loading branch information
MiaoheLin authored and Sasha Levin committed Aug 14, 2022
1 parent f29a7c2 commit 698e8f2
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion mm/mmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1860,7 +1860,6 @@ unsigned long mmap_region(struct file *file, unsigned long addr,

/* 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:
Expand Down

0 comments on commit 698e8f2

Please sign in to comment.