summaryrefslogtreecommitdiffstats
path: root/fs/reiserfs
diff options
context:
space:
mode:
authorFabian Frederick <fabf@skynet.be>2015-02-17 22:45:31 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-17 23:34:51 +0100
commited3ad79f87f31beed64778af0b29aff3074f700e (patch)
tree6bf46242e32c441b0e16ff95295507c0323ee833 /fs/reiserfs
parentfs/ufs/super.c: remove unnecessary casting (diff)
downloadlinux-ed3ad79f87f31beed64778af0b29aff3074f700e.tar.xz
linux-ed3ad79f87f31beed64778af0b29aff3074f700e.zip
fs/ufs/super.c: fix potential race condition
Let locking subsystem decide on mutex management. As reported by Andrew Morton this patch fixes a bug: : lock_ufs() is assuming that on non-preempt uniprocessor, the calling : code will run atomically up to the matching unlock_ufs(). : : But that isn't true. The very first site I looked at (ufs_frag_map) : does sb_bread() under lock_ufs(). And sb_bread() will call schedule(), : very commonly. : : The ->mutex_owner stuff is a bit hacky but should work OK. Signed-off-by: Fabian Frederick <fabf@skynet.be> Cc: Evgeniy Dushistov <dushistov@mail.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/reiserfs')
0 files changed, 0 insertions, 0 deletions