[PATCH] /proc/kcore: fix seeking

From: Dave Anderson
Date: Mon Jan 10 2011 - 09:42:36 EST


From: Dave Anderson <anderson@xxxxxxxxxx>

Commit 34aacb2920667d405a8df15968b7f71ba46c8f18
("procfs: Use generic_file_llseek in /proc/kcore")
broke seeking on /proc/kcore. This changes it back
to use default_llseek in order to restore the original
behavior.

The problem with generic_file_llseek is that it only
allows seeks up to inode->i_sb->s_maxbytes, which is
2GB-1 on procfs, where the memory file offset values in
the /proc/kcore PT_LOAD segments may exceed or start
beyond that offset value.

A similar revert was made for /proc/vmcore.

Signed-off-by: Dave Anderson <anderson@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
--
--- linux-2.6.37/fs/proc/kcore.c.orig
+++ linux-2.6.37/fs/proc/kcore.c
@@ -558,7 +558,7 @@ static int open_kcore(struct inode *inod
static const struct file_operations proc_kcore_operations = {
.read = read_kcore,
.open = open_kcore,
- .llseek = generic_file_llseek,
+ .llseek = default_llseek,
};

#ifdef CONFIG_MEMORY_HOTPLUG