Skip to content

Commit

Permalink
security: protect from stack expantion into low vm addresses
Browse files Browse the repository at this point in the history
Add security checks to make sure we are not attempting to expand the
stack into memory protected by mmap_min_addr

Signed-off-by: Eric Paris <[email protected]>
Signed-off-by: James Morris <[email protected]>
  • Loading branch information
eparis authored and James Morris committed Dec 5, 2007
1 parent ab5a91a commit 8869477
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions mm/mmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1615,15 +1615,19 @@ static inline int expand_downwards(struct vm_area_struct *vma,
*/
if (unlikely(anon_vma_prepare(vma)))
return -ENOMEM;

address &= PAGE_MASK;
error = security_file_mmap(0, 0, 0, 0, address, 1);
if (error)
return error;

anon_vma_lock(vma);

/*
* vma->vm_start/vm_end cannot change under us because the caller
* is required to hold the mmap_sem in read mode. We need the
* anon_vma lock to serialize against concurrent expand_stacks.
*/
address &= PAGE_MASK;
error = 0;

/* Somebody else might have raced and expanded it already */
if (address < vma->vm_start) {
Expand Down

0 comments on commit 8869477

Please sign in to comment.