Thread (107 messages) 107 messages, 7 authors, 2020-04-08
STALE2282d
Revisions (21)
  1. v6 [diff vs current]
  2. v7 [diff vs current]
  3. v8 [diff vs current]
  4. v9 current
  5. v10 [diff vs current]
  6. v12 [diff vs current]
  7. v13 [diff vs current]
  8. v14 [diff vs current]
  9. v15 [diff vs current]
  10. v16 [diff vs current]
  11. v17 [diff vs current]
  12. v21 [diff vs current]
  13. v22 [diff vs current]
  14. v23 [diff vs current]
  15. v24 [diff vs current]
  16. v25 [diff vs current]
  17. v26 [diff vs current]
  18. v27 [diff vs current]
  19. v28 [diff vs current]
  20. v29 [diff vs current]
  21. v30 [diff vs current]

[RFC PATCH v9 26/27] mm/mmap: Add Shadow Stack pages to memory accounting

From: Yu-cheng Yu <hidden>
Date: 2020-02-05 18:20:51
Also in: linux-arch, linux-doc, linux-mm, lkml
Subsystem: memory management, memory mapping, the rest · Maintainers: Andrew Morton, Liam R. Howlett, Lorenzo Stoakes, Linus Torvalds

Add Shadow Stack pages to memory accounting.

v8:
- Change Shadow Stake pages from data_vm to stack_vm.

Signed-off-by: Yu-cheng Yu <redacted>
---
 mm/mmap.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/mm/mmap.c b/mm/mmap.c
index 71e4ffc83bcd..acfa04e2a5dd 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1687,6 +1687,9 @@ static inline int accountable_mapping(struct file *file, vm_flags_t vm_flags)
 	if (file && is_file_hugepages(file))
 		return 0;
 
+	if (arch_copy_pte_mapping(vm_flags))
+		return 1;
+
 	return (vm_flags & (VM_NORESERVE | VM_SHARED | VM_WRITE)) == VM_WRITE;
 }
 
@@ -3302,6 +3305,8 @@ void vm_stat_account(struct mm_struct *mm, vm_flags_t flags, long npages)
 		mm->stack_vm += npages;
 	else if (is_data_mapping(flags))
 		mm->data_vm += npages;
+	else if (arch_copy_pte_mapping(flags))
+		mm->stack_vm += npages;
 }
 
 static vm_fault_t special_mapping_fault(struct vm_fault *vmf);
-- 
2.21.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help