[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110111005256.GC2570@nowhere>
Date: Tue, 11 Jan 2011 01:52:59 +0100
From: Frederic Weisbecker <fweisbec@...il.com>
To: Dave Anderson <anderson@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, stable@...nel.org
Subject: Re: [PATCH] /proc/kcore: fix seeking
(Adding stable and Andrew in Cc)
On Mon, Jan 10, 2011 at 09:42:29AM -0500, Dave Anderson wrote:
> From: Dave Anderson <anderson@...hat.com>
>
> 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@...hat.com>
> Cc: Frederic Weisbecker <fweisbec@...il.com>
Acked-by: Frederic Weisbecker <fweisbec@...il.com>
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists