diff options
Diffstat (limited to 'fs/udf/super.c')
-rw-r--r-- | fs/udf/super.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c index e54960c0e960..f06cc67cf864 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c | |||
@@ -568,12 +568,14 @@ static int udf_remount_fs(struct super_block *sb, int *flags, char *options) | |||
568 | return -EINVAL; | 568 | return -EINVAL; |
569 | 569 | ||
570 | lock_kernel(); | 570 | lock_kernel(); |
571 | write_lock(&sbi->s_cred_lock); | ||
571 | sbi->s_flags = uopt.flags; | 572 | sbi->s_flags = uopt.flags; |
572 | sbi->s_uid = uopt.uid; | 573 | sbi->s_uid = uopt.uid; |
573 | sbi->s_gid = uopt.gid; | 574 | sbi->s_gid = uopt.gid; |
574 | sbi->s_umask = uopt.umask; | 575 | sbi->s_umask = uopt.umask; |
575 | sbi->s_fmode = uopt.fmode; | 576 | sbi->s_fmode = uopt.fmode; |
576 | sbi->s_dmode = uopt.dmode; | 577 | sbi->s_dmode = uopt.dmode; |
578 | write_unlock(&sbi->s_cred_lock); | ||
577 | 579 | ||
578 | if (sbi->s_lvid_bh) { | 580 | if (sbi->s_lvid_bh) { |
579 | int write_rev = le16_to_cpu(udf_sb_lvidiu(sbi)->minUDFWriteRev); | 581 | int write_rev = le16_to_cpu(udf_sb_lvidiu(sbi)->minUDFWriteRev); |
@@ -1960,6 +1962,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent) | |||
1960 | sbi->s_fmode = uopt.fmode; | 1962 | sbi->s_fmode = uopt.fmode; |
1961 | sbi->s_dmode = uopt.dmode; | 1963 | sbi->s_dmode = uopt.dmode; |
1962 | sbi->s_nls_map = uopt.nls_map; | 1964 | sbi->s_nls_map = uopt.nls_map; |
1965 | rwlock_init(&sbi->s_cred_lock); | ||
1963 | 1966 | ||
1964 | if (uopt.session == 0xFFFFFFFF) | 1967 | if (uopt.session == 0xFFFFFFFF) |
1965 | sbi->s_session = udf_get_last_session(sb); | 1968 | sbi->s_session = udf_get_last_session(sb); |