[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTimoD+-KzXVJhaKNZRvb=MkRgRUEQWnGNEwjvoRL@mail.gmail.com>
Date: Sun, 15 Aug 2010 13:15:17 +0800
From: jovi zhang <bookjovi@...il.com>
To: linux-kernel@...r.kernel.org
Subject: [PATCH] mm: code improvement of check_stack_guard_page
little code improvement of check_stack_guard_page function.
this commit is on top of commit "mm: keep a guard page below a
grow-down stack segment" of linus.
diff --git a/mm/memory.c b/mm/memory.c
index 9b3b73f..643b112 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2768,13 +2768,15 @@ out_release:
*/
static inline int check_stack_guard_page(struct vm_area_struct *vma,
unsigned long address)
{
- 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;
-
- expand_stack(vma, address);
+ if (vma->vm_flags & VM_GROWSDOWN) {
+ address &= PAGE_MASK;
+ if(address == vma->vm_start) {
+ address -= PAGE_SIZE;
+ if (unlikely(find_vma(vma->vm_mm, address) != vma))
+ return -ENOMEM;
+
+ expand_stack(vma, address);
+ }
}
return 0;
}
Powered by blists - more mailing lists