diff options
author | Luis de Bethencourt <luisbg@osg.samsung.com> | 2016-07-23 22:36:42 +1000 |
---|---|---|
committer | Luis de Bethencourt <luisbg@osg.samsung.com> | 2016-10-08 10:01:10 +0100 |
commit | 173b066f5826e8eca9b67e8091cab67fcda74f2f (patch) | |
tree | 3b0253b2a43b5bcb782fae892535614bdb6e255f | |
parent | c08f1cb627c43d7b0a1d04a5a0efaf385f0391ad (diff) | |
download | linux-173b066f5826e8eca9b67e8091cab67fcda74f2f.tar.gz linux-173b066f5826e8eca9b67e8091cab67fcda74f2f.tar.bz2 linux-173b066f5826e8eca9b67e8091cab67fcda74f2f.zip |
befs: check return of sb_min_blocksize
Confirm sb_min_blocksize() succeeded before continuing.
Link: http://lkml.kernel.org/r/1465700235-22881-1-git-send-email-luisbg@osg.samsung.com
Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r-- | fs/befs/linuxvfs.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c index c734f21fd581..453bb68da219 100644 --- a/fs/befs/linuxvfs.c +++ b/fs/befs/linuxvfs.c @@ -756,6 +756,7 @@ befs_fill_super(struct super_block *sb, void *data, int silent) long ret = -EINVAL; const unsigned long sb_block = 0; const off_t x86_sb_off = 512; + int blocksize; save_mount_options(sb, data); @@ -788,7 +789,11 @@ befs_fill_super(struct super_block *sb, void *data, int silent) * least 1k to get the second 512 bytes of the volume. * -WD 10-26-01 */ - sb_min_blocksize(sb, 1024); + blocksize = sb_min_blocksize(sb, 1024); + if (!blocksize) { + befs_error(sb, "unable to set blocksize"); + goto unacquire_priv_sbp; + } if (!(bh = sb_bread(sb, sb_block))) { if (!silent) |