<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">


---

 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 &amp;&amp; atomic_dec_and_lock(&amp;up-&gt;__count, &amp;uidhash_lock)) {
 		uid_hash_remove(up);
+		atomic_add(atomic_read(&amp;up-&gt;posix_timers),
+				&amp;current-&gt;user-&gt;posix_timers);
+		atomic_add(atomic_read(&amp;up-&gt;queued_sigs),
+				&amp;current-&gt;user-&gt;queued_sigs);
 		kmem_cache_free(uid_cachep, up);
 		spin_unlock(&amp;uidhash_lock);
 	}

_
</pre></body></html>