diff mbox series

[RFC,v4,23/27] mm/map: Add Shadow stack pages to memory accounting

Message ID 20180921150351.20898-24-yu-cheng.yu@intel.com (mailing list archive)
State New, archived
Headers show
Series Control Flow Enforcement: Shadow Stack | expand

Commit Message

Yu-cheng Yu Sept. 21, 2018, 3:03 p.m. UTC
Add shadow stack pages to memory accounting.
Also check if the system has enough memory before enabling CET.

Signed-off-by: Yu-cheng Yu <yu-cheng.yu.intel.com>
---
 mm/mmap.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Randy Dunlap Sept. 21, 2018, 4:55 p.m. UTC | #1
On 9/21/18 8:03 AM, Yu-cheng Yu wrote:
> Add shadow stack pages to memory accounting.
> Also check if the system has enough memory before enabling CET.
> 
> Signed-off-by: Yu-cheng Yu <yu-cheng.yu.intel.com>

oops. typo above.

> ---
>  mm/mmap.c | 5 +++++
>  1 file changed, 5 insertions(+)
Yu-cheng Yu Sept. 21, 2018, 5:21 p.m. UTC | #2
On Fri, 2018-09-21 at 09:55 -0700, Randy Dunlap wrote:
> On 9/21/18 8:03 AM, Yu-cheng Yu wrote:
> > Add shadow stack pages to memory accounting.
> > Also check if the system has enough memory before enabling CET.
> > 
> > Signed-off-by: Yu-cheng Yu <yu-cheng.yu.intel.com>
> 
> oops. typo above.
> 

I will fix it.  Thanks!
diff mbox series

Patch

diff --git a/mm/mmap.c b/mm/mmap.c
index 5f2b2b184c60..de2d0faa1c61 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1671,6 +1671,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;
 }
 
@@ -3261,6 +3264,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->data_vm += npages;
 }
 
 static vm_fault_t special_mapping_fault(struct vm_fault *vmf);