DescriptionEugene Teo (Security Response)
2010-02-22 05:48:11 UTC
Description of problem:
The VM/VFS does not allow mapping->a_ops->invalidatepage() to fail. Unfortunately, nfs_wb_page_cancel() may fail if a fatal signal occurs. Since the NFS code assumes that the page stays mapped for as long as the writeback is active, we can end up Oopsing (among other things).
The only safe fix here is to convert nfs_wait_on_request(), so as to make it uninterruptible (as is already the case with wait_on_page_writeback()).
Upstream commit:
http://git.kernel.org/linus/9f557cd8073104b39528794d44e129331ded649f
Comment 2Eugene Teo (Security Response)
2010-03-03 09:35:41 UTC
*** Bug 570093 has been marked as a duplicate of this bug. ***