patch-1.3.69 linux/mm/mmap.c
Next file: linux/mm/page_io.c
Previous file: linux/mm/mlock.c
Back to the patch index
Back to the overall index
-  Lines: 23
 -  Date:
Sun Feb 25 11:17:59 1996
 -  Orig file: 
v1.3.68/linux/mm/mmap.c
 -  Orig date: 
Tue Feb 20 14:37:29 1996
 
diff -u --recursive --new-file v1.3.68/linux/mm/mmap.c linux/mm/mmap.c
@@ -208,18 +208,13 @@
 		addr = TASK_SIZE / 3;
 	addr = PAGE_ALIGN(addr);
 
-	for (vmm = current->mm->mmap; ; vmm = vmm->vm_next) {
+	for (vmm = find_vma(current, addr); ; vmm = vmm->vm_next) {
+		/* At this point:  (!vmm || addr < vmm->vm_end). */
 		if (TASK_SIZE - len < addr)
 			return 0;
-		if (!vmm)
+		if (!vmm || addr + len <= vmm->vm_start)
 			return addr;
-		if (addr > vmm->vm_end)
-			continue;
-		if (addr + len > vmm->vm_start) {
-			addr = vmm->vm_end;
-			continue;
-		}
-		return addr;
+		addr = vmm->vm_end;
 	}
 }
 
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this