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@gmail.com> 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@linux-mips.org>
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;
|