lkml.org 
[lkml]   [2008]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 19/19] UML - Physical memory shouldn't include initial stack
The top of physical memory should be below the initial process stack,
not the top of the address space, at least for as long as the stack
isn't known to the kernel VM system and appropriately reserved.

Cc: "Christopher S. Aker" <caker@theshore.net>
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
---
arch/um/kernel/um_arch.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Index: linux-2.6-git/arch/um/kernel/um_arch.c
===================================================================
--- linux-2.6-git.orig/arch/um/kernel/um_arch.c 2008-04-24 15:16:52.000000000 -0400
+++ linux-2.6-git/arch/um/kernel/um_arch.c 2008-04-24 16:04:52.000000000 -0400
@@ -258,6 +258,7 @@ int __init linux_main(int argc, char **a
{
unsigned long avail, diff;
unsigned long virtmem_size, max_physmem;
+ unsigned long stack;
unsigned int i, add;
char * mode;

@@ -347,7 +348,9 @@ int __init linux_main(int argc, char **a
}

virtmem_size = physmem_size;
- avail = TASK_SIZE - start_vm;
+ stack = (unsigned long) argv;
+ stack &= ~(1024 * 1024 - 1);
+ avail = stack - start_vm;
if (physmem_size > avail)
virtmem_size = avail;
end_vm = start_vm + virtmem_size;

\
 
 \ /
  Last update: 2008-04-25 20:07    [W:0.026 / U:0.424 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site