summaryrefslogtreecommitdiff
path: root/fs/befs
diff options
context:
space:
mode:
authorLuis de Bethencourt <luisbg@osg.samsung.com>2016-07-23 22:36:42 +1000
committerLuis de Bethencourt <luisbg@osg.samsung.com>2016-10-08 10:01:10 +0100
commit173b066f5826e8eca9b67e8091cab67fcda74f2f (patch)
tree3b0253b2a43b5bcb782fae892535614bdb6e255f /fs/befs
parentc08f1cb627c43d7b0a1d04a5a0efaf385f0391ad (diff)
downloadlinux-exynos-173b066f5826e8eca9b67e8091cab67fcda74f2f.tar.gz
linux-exynos-173b066f5826e8eca9b67e8091cab67fcda74f2f.tar.bz2
linux-exynos-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>
Diffstat (limited to 'fs/befs')
-rw-r--r--fs/befs/linuxvfs.c7
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)