Messages in this thread | | | Date | Wed, 14 May 2003 10:02:10 -0500 | From | Dave McCracken <> | Subject | Re: Race between vmtruncate and mapped areas? |
| |
--On Tuesday, May 13, 2003 18:10:18 -0700 Andrew Morton <akpm@digeo.com> 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |