[PATCH 1/2] ecryptfs: Fix improper mknod pairing of start_creating()/end_removing()

Tyler Hicks posted 2 patches 1 month, 2 weeks ago
[PATCH 1/2] ecryptfs: Fix improper mknod pairing of start_creating()/end_removing()
Posted by Tyler Hicks 1 month, 2 weeks ago
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>
---
 fs/ecryptfs/inode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
index 3978248247dc..e73d9de676a6 100644
--- a/fs/ecryptfs/inode.c
+++ b/fs/ecryptfs/inode.c
@@ -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;
-- 
2.43.0
Re: [PATCH 1/2] ecryptfs: Fix improper mknod pairing of start_creating()/end_removing()
Posted by Amir Goldstein 1 month, 2 weeks ago
On Tue, Dec 23, 2025 at 9:42 PM Tyler Hicks <code@tyhicks.com> wrote:
>
> 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>
> ---
>  fs/ecryptfs/inode.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
> index 3978248247dc..e73d9de676a6 100644
> --- a/fs/ecryptfs/inode.c
> +++ b/fs/ecryptfs/inode.c
> @@ -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;
> --

Doh! Who's the dummy who reviewed this patch :-/

FWIW now

Reviewed-by: Amir Goldstein <amir73il@gmail.com>

Thanks,
Amir.

> 2.43.0
>