Thread (47 messages) 47 messages, 7 authors, 2003-05-17

Re: Race between vmtruncate and mapped areas?

From: Dave McCracken <hidden>
Date: 2003-05-14 14:49:42
Also in: lkml

--On Tuesday, May 13, 2003 18:10:18 -0700 Andrew Morton [off-list ref]
wrote:
That's the one.  Process is sleeping on I/O in filemap_nopage(), wakes up
after the truncate has done its thing and the page gets instantiated in
pagetables.

But it's an anon page now.  So the application (which was racy anyway)
gets itself an anonymous page.
Which the application thinks is still part of the file, and will expect its
changes to be written back.  Granted, if the page fault occurred just after
the truncate it'd get SIGBUS, so it's clearly not a robust assumption, but
it will result in unexpected behavior.  Note that if the application later
extends the file to include this page it could result in a corrupted file,
since all the pages around it will be written properly.

Dave

======================================================================
Dave McCracken          IBM Linux Base Kernel Team      1-512-838-3059
dmccr@us.ibm.com                                        T/L   678-3059

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help