[PATCH] 2.4.0-test6-pre9 and exit_mmap count is -5...

From: Petr Vandrovec (vandrove@vc.cvut.cz)
Date: Wed Aug 09 2000 - 10:37:51 EST


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/



This archive was generated by hypermail 2b29 : Tue Aug 15 2000 - 21:00:18 EST