Commit c3a17613 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] rmap 29 VM_RESERVED safety

From: Hugh Dickins <hugh@veritas.com>

From: Andrea Arcangeli <andrea@suse.de>

Set VM_RESERVED in videobuf_mmap_mapper, to warn do_no_page and swapout not to
worry about its pages.  Set VM_RESERVED in ia64_elf32_init, it too provides an
unusual nopage which might surprise higher level checks.  Future safety: they
don't actually pose a problem in this current tree.
parent bbdaef5f
...@@ -79,7 +79,7 @@ ia64_elf32_init (struct pt_regs *regs) ...@@ -79,7 +79,7 @@ ia64_elf32_init (struct pt_regs *regs)
vma->vm_start = IA32_GDT_OFFSET; vma->vm_start = IA32_GDT_OFFSET;
vma->vm_end = vma->vm_start + PAGE_SIZE; vma->vm_end = vma->vm_start + PAGE_SIZE;
vma->vm_page_prot = PAGE_SHARED; vma->vm_page_prot = PAGE_SHARED;
vma->vm_flags = VM_READ|VM_MAYREAD; vma->vm_flags = VM_READ|VM_MAYREAD|VM_RESERVED;
vma->vm_ops = &ia32_shared_page_vm_ops; vma->vm_ops = &ia32_shared_page_vm_ops;
down_write(&current->mm->mmap_sem); down_write(&current->mm->mmap_sem);
{ {
......
...@@ -1176,7 +1176,7 @@ int videobuf_mmap_mapper(struct vm_area_struct *vma, ...@@ -1176,7 +1176,7 @@ int videobuf_mmap_mapper(struct vm_area_struct *vma,
map->end = vma->vm_end; map->end = vma->vm_end;
map->q = q; map->q = q;
vma->vm_ops = &videobuf_vm_ops; vma->vm_ops = &videobuf_vm_ops;
vma->vm_flags |= VM_DONTEXPAND; vma->vm_flags |= VM_DONTEXPAND | VM_RESERVED;
vma->vm_flags &= ~VM_IO; /* using shared anonymous pages */ vma->vm_flags &= ~VM_IO; /* using shared anonymous pages */
vma->vm_private_data = map; vma->vm_private_data = map;
dprintk(1,"mmap %p: %08lx-%08lx pgoff %08lx bufs %d-%d\n", dprintk(1,"mmap %p: %08lx-%08lx pgoff %08lx bufs %d-%d\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment