On Thu, 4 Feb 2010 11:18:54 +0800 Wu Fengguang <fengguang.wu@xxxxxxxxx> 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@xxxxxxxxx> wrote: > > > > > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> > > > > > > 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@xxxxxxxxxx> > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html