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 | ||
