patch-2.4.0-test6 linux/fs/proc/kcore.c

Next file: linux/fs/ramfs/inode.c
Previous file: linux/fs/proc/array.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/fs/proc/kcore.c linux/fs/proc/kcore.c
@@ -17,6 +17,7 @@
 #include <linux/elfcore.h>
 #include <linux/vmalloc.h>
 #include <asm/uaccess.h>
+#include <asm/io.h>
 
 
 static int open_kcore(struct inode * inode, struct file * filp)
@@ -47,7 +48,7 @@
 
 	memset(&dump, 0, sizeof(struct user));
 	dump.magic = CMAGIC;
-	dump.u_dsize = max_mapnr;
+	dump.u_dsize = (virt_to_phys(high_memory) >> PAGE_SHIFT);
 #if defined (__i386__)
 	dump.start_code = PAGE_OFFSET;
 #endif
@@ -55,7 +56,7 @@
 	dump.start_data = PAGE_OFFSET;
 #endif
 
-	memsize = (max_mapnr + 1) << PAGE_SHIFT;
+	memsize = virt_to_phys(high_memory);
 	if (p >= memsize)
 		return 0;
 	if (count > memsize - p)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)