diff options
author | Liam R. Howlett <[email protected]> | 2024-08-30 00:00:57 -0400 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2024-09-03 21:15:52 -0700 |
commit | 13d77e0133908721f7da093ffd3169a92bae8b11 (patch) | |
tree | 8db539fa257a8dc89511501ef474d6b5fa358b39 | |
parent | 5972d97c44dc00fd9436a885182adef00ae8cb22 (diff) |
mm/mmap: use vms accounted pages in mmap_region()
Change from nr_pages variable to vms.nr_accounted for the charged pages
calculation. This is necessary for a future patch.
This also avoids checking security_vm_enough_memory_mm() if the amount of
memory won't change.
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Liam R. Howlett <[email protected]>
Reviewed-by: Kees Cook <[email protected]>
Reviewed-by: Lorenzo Stoakes <[email protected]>
Reviewed-by: Suren Baghdasaryan <[email protected]>
Acked-by: Paul Moore <[email protected]> [LSM]
Cc: Kees Cook <[email protected]>
Cc: Bert Karwatzki <[email protected]>
Cc: Jeff Xu <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Lorenzo Stoakes <[email protected]>
Cc: Mark Brown <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Cc: "Paul E. McKenney" <[email protected]>
Cc: Sidhartha Kumar <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
-rw-r--r-- | mm/mmap.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/mmap.c b/mm/mmap.c index cd09dd164e85..4faadc54e89d 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1414,9 +1414,10 @@ unsigned long mmap_region(struct file *file, unsigned long addr, */ if (accountable_mapping(file, vm_flags)) { charged = pglen; - charged -= nr_accounted; - if (security_vm_enough_memory_mm(mm, charged)) + charged -= vms.nr_accounted; + if (charged && security_vm_enough_memory_mm(mm, charged)) goto abort_munmap; + vms.nr_accounted = 0; vm_flags |= VM_ACCOUNT; } |