diff -ur linux-109/mm/mmap.c linux/mm/mmap.c
--- linux-109/mm/mmap.c	Fri Feb  4 20:59:35 1994
+++ linux/mm/mmap.c	Sun Feb 15 19:01:55 1998
@@ -51,6 +51,13 @@
 		return -EINVAL;
 
 	/*
+	 * XXX - Why is the load_elf_lib routine calling us
+	 * with PROT_NONE ?
+	 */
+	if (prot == PROT_NONE)
+		prot = (PROT_READ | PROT_WRITE | PROT_EXEC);
+
+	/*
 	 * do simple checking here so the lower-level routines won't have
 	 * to. we assume access permissions have been handled by the open
 	 * of the memory object, so we don't do any here.