diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-10-16 04:26:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:43:04 -0400 |
commit | 5c8aaceab88ac787c0a4038b29143c954c2a45e0 (patch) | |
tree | 9277518e77cac9e1f97d826fa8962d1c861a9e40 /arch/um/kernel/process.c | |
parent | 8d82076080d909f18dea859a6767df7e3ff69241 (diff) |
uml: stop specially protecting kernel stacks
Map all of physical memory as executable to avoid having to change stack
protections during fork and exit.
unprotect_stack is now called only from MODE_TT code, so it is marked as such.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/kernel/process.c')
-rw-r--r-- | arch/um/kernel/process.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index bfa52f206bb6..f083787410af 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c | |||
@@ -82,9 +82,9 @@ unsigned long alloc_stack(int order, int atomic) | |||
82 | if (atomic) | 82 | if (atomic) |
83 | flags = GFP_ATOMIC; | 83 | flags = GFP_ATOMIC; |
84 | page = __get_free_pages(flags, order); | 84 | page = __get_free_pages(flags, order); |
85 | if(page == 0) | 85 | if (page == 0) |
86 | return 0; | 86 | return 0; |
87 | stack_protections(page); | 87 | |
88 | return page; | 88 | return page; |
89 | } | 89 | } |
90 | 90 | ||
@@ -141,7 +141,6 @@ void release_thread(struct task_struct *task) | |||
141 | 141 | ||
142 | void exit_thread(void) | 142 | void exit_thread(void) |
143 | { | 143 | { |
144 | unprotect_stack((unsigned long) current_thread); | ||
145 | } | 144 | } |
146 | 145 | ||
147 | void *get_current(void) | 146 | void *get_current(void) |