diff -urN linux-2.6.10-rc3-mm1/arch/i386/mm/init.c linux-2.6.10-rc3-no1/arch/i386/mm/init.c
--- linux-2.6.10-rc3-mm1/arch/i386/mm/init.c	2004-12-16 23:01:41.495155526 -0500
+++ linux-2.6.10-rc3-no1/arch/i386/mm/init.c	2004-12-16 22:30:05.775701897 -0500
@@ -41,6 +41,7 @@
 #include <asm/sections.h>
 
 unsigned int __VMALLOC_RESERVE = 128 << 20;
+EXPORT_SYMBOL(__VMALLOC_RESERVE);
 
 DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
 unsigned long highstart_pfn, highend_pfn;
diff -urN linux-2.6.10-rc3-mm1/mm/mmap.c linux-2.6.10-rc3-no1/mm/mmap.c
--- linux-2.6.10-rc3-mm1/mm/mmap.c	2004-12-16 23:01:41.504154236 -0500
+++ linux-2.6.10-rc3-no1/mm/mmap.c	2004-12-16 22:27:32.819481705 -0500
@@ -1026,7 +1026,8 @@
 	__vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT);
 	if (vm_flags & VM_LOCKED) {
 		mm->locked_vm += len >> PAGE_SHIFT;
-		make_pages_present(addr, addr + len);
+		if (!(vm_flags & VM_IO))
+			make_pages_present(addr, addr + len);
 	}
 	if (flags & MAP_POPULATE) {
 		up_write(&mm->mmap_sem);
