lkml.org 
[lkml]   [2000]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] 2.4.0-test6-pre9 and exit_mmap count is -5...
Hi Linus,
I'm not MM guru, but before I added 'mm->mmap_avl = NULL' into kernel/fork.c,
I was not able to run xterm. Kernel spewed out exit_mmap: map count is 5
or exit_mmap: map count is -5 and xterm died after keypress.

My idea is that when mm is copied with memcpy, mmap_avl is not cleared when
process doing fork() has more than 32VMAs, so update VMA code then merges parent
tree with newly built child and wrong things happens (printk here found about
5 occurences of non-NULL mmap_avl during boot...). After this I can run xterm,
but as I said, I'm not MM guru.

Second hunk here I already sent you today morning, it is here only for completness
as I'm ccing this to linux-kernel too.
Best regards,
Petr Vandrovec
vandrove@vc.cvut.cz



diff -urN linux-2.4.0-test6-pre9.dist/kernel/fork.c linux-2.4.0-test6-pre9/kernel/fork.c
--- linux-2.4.0-test6-pre9.dist/kernel/fork.c Wed Aug 9 11:21:28 2000
+++ linux-2.4.0-test6-pre9/kernel/fork.c Wed Aug 9 17:30:48 2000
@@ -132,6 +132,7 @@
mm->locked_vm = 0;
mm->mmap = NULL;
mm->mmap_cache = NULL;
+ mm->mmap_avl = NULL;
mm->map_count = 0;
mm->context = 0;
mm->cpu_vm_mask = 0;
diff -urN linux-2.4.0-test6-pre9.dist/kernel/fork.c linux-2.4.0-test6-pre9/kernel/fork.c
--- linux-2.4.0-test6-pre9.dist/kernel/fork.c Wed Aug 9 11:21:28 2000
@@ -301,7 +302,6 @@
}

retval = -ENOMEM;
- mm = mm_alloc();
mm = allocate_mm();
if (!mm)
goto fail_nomem;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:58    [W:0.089 / U:0.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site