diff options
Diffstat (limited to 'fs/smbfs/inode.c')
-rw-r--r-- | fs/smbfs/inode.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/smbfs/inode.c b/fs/smbfs/inode.c index 450c91941988..8fc5e50e142f 100644 --- a/fs/smbfs/inode.c +++ b/fs/smbfs/inode.c | |||
@@ -501,6 +501,8 @@ static int smb_fill_super(struct super_block *sb, void *raw_data, int silent) | |||
501 | void *mem; | 501 | void *mem; |
502 | static int warn_count; | 502 | static int warn_count; |
503 | 503 | ||
504 | lock_kernel(); | ||
505 | |||
504 | if (warn_count < 5) { | 506 | if (warn_count < 5) { |
505 | warn_count++; | 507 | warn_count++; |
506 | printk(KERN_EMERG "smbfs is deprecated and will be removed" | 508 | printk(KERN_EMERG "smbfs is deprecated and will be removed" |
@@ -621,6 +623,7 @@ static int smb_fill_super(struct super_block *sb, void *raw_data, int silent) | |||
621 | 623 | ||
622 | smb_new_dentry(sb->s_root); | 624 | smb_new_dentry(sb->s_root); |
623 | 625 | ||
626 | unlock_kernel(); | ||
624 | return 0; | 627 | return 0; |
625 | 628 | ||
626 | out_no_root: | 629 | out_no_root: |
@@ -643,9 +646,11 @@ out_wrong_data: | |||
643 | out_no_data: | 646 | out_no_data: |
644 | printk(KERN_ERR "smb_fill_super: missing data argument\n"); | 647 | printk(KERN_ERR "smb_fill_super: missing data argument\n"); |
645 | out_fail: | 648 | out_fail: |
649 | unlock_kernel(); | ||
646 | return -EINVAL; | 650 | return -EINVAL; |
647 | out_no_server: | 651 | out_no_server: |
648 | printk(KERN_ERR "smb_fill_super: cannot allocate struct smb_sb_info\n"); | 652 | printk(KERN_ERR "smb_fill_super: cannot allocate struct smb_sb_info\n"); |
653 | unlock_kernel(); | ||
649 | return -ENOMEM; | 654 | return -ENOMEM; |
650 | } | 655 | } |
651 | 656 | ||