]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ecryptfs: Fix improper mknod pairing of start_creating()/end_removing()
authorTyler Hicks <code@tyhicks.com>
Tue, 23 Dec 2025 19:41:52 +0000 (13:41 -0600)
committerChristian Brauner <brauner@kernel.org>
Wed, 24 Dec 2025 12:58:04 +0000 (13:58 +0100)
The ecryptfs_start_creating_dentry() function must be paired with the
end_creating() function. Fix ecryptfs_mknod() so that end_creating() is
properly called in the return path, instead of end_removing().

Fixes: f046fbb4d81d ("ecryptfs: use new start_creating/start_removing APIs")
Signed-off-by: Tyler Hicks <code@tyhicks.com>
Link: https://patch.msgid.link/20251223194153.2818445-2-code@tyhicks.com
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/ecryptfs/inode.c

index 3978248247dc2197b4441957a331c9711a6190bb..e73d9de676a64ea82ee3305304e5965175845ac0 100644 (file)
@@ -584,7 +584,7 @@ ecryptfs_mknod(struct mnt_idmap *idmap, struct inode *dir,
        fsstack_copy_attr_times(dir, lower_dir);
        fsstack_copy_inode_size(dir, lower_dir);
 out:
-       end_removing(lower_dentry);
+       end_creating(lower_dentry);
        if (d_really_is_negative(dentry))
                d_drop(dentry);
        return rc;