summaryrefslogtreecommitdiff
path: root/drivers/android
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2026-01-26 01:05:57 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2026-02-05 13:52:16 -0500
commit351ea48ae880b1673abcf232947c577183fdf712 (patch)
tree3d37f21d2cff835cfb86d0f65e59d756e5a15a24 /drivers/android
parent63804fed149a6750ffd28610c5c1c98cce6bd377 (diff)
rust_binderfs: fix a dentry leak
Parallel to binderfs patches - 02da8d2c0965 "binderfs_binder_ctl_create(): kill a bogus check" and the bit of b89aa544821d "convert binderfs" that got lost when making 4433d8e25d73 "convert rust_binderfs"; the former is a cleanup, the latter is about marking /binder-control persistent, so that it would be taken out on umount. Fixes: 4433d8e25d73 ("convert rust_binderfs") Acked-by: Alice Ryhl <aliceryhl@google.com> Acked-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/android')
-rw-r--r--drivers/android/binder/rust_binderfs.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/android/binder/rust_binderfs.c b/drivers/android/binder/rust_binderfs.c
index c69026df775c..e36011e89116 100644
--- a/drivers/android/binder/rust_binderfs.c
+++ b/drivers/android/binder/rust_binderfs.c
@@ -391,12 +391,6 @@ static int binderfs_binder_ctl_create(struct super_block *sb)
if (!device)
return -ENOMEM;
- /* If we have already created a binder-control node, return. */
- if (info->control_dentry) {
- ret = 0;
- goto out;
- }
-
ret = -ENOMEM;
inode = new_inode(sb);
if (!inode)
@@ -431,7 +425,8 @@ static int binderfs_binder_ctl_create(struct super_block *sb)
inode->i_private = device;
info->control_dentry = dentry;
- d_add(dentry, inode);
+ d_make_persistent(dentry, inode);
+ dput(dentry);
return 0;