Skip to content

Commit

Permalink
uml: physical memory shouldn't include initial stack
Browse files Browse the repository at this point in the history
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>
Cc: WANG Cong <xiyou.wangcong@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Jeff Dike authored and Linus Torvalds committed May 13, 2008
1 parent a7dfa94 commit 60a2988
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion arch/um/kernel/um_arch.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ int __init linux_main(int argc, char **argv)
{
unsigned long avail, diff;
unsigned long virtmem_size, max_physmem;
unsigned long stack;
unsigned int i;
int add;
char * mode;
Expand Down Expand Up @@ -348,7 +349,9 @@ int __init linux_main(int argc, char **argv)
}

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;
Expand Down

0 comments on commit 60a2988

Please sign in to comment.