Messages in this thread Patch in this message | | | Date | Fri, 30 Jun 2006 20:46:21 +0200 | From | Ingo Molnar <> | Subject | [patch] pi-futex: fix mm_struct memory leak |
| |
From: Vernon Mauery <vernux@us.ibm.com> Subject: pi-futex: fix mm_struct memory leak
lock_queue was getting called essentially twice in a row and was continually incrementing the mm_count ref count, thus causing a memory leak.
Dinakar Guniguntala provided a proper fix for the problem that simply grabs the spinlock for the hash bucket queue rather than calling lock_queue.
The second time we do a queue_lock in futex_lock_pi, we really only need to take the hash bucket lock.
Signed-off-by: Dinakar Guniguntala <dino@in.ibm.com> Signed-off-by: Vernon Mauery <vernux@us.ibm.com> Acked-by: Paul E. McKenney <paulmck@us.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- kernel/futex.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux/kernel/futex.c =================================================================== --- linux.orig/kernel/futex.c +++ linux/kernel/futex.c @@ -1208,7 +1208,7 @@ static int do_futex_lock_pi(u32 __user * } down_read(&curr->mm->mmap_sem); - hb = queue_lock(&q, -1, NULL); + spin_lock(q.lock_ptr); /* * Got the lock. We might not be the anticipated owner if we - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |