diff options
author | Jeff Mahoney <jeffm@suse.com> | 2006-11-03 07:07:20 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-03 21:27:58 +0100 |
commit | d2c89a4284ea4ecfba77c6f2d7d6f96d52e801e5 (patch) | |
tree | f51cc68a56a52cad0fd91a33c6a86821bf9abf31 /fs/reiserfs | |
parent | [PATCH] spi section fix (diff) | |
download | linux-d2c89a4284ea4ecfba77c6f2d7d6f96d52e801e5.tar.xz linux-d2c89a4284ea4ecfba77c6f2d7d6f96d52e801e5.zip |
[PATCH] reiserfs: reset errval after initializing bitmap cache
Callers after reiserfs_init_bitmap_cache() expect errval to contain -EINVAL
until much later. If a condition fails before errval is reset later,
reiserfs_fill_super() will mistakenly return 0, causing an Oops in
do_add_mount(). This patch resets errval to -EINVAL after the call.
I view this as a temporary fix and real error codes should be used
throughout reiserfs_fill_super().
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/reiserfs')
-rw-r--r-- | fs/reiserfs/super.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 9041802df832..17249994110f 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -1619,6 +1619,7 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent) "jmacd-8: reiserfs_fill_super: unable to read bitmap"); goto error; } + errval = -EINVAL; #ifdef CONFIG_REISERFS_CHECK SWARN(silent, s, "CONFIG_REISERFS_CHECK is set ON"); SWARN(silent, s, "- it is slow mode for debugging."); |