diff options
author | Nick Piggin <npiggin@suse.de> | 2008-02-02 03:08:53 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-02-04 16:55:38 +0100 |
commit | 2f98735c9c24ea1f0d40a364d4e63611b689b795 (patch) | |
tree | a42b3802449af474d36cda3b6f9fb190a717defb /mm | |
parent | ADB: Add missing #include <linux/platform_device.h> (diff) | |
download | linux-2f98735c9c24ea1f0d40a364d4e63611b689b795.tar.xz linux-2f98735c9c24ea1f0d40a364d4e63611b689b795.zip |
vm audit: add VM_DONTEXPAND to mmap for drivers that need it
Drivers that register a ->fault handler, but do not range-check the
offset argument, must set VM_DONTEXPAND in the vm_flags in order to
prevent an expanding mremap from overflowing the resource.
I've audited the tree and attempted to fix these problems (usually by
adding VM_DONTEXPAND where it is not obvious).
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/mmap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/mmap.c b/mm/mmap.c index d2b6d44962b7..8295577a83b2 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2216,7 +2216,7 @@ int install_special_mapping(struct mm_struct *mm, vma->vm_start = addr; vma->vm_end = addr + len; - vma->vm_flags = vm_flags | mm->def_flags; + vma->vm_flags = vm_flags | mm->def_flags | VM_DONTEXPAND; vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); vma->vm_ops = &special_mapping_vmops; |