From 07e7d129a0b03ba0dafa1ee6c93f4b302b2c3686 Mon Sep 17 00:00:00 2001 From: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> Date: Tue, 18 Nov 2025 20:23:31 +0800 Subject: [PATCH] kernel: Use a better wrapper compatible with ksu_umount_mnt --- kernel/kernel_umount.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/kernel/kernel_umount.c b/kernel/kernel_umount.c index dc1c734e..ed66f531 100644 --- a/kernel/kernel_umount.c +++ b/kernel/kernel_umount.c @@ -65,7 +65,7 @@ extern void susfs_try_umount(void); #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) || defined(KSU_HAS_PATH_UMOUNT) extern int path_umount(struct path *path, int flags); -static void ksu_umount_mnt(const char *__never_use_mnt, struct path *path, int flags) +static void ksu_umount_mnt(struct path *path, int flags) { int err = path_umount(path, flags); if (err) { @@ -88,12 +88,12 @@ static void ksu_sys_umount(const char *mnt, int flags) set_fs(old_fs); } -#define ksu_umount_mnt(mnt, __unused, flags) \ - ({ \ - path_put(__unused); \ - ksu_sys_umount(mnt, flags); \ - }) - +static void ksu_umount_mnt(struct path *path, int flags) +{ + const char *mnt = path->dentry->d_iname; + path_put(path); + ksu_sys_umount(mnt, flags); +} #endif #ifndef CONFIG_KSU_SUSFS_TRY_UMOUNT @@ -103,7 +103,6 @@ void try_umount(const char *mnt, int flags) #endif // #ifndef CONFIG_KSU_SUSFS_TRY_UMOUNT { struct path path; - int ret; int err = kern_path(mnt, 0, &path); if (err) { return; @@ -121,7 +120,7 @@ void try_umount(const char *mnt, int flags) } #endif // #if defined(CONFIG_KSU_SUSFS_TRY_UMOUNT) && defined(CONFIG_KSU_SUSFS_ENABLE_LOG) - ksu_umount_mnt(mnt, &path, flags); + ksu_umount_mnt(&path, flags); } #ifdef CONFIG_KSU_SUSFS_TRY_UMOUNT