uml: remove PAGE_SIZE from libc code
Distros seem to be removing PAGE_SIZE from asm/page.h. So, the libc side of UML should stop using it. I replace it with UM_KERN_PAGE_SIZE, which is defined to be the same as PAGE_SIZE on the kernel side of the house. I could also use getpagesize(), but it's more important that UML have the same value of PAGE_SIZE everywhere. It's conceivable that it could be built with a larger PAGE_SIZE, and use of getpagesize() would break that badly. PAGE_MASK got the same treatment, as it is closely tied to PAGE_SIZE. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

gecommit door
Linus Torvalds

bovenliggende
f5a9c77df4
commit
c539ab7307
@@ -107,11 +107,12 @@ static int start_ptraced_child(void **stack_out)
|
||||
unsigned long sp;
|
||||
int pid, n, status;
|
||||
|
||||
stack = mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC,
|
||||
stack = mmap(NULL, UM_KERN_PAGE_SIZE,
|
||||
PROT_READ | PROT_WRITE | PROT_EXEC,
|
||||
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
|
||||
if(stack == MAP_FAILED)
|
||||
fatal_perror("check_ptrace : mmap failed");
|
||||
sp = (unsigned long) stack + PAGE_SIZE - sizeof(void *);
|
||||
sp = (unsigned long) stack + UM_KERN_PAGE_SIZE - sizeof(void *);
|
||||
pid = clone(ptrace_child, (void *) sp, SIGCHLD, NULL);
|
||||
if(pid < 0)
|
||||
fatal_perror("start_ptraced_child : clone failed");
|
||||
@@ -153,7 +154,7 @@ static int stop_ptraced_child(int pid, void *stack, int exitcode,
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
if(munmap(stack, PAGE_SIZE) < 0)
|
||||
if(munmap(stack, UM_KERN_PAGE_SIZE) < 0)
|
||||
fatal_perror("check_ptrace : munmap failed");
|
||||
return ret;
|
||||
}
|
||||
|
Verwijs in nieuw issue
Block a user