


---

 25-akpm/kernel/user.c |    4 ++++
 1 files changed, 4 insertions(+)

diff -puN kernel/user.c~timers-signals-rlimits-setuid-fix kernel/user.c
--- 25/kernel/user.c~timers-signals-rlimits-setuid-fix	2004-05-07 17:13:50.860593864 -0700
+++ 25-akpm/kernel/user.c	2004-05-07 17:15:04.389415784 -0700
@@ -84,6 +84,10 @@ void free_uid(struct user_struct *up)
 {
 	if (up && atomic_dec_and_lock(&up->__count, &uidhash_lock)) {
 		uid_hash_remove(up);
+		atomic_add(atomic_read(&up->posix_timers),
+				&current->user->posix_timers);
+		atomic_add(atomic_read(&up->queued_sigs),
+				&current->user->queued_sigs);
 		kmem_cache_free(uid_cachep, up);
 		spin_unlock(&uidhash_lock);
 	}

_
