aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2015-12-07 10:18:54 -0800
committerMister Oyster <oysterized@gmail.com>2017-04-13 12:32:30 +0200
commit85f3ce32ed3eba4e7194249a04e55996e1b3c1a0 (patch)
treecefa64d30991ae3602a5289f00888a76c30b1db6
parent42d7ff065c6a2a93ed75ae04194d6583161e489f (diff)
f2fs: use lock_buffer when changing superblock
When modifying sb contents, we need to use lock its buffer. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/file.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index cb62a12c2..784327943 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -1612,14 +1612,18 @@ static int f2fs_ioc_get_encryption_pwsalt(struct file *filp, unsigned long arg)
return err;
/* update superblock with uuid */
+ lock_buffer(sbi->raw_super_buf);
generate_random_uuid(sbi->raw_super->encrypt_pw_salt);
+ unlock_buffer(sbi->raw_super_buf);
err = f2fs_commit_super(sbi, false);
mnt_drop_write_file(filp);
if (err) {
/* undo new data */
+ lock_buffer(sbi->raw_super_buf);
memset(sbi->raw_super->encrypt_pw_salt, 0, 16);
+ unlock_buffer(sbi->raw_super_buf);
return err;
}
got_it: