From: Jeff D. <jd...@ka...> - 2000-05-24 16:31:28
|
I reproduced this problem on sourceforge. The kernel looks at its own maps when it starts up because it needs to fiddle the shareability of its data and to mark those parts of its address space off-limits for mmap. In arch/um/kernel/tlb.c, it reads its maps into a fixed-length array, and panics if it find too many. For some reason, when you compile locally, you get a different number of maps than when you use the precompiled binaries. For now, apply this patch: --- arch/um/kernel/tlb.c~ Wed May 24 09:09:49 2000 +++ arch/um/kernel/tlb.c Wed May 24 09:23:39 2000 @@ -179,7 +179,7 @@ /* text, data, init_task, data, bss, physical memory in three chunks, virtual memory area, stack */ -static struct vm_area_struct process_vmas[10 * (NESTING + 1)]; +static struct vm_area_struct process_vmas[20 * (NESTING + 1)]; static int num_process_vmas = 0; void add_perm_vma(unsigned long start, unsigned long end, char rperm, I'll figure out a better way of doing this later. Jeff |