[PATCH] ext3_orphan_del may double-decrement bh->b_count
From: Jeff Mahoney <jeffm@suse.com>
Chris Mason and I ran across this one while hunting down another bug.
If ext3_mark_iloc_dirty() fails in ext3_orphan_del() on the outer buffer,
bh->b_count will be decremented twice. ext3_mark_iloc_dirty() will brelse
the buffer, even on error. ext3_orphan_del() is explicity brelse'ing the
buffer on error. Prior to calling ext3_mark_iloc_dirty(), this is the
correct behavior.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>