diff options
Diffstat (limited to 'fs/jfs')
-rw-r--r-- | fs/jfs/super.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/fs/jfs/super.c b/fs/jfs/super.c index ec8c3e4baca3..eb31f677347d 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c | |||
@@ -438,14 +438,20 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) | |||
438 | s64 newLVSize = 0; | 438 | s64 newLVSize = 0; |
439 | int flag, ret = -EINVAL; | 439 | int flag, ret = -EINVAL; |
440 | 440 | ||
441 | lock_kernel(); | ||
442 | |||
441 | jfs_info("In jfs_read_super: s_flags=0x%lx", sb->s_flags); | 443 | jfs_info("In jfs_read_super: s_flags=0x%lx", sb->s_flags); |
442 | 444 | ||
443 | if (!new_valid_dev(sb->s_bdev->bd_dev)) | 445 | if (!new_valid_dev(sb->s_bdev->bd_dev)) { |
446 | unlock_kernel(); | ||
444 | return -EOVERFLOW; | 447 | return -EOVERFLOW; |
448 | } | ||
445 | 449 | ||
446 | sbi = kzalloc(sizeof (struct jfs_sb_info), GFP_KERNEL); | 450 | sbi = kzalloc(sizeof (struct jfs_sb_info), GFP_KERNEL); |
447 | if (!sbi) | 451 | if (!sbi) { |
452 | unlock_kernel(); | ||
448 | return -ENOMEM; | 453 | return -ENOMEM; |
454 | } | ||
449 | sb->s_fs_info = sbi; | 455 | sb->s_fs_info = sbi; |
450 | sbi->sb = sb; | 456 | sbi->sb = sb; |
451 | sbi->uid = sbi->gid = sbi->umask = -1; | 457 | sbi->uid = sbi->gid = sbi->umask = -1; |
@@ -542,6 +548,7 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) | |||
542 | sb->s_maxbytes = min(((u64) PAGE_CACHE_SIZE << 32) - 1, (u64)sb->s_maxbytes); | 548 | sb->s_maxbytes = min(((u64) PAGE_CACHE_SIZE << 32) - 1, (u64)sb->s_maxbytes); |
543 | #endif | 549 | #endif |
544 | sb->s_time_gran = 1; | 550 | sb->s_time_gran = 1; |
551 | unlock_kernel(); | ||
545 | return 0; | 552 | return 0; |
546 | 553 | ||
547 | out_no_root: | 554 | out_no_root: |
@@ -564,6 +571,7 @@ out_unload: | |||
564 | unload_nls(sbi->nls_tab); | 571 | unload_nls(sbi->nls_tab); |
565 | out_kfree: | 572 | out_kfree: |
566 | kfree(sbi); | 573 | kfree(sbi); |
574 | unlock_kernel(); | ||
567 | return ret; | 575 | return ret; |
568 | } | 576 | } |
569 | 577 | ||