--- linux-2.6.6/mm/mremap.c.old 2004-06-14 19:48:36.000000000 +0400 +++ linux-2.6.6/mm/mremap.c 2004-06-19 11:54:28.508681472 +0400 @@ -320,7 +320,7 @@ if (old_len > vma->vm_end - addr) goto out; if (vma->vm_flags & VM_DONTEXPAND) { - if (new_len > old_len) + if (new_len > vma->vm_end - addr) goto out; } if (vma->vm_flags & VM_LOCKED) {