diff options
author | Nick Piggin <npiggin@suse.de> | 2008-02-01 21:08:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-02-04 10:55:38 -0500 |
commit | 2f98735c9c24ea1f0d40a364d4e63611b689b795 (patch) | |
tree | a42b3802449af474d36cda3b6f9fb190a717defb /kernel/relay.c | |
parent | fe2528b96b02173395f5a75e37714c07f3e25e73 (diff) |
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 'kernel/relay.c')
-rw-r--r-- | kernel/relay.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/relay.c b/kernel/relay.c index 61134eb7a0c8..7c0373322f18 100644 --- a/kernel/relay.c +++ b/kernel/relay.c | |||
@@ -92,6 +92,7 @@ static int relay_mmap_buf(struct rchan_buf *buf, struct vm_area_struct *vma) | |||
92 | return -EINVAL; | 92 | return -EINVAL; |
93 | 93 | ||
94 | vma->vm_ops = &relay_file_mmap_ops; | 94 | vma->vm_ops = &relay_file_mmap_ops; |
95 | vma->vm_flags |= VM_DONTEXPAND; | ||
95 | vma->vm_private_data = buf; | 96 | vma->vm_private_data = buf; |
96 | buf->chan->cb->buf_mapped(buf, filp); | 97 | buf->chan->cb->buf_mapped(buf, filp); |
97 | 98 | ||