[PATCH 1/3] befs: check return of sb_min_blocksize

From: Luis de Bethencourt
Date: Sat Jun 11 2016 - 22:57:28 EST


Confirm sb_min_blocksize() succeeded before continuing.

Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx>
---
Hi,

This is the main fix I wanted to send. I noticed other file systems check
the return of sb_min_blocksize(), it can fail so it is worth checking before
continuing.

Thanks :)
Luis

fs/befs/linuxvfs.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c
index c734f21..453bb68 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)
--
2.5.1