This patch add XATTR_CREATE flag in setxattr when setting encryption
context for inode. Without this flag the context could be set more than
once, this should never happen. So, fix it.

Signed-off-by: Chao Yu <chao2...@samsung.com>
---
 fs/f2fs/crypto_policy.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/f2fs/crypto_policy.c b/fs/f2fs/crypto_policy.c
index 56b2ac0..71b3a5a 100644
--- a/fs/f2fs/crypto_policy.c
+++ b/fs/f2fs/crypto_policy.c
@@ -83,7 +83,7 @@ static int f2fs_create_encryption_context_from_policy(
 
        return f2fs_setxattr(inode, F2FS_XATTR_INDEX_ENCRYPTION,
                        F2FS_XATTR_NAME_ENCRYPTION_CONTEXT, &ctx,
-                       sizeof(ctx), NULL, 0);
+                       sizeof(ctx), NULL, XATTR_CREATE);
 }
 
 int f2fs_process_policy(const struct f2fs_encryption_policy *policy,
@@ -202,5 +202,5 @@ int f2fs_inherit_context(struct inode *parent, struct inode 
*child,
        get_random_bytes(ctx.nonce, F2FS_KEY_DERIVATION_NONCE_SIZE);
        return f2fs_setxattr(child, F2FS_XATTR_INDEX_ENCRYPTION,
                                F2FS_XATTR_NAME_ENCRYPTION_CONTEXT, &ctx,
-                               sizeof(ctx), ipage, 0);
+                               sizeof(ctx), ipage, XATTR_CREATE);
 }
-- 
2.3.0


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to