OpenCloudOS-Kernel/fs/befs
Fabian Frederick 8e19189ef8 fs/befs/linuxvfs.c: check superblock before dump operation
befs_dump_super_block was called between befs_load_sb and befs_check_sb.
It has been reported to crash (5/900) with null block testing.

This patch loads, checks and only dump superblock if it's a valid one
then brelse bh.

(befs_dump_super_block uses disk_sb (bh->b_data) so it seems we need to
call it before brelse(bh) but I don't know why befs_check_sb was called
after brelse.  Another thing I don't understand is why this problem
appears now).

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-08-08 15:57:20 -07:00
..
ChangeLog Fix common misspellings 2011-03-31 11:26:23 -03:00
Kconfig fs/befs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:04 -08:00
Makefile BEFS: logging cleanup 2014-04-03 16:21:25 -07:00
TODO Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
befs.h BEFS: logging cleanup 2014-04-03 16:21:25 -07:00
befs_fs_types.h Fix common misspellings 2011-03-31 11:26:23 -03:00
btree.c fs/befs: kernel-doc fixes 2014-06-06 16:08:09 -07:00
btree.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
datastream.c fs/befs: kernel-doc fixes 2014-06-06 16:08:09 -07:00
datastream.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
debug.c BEFS: logging cleanup 2014-04-03 16:21:25 -07:00
endian.h befs: don't pass huge structs by value 2011-01-13 08:03:15 -08:00
inode.c BEFS: logging cleanup 2014-04-03 16:21:25 -07:00
inode.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io.c BEFS: logging cleanup 2014-04-03 16:21:25 -07:00
io.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
linuxvfs.c fs/befs/linuxvfs.c: check superblock before dump operation 2014-08-08 15:57:20 -07:00
super.c befs: fix build on parisc 2009-04-08 10:21:43 -07:00
super.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00