--- linux/mm/mremap.c.orig 2004-01-05 17:01:21.382104120 +0000 +++ linux/mm/mremap.c 2004-01-05 17:15:25.689749848 +0000 @@ -315,6 +315,10 @@ old_len = PAGE_ALIGN(old_len); new_len = PAGE_ALIGN(new_len); + /* Don't allow the degenerate cases */ + if (!old_len || !new_len) + goto out; + /* new_addr is only valid if MREMAP_FIXED is specified */ if (flags & MREMAP_FIXED) { if (new_addr & ~PAGE_MASK)