Messages in this thread | | | Date | Thu, 4 Feb 2010 12:27:42 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [stable] [PATCH] devmem: check vmalloc address on kmem read/write |
| |
On Thu, 4 Feb 2010 11:18:54 +0800 Wu Fengguang <fengguang.wu@intel.com> wrote:
> On Thu, Feb 04, 2010 at 10:58:01AM +0800, KAMEZAWA Hiroyuki wrote: > > On Thu, 4 Feb 2010 10:42:02 +0800 > > Wu Fengguang <fengguang.wu@intel.com> wrote: > > > > > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > > > > > > commit 325fda71d0badc1073dc59f12a948f24ff05796a upstream. > > > > > > Otherwise vmalloc_to_page() will BUG(). > > > > > > This also makes the kmem read/write implementation aligned with mem(4): > > > "References to nonexistent locations cause errors to be returned." Here > > > we return -ENXIO (inspired by Hugh) if no bytes have been transfered > > > to/from user space, otherwise return partial read/write results. > > > > > > > Wu-san, I have additonal fix to this patch. Now, *ppos update is unstable.. > > Could you make merged one ? > > Maybe this one makes the all behavior clearer. > > > > == > > This is a more fix for devmem-check-vmalloc-address-on-kmem-read-write.patch > > Now, the condition for updating *ppos is not good. (it's updated even if EFAULT > > occurs..). This fixes that. > > > > > > Reported-by: "Juha Leppanen" <juha_motorsportcom@luukku.com> > > Sorry, can you elaborate the problem? How it break the application? > > It looks that do_generic_file_read() also updates *ppos progressively, > no one complains about that. > Ah...it seems I misunderstood something...ok, *ppos should be updated every time.
I startted from adding comment on following line and got into a maze.
> return (virtr + wrote) ? : err;
Sorry for noise.
-Kame
| |