(Adding stable and Andrew in Cc) On Mon, Jan 10, 2011 at 09:42:29AM -0500, Dave Anderson wrote: > From: Dave Anderson <[email protected]> > > 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 <[email protected]> > Cc: Frederic Weisbecker <[email protected]>
Acked-by: Frederic Weisbecker <[email protected]> In the longer term, I guess default_llseek should disappear and replaced with generic_file_llseek(), tweaking the sb->s_maxbytes with the appropriate values in each filesystems. Thanks for this fix! > --- 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 _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
