diff options
author | Fabian Frederick <fabf@skynet.be> | 2015-02-18 00:45:31 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-18 01:34:51 +0300 |
commit | ed3ad79f87f31beed64778af0b29aff3074f700e (patch) | |
tree | 6bf46242e32c441b0e16ff95295507c0323ee833 /fs/reiserfs | |
parent | 61da3ae241f4382e30beb6de06c4dacada37f520 (diff) | |
download | linux-ed3ad79f87f31beed64778af0b29aff3074f700e.tar.xz |
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