From: Luís Henriques Date: Thu, 25 Aug 2022 13:31:31 +0000 (-0400) Subject: ceph: prevent snapshot creation in encrypted locked directories X-Git-Tag: v6.6.7~1959^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=abd4fc775857cda97cde08d500a60b00617b8168;p=platform%2Fkernel%2Flinux-starfive.git ceph: prevent snapshot creation in encrypted locked directories With snapshot names encryption we can not allow snapshots to be created in locked directories because the names wouldn't be encrypted. This patch forces the directory to be unlocked to allow a snapshot to be created. Signed-off-by: Luís Henriques Reviewed-by: Jeff Layton Reviewed-by: Xiubo Li Reviewed-by: Milind Changire Signed-off-by: Ilya Dryomov --- diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index 4990886..0e4f8e0 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -1090,6 +1090,11 @@ static int ceph_mkdir(struct mnt_idmap *idmap, struct inode *dir, err = -EDQUOT; goto out; } + if ((op == CEPH_MDS_OP_MKSNAP) && IS_ENCRYPTED(dir) && + !fscrypt_has_encryption_key(dir)) { + err = -ENOKEY; + goto out; + } req = ceph_mdsc_create_request(mdsc, op, USE_AUTH_MDS);