fs/exec.c: fix initial stack reservation (regression in 2.6.32.9)

svn path=/dists/sid/linux-2.6/; revision=15266
This commit is contained in:
Ben Hutchings 2010-02-24 01:07:52 +00:00
parent faa80a5e80
commit 97ce961689
3 changed files with 49 additions and 0 deletions

1
debian/changelog vendored
View File

@ -10,6 +10,7 @@ linux-2.6 (2.6.32-9) UNRELEASED; urgency=low
(Closes: #508108)
* sfc: Apply fixes from 2.6.33
* ath9k: Add support for AR2427
* fs/exec.c: fix initial stack reservation (regression in 2.6.32.9)
[ maximilian attems]
* Postinst don't refercence k-p related manpage. (closes: #542208)

View File

@ -0,0 +1,47 @@
From a17e18790a8c47113a73139d54a375dc9ccd8f08 Mon Sep 17 00:00:00 2001
From: Michael Neuling <mikey@neuling.org>
Date: Mon, 22 Feb 2010 12:44:24 -0800
Subject: [PATCH] fs/exec.c: fix initial stack reservation
803bf5ec259941936262d10ecc84511b76a20921 ("fs/exec.c: restrict initial
stack space expansion to rlimit") attempts to limit the initial stack to
20*PAGE_SIZE. Unfortunately, in attempting ensure the stack is not
reduced in size, we ended up not changing the stack at all.
This size reduction check is not necessary as the expand_stack call does
this already.
This caused a regression in UML resulting in most guest processes being
killed.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: James Morris <jmorris@namei.org>
Cc: Serge Hallyn <serue@us.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jouni Malinen <j@w1.fi>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
fs/exec.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/fs/exec.c b/fs/exec.c
index e95c692..cce6bbd 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -637,7 +637,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
* will align it up.
*/
rlim_stack = rlimit(RLIMIT_STACK) & PAGE_MASK;
- rlim_stack = min(rlim_stack, stack_size);
#ifdef CONFIG_STACK_GROWSUP
if (stack_size + stack_expand > rlim_stack)
stack_base = vma->vm_start + rlim_stack;
--
1.6.6.2

View File

@ -22,3 +22,4 @@
+ features/arm/openrd-base-uart.patch
+ features/arm/dns323-rev-a1-powerled.patch
+ bugfix/all/vgaarb-fix-target-default-passing.patch
+ bugfix/all/fs-exec.c-fix-initial-stack-reservation.patch