Messages in this thread Patch in this message | | | Date | Wed, 9 Aug 2000 17:37:51 +0200 | From | Petr Vandrovec <> | 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/
| |