summaryrefslogtreecommitdiffstats
path: root/fs/bfs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/bfs/inode.c')
-rw-r--r--fs/bfs/inode.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/bfs/inode.c b/fs/bfs/inode.c
index 9a69392f1fb3..d81c148682e7 100644
--- a/fs/bfs/inode.c
+++ b/fs/bfs/inode.c
@@ -350,7 +350,8 @@ static int bfs_fill_super(struct super_block *s, void *data, int silent)
350 350
351 s->s_magic = BFS_MAGIC; 351 s->s_magic = BFS_MAGIC;
352 352
353 if (le32_to_cpu(bfs_sb->s_start) > le32_to_cpu(bfs_sb->s_end)) { 353 if (le32_to_cpu(bfs_sb->s_start) > le32_to_cpu(bfs_sb->s_end) ||
354 le32_to_cpu(bfs_sb->s_start) < BFS_BSIZE) {
354 printf("Superblock is corrupted\n"); 355 printf("Superblock is corrupted\n");
355 goto out1; 356 goto out1;
356 } 357 }
@@ -359,9 +360,11 @@ static int bfs_fill_super(struct super_block *s, void *data, int silent)
359 sizeof(struct bfs_inode) 360 sizeof(struct bfs_inode)
360 + BFS_ROOT_INO - 1; 361 + BFS_ROOT_INO - 1;
361 imap_len = (info->si_lasti / 8) + 1; 362 imap_len = (info->si_lasti / 8) + 1;
362 info->si_imap = kzalloc(imap_len, GFP_KERNEL); 363 info->si_imap = kzalloc(imap_len, GFP_KERNEL | __GFP_NOWARN);
363 if (!info->si_imap) 364 if (!info->si_imap) {
365 printf("Cannot allocate %u bytes\n", imap_len);
364 goto out1; 366 goto out1;
367 }
365 for (i = 0; i < BFS_ROOT_INO; i++) 368 for (i = 0; i < BFS_ROOT_INO; i++)
366 set_bit(i, info->si_imap); 369 set_bit(i, info->si_imap);
367 370