From: Hugh Dickins ARM define FIRST_USER_ADDRESS as PAGE_SIZE (beyond the machine vectors when they are mapped low), and use that definition in place of locally defined MIN_MAP_ADDR. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton --- 25-akpm/arch/arm/kernel/sys_arm.c | 11 ++--------- 25-akpm/include/asm-arm/pgtable.h | 7 +++++++ 2 files changed, 9 insertions(+), 9 deletions(-) diff -puN arch/arm/kernel/sys_arm.c~freepgt2-arm-first_user_address-page_size arch/arm/kernel/sys_arm.c --- 25/arch/arm/kernel/sys_arm.c~freepgt2-arm-first_user_address-page_size 2005-04-06 18:22:06.000000000 -0700 +++ 25-akpm/arch/arm/kernel/sys_arm.c 2005-04-06 18:22:06.000000000 -0700 @@ -51,13 +51,6 @@ asmlinkage int sys_pipe(unsigned long __ return error; } -/* - * This is the lowest virtual address we can permit any user space - * mapping to be mapped at. This is particularly important for - * non-high vector CPUs. - */ -#define MIN_MAP_ADDR (PAGE_SIZE) - /* common code for old and new mmaps */ inline long do_mmap2( unsigned long addr, unsigned long len, @@ -69,7 +62,7 @@ inline long do_mmap2( flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); - if (flags & MAP_FIXED && addr < MIN_MAP_ADDR) + if (flags & MAP_FIXED && addr < FIRST_USER_ADDRESS) goto out; error = -EBADF; @@ -122,7 +115,7 @@ sys_arm_mremap(unsigned long addr, unsig { unsigned long ret = -EINVAL; - if (flags & MREMAP_FIXED && new_addr < MIN_MAP_ADDR) + if (flags & MREMAP_FIXED && new_addr < FIRST_USER_ADDRESS) goto out; down_write(¤t->mm->mmap_sem); diff -puN include/asm-arm/pgtable.h~freepgt2-arm-first_user_address-page_size include/asm-arm/pgtable.h --- 25/include/asm-arm/pgtable.h~freepgt2-arm-first_user_address-page_size 2005-04-06 18:22:06.000000000 -0700 +++ 25-akpm/include/asm-arm/pgtable.h 2005-04-06 18:22:06.000000000 -0700 @@ -102,6 +102,13 @@ extern void __pgd_error(const char *file #define PGDIR_SIZE (1UL << PGDIR_SHIFT) #define PGDIR_MASK (~(PGDIR_SIZE-1)) +/* + * This is the lowest virtual address we can permit any user space + * mapping to be mapped at. This is particularly important for + * non-high vector CPUs. + */ +#define FIRST_USER_ADDRESS PAGE_SIZE + #define FIRST_USER_PGD_NR 1 #define USER_PTRS_PER_PGD ((TASK_SIZE/PGDIR_SIZE) - FIRST_USER_PGD_NR) _