Re: [PATCH] get_user_pages(..., write==1, ...) may return with readable pte.

From: Nick Piggin
Date: Sun Oct 15 2006 - 04:04:47 EST


On Sat, Oct 14, 2006 at 05:15:07AM -0500, Robin Holt wrote:
> > dup_mmap holds mmap_sem for write. get_user_pages caller must hold it
> > for read.
>
> I could have sworn I checked for that and found a down_read(), but
> now that I look when I have some time, it is clearly a down_write().
> Sorry for the distraction.

I'm one to do the same thing, don't worry ;)

> It is a user job that is passing data between hosts. The host is
> under heavy memory pressure and one rank of the MPI job gets silent
> data corruption.

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=016eb4a0ed06a3677d67a584da901f0e9a63c666

It could be this? inode reclaim calls invalidate_inode_pages, so this
one is a memory corrupter under heavy reclaim pressure.


>
> Thanks and sorry for wasting your time,

Not at all, my pleasure.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/