Subject: Re: next-20080808: bash: fork: Resource temporarily unavailable

From: David Howells <[email-masked]>
Date: Mon, 11 Aug 2008 01:21:10 +0100

Grant Wilson <[email-masked]> wrote:

> [  223.039938] Rlimit EAGAIN (-1 >= 16375, uid 1000)
> [  223.044744] copy_process() = -11
> [  226.660319] Rlimit EAGAIN (-1 >= 16375, uid 1000)
> [  226.664166] copy_process() = -11

Can you try the attached patch please?

David
---
CRED: Inc the user processes count on cred share return from copy_creds()

From: David Howells <[email-masked]>

Increment the user processes count in the case where copy_creds() returns after
sharing the parent's credentials instead of allocating new ones.

Signed-off-by: David Howells <[email-masked]>
---

 kernel/cred.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/kernel/cred.c b/kernel/cred.c
index f89c5e5..056ec90 100644
--- a/kernel/cred.c
+++ b/kernel/cred.c
@@ -299,6 +299,7 @@ int copy_creds(struct task_struct *p, unsigned long clone_flags)
 #endif
 		p->real_cred = get_cred(p->cred);
 		get_cred(p->cred);
+		atomic_inc(&p->cred->user->processes);
 		return 0;
 	}