From 722b5ab944ac2a411d5a18a8a1d65a10b0082054 Mon Sep 17 00:00:00 2001 From: rsuntk Date: Thu, 12 Jun 2025 13:50:36 +0700 Subject: [PATCH] [skip ci] kernel: core_hook: add missing path_put [ 101.572296] CPU: 0 PID: 8674 Comm: main Tainted: G WC OE 5.15.148-Ghost@NVG-064-gce02b349fb2b #1 [ 101.572305] Hardware name: Qualcomm Technologies, Inc. KHAJE IDP nopmi topaz (DT) [ 101.572309] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 101.572315] pc : mntput_no_expire+0x25c/0x300 [ 101.572328] lr : mntput_no_expire+0x134/0x300 [ 101.572334] sp : ffffffc01d163c10 [ 101.572336] x29: ffffffc01d163c30 x28: ffffffdb2c74bff0 x27: 0000000000000000 [ 101.572345] x26: ffffff806cf11200 x25: ffffff806cf11200 x24: ffffffdb2db93000 [ 101.572353] x23: ffffff807df66da0 x22: ffffff807df66d80 x21: ffffff807df66d80 [ 101.572361] x20: ffffffdb2db89380 x19: ffffff806cf11200 x18: ffffffc013aad068 [ 101.572369] x17: 0000000000000001 x16: ffffffa6c928b000 x15: 0000000000000000 [ 101.572378] x14: 0000000000000020 x13: ffffffdb2db9f860 x12: 0000000000000020 [ 101.572385] x11: ffffffffffffffff x10: 00000000000000ff x9 : 0000000000000008 [ 101.572393] x8 : ffffff807df66d80 x7 : 61705f75736b203a x6 : 55536c656e72654b [ 101.572401] x5 : ffffffdb2de14332 x4 : ffffff81f6c435c1 x3 : 0000000000000000 [ 101.572409] x2 : 0000000200000000 x1 : 0000000000000000 x0 : 00000000ffffffff [ 101.572418] Call trace: [ 101.572422] mntput_no_expire+0x25c/0x300 [ 101.572431] path_put+0x3c/0x58 [ 101.572438] ksu_try_umount+0x14c/0x174 [ 101.572445] susfs_try_umount_all+0x6c/0x190 [ 101.572450] ksu_handle_setuid+0x20c/0x320 [ 101.572454] ksu_task_fix_setuid+0x18/0x2c [ 101.572459] __sys_setresuid+0x1e0/0x3dc [ 101.572466] __arm64_sys_setresuid+0x28/0x38 [ 101.572472] invoke_syscall+0x64/0x154 [ 101.572479] el0_svc_common+0x90/0xf4 [ 101.572484] do_el0_svc+0x2c/0x9c [ 101.572489] el0_svc+0x28/0x60 [ 101.572496] el0t_64_sync_handler+0xd4/0xf0 [ 101.572501] el0t_64_sync+0x1b8/0x1bc [ 101.572508] ---[ end trace b57c69edb246930f ]--- [ 101.572626] ------------[ cut here ]------------ Suggested-by: backslashxx <118538522+backslashxx@users.noreply.github.com> Signed-off-by: rsuntk --- kernel/core_hook.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/core_hook.c b/kernel/core_hook.c index fa555c20..988816e1 100644 --- a/kernel/core_hook.c +++ b/kernel/core_hook.c @@ -592,6 +592,7 @@ static void try_umount(const char *mnt, bool check_mnt, int flags) // we are only interest in some specific mounts if (check_mnt && !should_umount(&path)) { + path_put(&path); return; }