diff options
author | Christoph Hellwig <hch@infradead.org> | 2008-05-28 17:29:44 -0400 |
---|---|---|
committer | Chris Wright <chrisw@sous-sol.org> | 2008-06-09 11:27:02 -0700 |
commit | 2486e8fca463e0f9e6edfebe07186cb7478c6a95 (patch) | |
tree | 563911c0c5c723311c6c5706f572d9029670986f /include | |
parent | 6bdb15cddf9d758c825cf28678d1f903104d2134 (diff) |
XFS: Fix memory corruption with small buffer reads
upstream commit: 6ab455eeaff6893cd06da33843e840d888cdc04a
When we have multiple buffers in a single page for a blocksize == pagesize
filesystem we might overwrite the page contents if two callers hit it
shortly after each other. To prevent that we need to keep the page locked
until I/O is completed and the page marked uptodate.
Thanks to Eric Sandeen for triaging this bug and finding a reproducible
testcase and Dave Chinner for additional advice.
This should fix kernel.org bz #10421.
Tested-by: Eric Sandeen <sandeen@sandeen.net>
SGI-PV: 981813
SGI-Modid: xfs-linux-melb:xfs-kern:31173a
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions