Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 209697
b: refs/heads/master
c: 0e8e50e
h: refs/heads/master
i:
  209695: fdba08e
v: v3
  • Loading branch information
Linus Torvalds committed Aug 21, 2010
1 parent f566f06 commit f060368
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7798330ac8114c731cfab83e634c6ecedaa233d7
refs/heads/master: 0e8e50e20c837eeec8323bba7dcd25fe5479194c
15 changes: 11 additions & 4 deletions trunk/mm/memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -2770,11 +2770,18 @@ static inline int check_stack_guard_page(struct vm_area_struct *vma, unsigned lo
{
address &= PAGE_MASK;
if ((vma->vm_flags & VM_GROWSDOWN) && address == vma->vm_start) {
address -= PAGE_SIZE;
if (find_vma(vma->vm_mm, address) != vma)
return -ENOMEM;
struct vm_area_struct *prev = vma->vm_prev;

/*
* Is there a mapping abutting this one below?
*
* That's only ok if it's the same stack mapping
* that has gotten split..
*/
if (prev && prev->vm_end == address)
return prev->vm_flags & VM_GROWSDOWN ? 0 : -ENOMEM;

expand_stack(vma, address);
expand_stack(vma, address - PAGE_SIZE);
}
return 0;
}
Expand Down

0 comments on commit f060368

Please sign in to comment.