On Mon, May 16, 2011 at 06:27:17PM -0700, Kevin Cernekee wrote: > >> +#ifdef CONFIG_32BIT > >> + task_size = TASK_SIZE; > >> +#else /* Must be CONFIG_64BIT*/ > >> + task_size = test_thread_flag(TIF_32BIT_ADDR) ? TASK_SIZE32 : > >> TASK_SIZE; > >> +#endif > > Can the "#else" clause and "task_size" local variable be eliminated? > TASK_SIZE now performs this check automatically (although that wasn't > always the case). As noticed by Kevin Cernekee <cernekee@xxxxxxxxx> in http://www.linux-mips.org/cgi-bin/extract-mesg.cgi?a=linux-mips&m=2011-05&i=BANLkTikq04wuK%3Dbz%2BLieavmm3oDtoYWKxg%40mail.gmail.com Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> arch/mips/kernel/syscall.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) Index: linux-queue/arch/mips/kernel/syscall.c =================================================================== --- linux-queue.orig/arch/mips/kernel/syscall.c +++ linux-queue/arch/mips/kernel/syscall.c @@ -79,20 +79,13 @@ unsigned long arch_get_unmapped_area(str { struct vm_area_struct * vmm; int do_color_align; - unsigned long task_size; -#ifdef CONFIG_32BIT - task_size = TASK_SIZE; -#else /* Must be CONFIG_64BIT*/ - task_size = test_thread_flag(TIF_32BIT_ADDR) ? TASK_SIZE32 : TASK_SIZE; -#endif - - if (len > task_size) + if (len > TASK_SIZE) return -ENOMEM; if (flags & MAP_FIXED) { - /* Even MAP_FIXED mappings must reside within task_size. */ - if (task_size - len < addr) + /* Even MAP_FIXED mappings must reside within TASK_SIZE. */ + if (TASK_SIZE - len < addr) return -EINVAL; /* @@ -114,7 +107,7 @@ unsigned long arch_get_unmapped_area(str else addr = PAGE_ALIGN(addr); vmm = find_vma(current->mm, addr); - if (task_size - len >= addr && + if (TASK_SIZE - len >= addr && (!vmm || addr + len <= vmm->vm_start)) return addr; } @@ -126,7 +119,7 @@ unsigned long arch_get_unmapped_area(str for (vmm = find_vma(current->mm, addr); ; vmm = vmm->vm_next) { /* At this point: (!vmm || addr < vmm->vm_end). */ - if (task_size - len < addr) + if (TASK_SIZE - len < addr) return -ENOMEM; if (!vmm || addr + len <= vmm->vm_start) return addr;