|
@@ -2297,14 +2297,13 @@ int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr,
|
|
|
* rest of the world about it:
|
|
|
* VM_IO tells people not to look at these pages
|
|
|
* (accesses can have side effects).
|
|
|
- * VM_RESERVED is specified all over the place, because
|
|
|
- * in 2.4 it kept swapout's vma scan off this vma; but
|
|
|
- * in 2.6 the LRU scan won't even find its pages, so this
|
|
|
- * flag means no more than count its pages in reserved_vm,
|
|
|
- * and omit it from core dump, even when VM_IO turned off.
|
|
|
* VM_PFNMAP tells the core MM that the base pages are just
|
|
|
* raw PFN mappings, and do not have a "struct page" associated
|
|
|
* with them.
|
|
|
+ * VM_DONTEXPAND
|
|
|
+ * Disable vma merging and expanding with mremap().
|
|
|
+ * VM_DONTDUMP
|
|
|
+ * Omit vma from core dump, even when VM_IO turned off.
|
|
|
*
|
|
|
* There's a horrible special case to handle copy-on-write
|
|
|
* behaviour that some programs depend on. We mark the "original"
|
|
@@ -2321,7 +2320,7 @@ int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr,
|
|
|
if (err)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP;
|
|
|
+ vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP;
|
|
|
|
|
|
BUG_ON(addr >= end);
|
|
|
pfn -= addr >> PAGE_SHIFT;
|