From: Nick Piggin Date: Thu, 5 May 2005 23:15:45 +0000 (-0700) Subject: [PATCH] fix race in __block_prepare_write X-Git-Tag: v2.6.12-rc4~71 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3ddbdc6267c32223035ea9bb8456a2d86f65ba1;p=pandora-kernel.git [PATCH] fix race in __block_prepare_write Fix a race where __block_prepare_write can leak out an in-flight read against a bh if get_block returns an error. This can lead to the page becoming unlocked while the buffer is locked and the read still in flight. __mpage_writepage BUGs on this condition. BUG sighted on a 2-way Itanium2 system with 16K PAGE_SIZE running fsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2 where $DIR is a new ext2 filesystem with 4K blocks that is quite small (causing get_block to fail often with -ENOSPC). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed