Unverified Commit 78c85002 authored by Christian Brauner's avatar Christian Brauner
Browse files

Merge patch series "Fix two regressions from start_creating()/start_removing() conversion"

Tyler Hicks <code@tyhicks.com> says:

When running the eCryptfs test suite on v6.19-rc2, I noticed BUG splats
from every test and that the umount utility was segfaulting when tearing
down after a test. Bisection led me to commit f046fbb4 ("ecryptfs:
use new start_creating/start_removing APIs").

This patch series addresses that regression and also a mknod problem
spotted during code review.

* patches from https://patch.msgid.link/20251223194153.2818445-1-code@tyhicks.com:
  ecryptfs: Release lower parent dentry after creating dir
  ecryptfs: Fix improper mknod pairing of start_creating()/end_removing()

Link: https://patch.msgid.link/20251223194153.2818445-1-code@tyhicks.com


Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parents 3dd57dde 5c56afd2
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -533,6 +533,7 @@ static struct dentry *ecryptfs_mkdir(struct mnt_idmap *idmap, struct inode *dir,
	fsstack_copy_inode_size(dir, lower_dir);
	set_nlink(dir, lower_dir->i_nlink);
out:
	dput(lower_dir_dentry);
	end_creating(lower_dentry);
	if (d_really_is_negative(dentry))
		d_drop(dentry);
@@ -584,7 +585,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;