Agreed.

Change log from v1:
 o apply for _undo_ flow as well

>From ea212a4a7a432e0ecd0f0f53971b70172b3e7f96 Mon Sep 17 00:00:00 2001
From: Jaegeuk Kim <jaeg...@kernel.org>
Date: Mon, 7 Dec 2015 10:18:54 -0800
Subject: [PATCH] f2fs: use lock_buffer when changing superblock

When modifying sb contents, we need to use lock its buffer.

Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
---
 fs/f2fs/file.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index a018ed3..294e715 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -1591,14 +1591,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:
-- 
2.4.9 (Apple Git-60)


------------------------------------------------------------------------------
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to