diff --git a/kernel/include/ksu_hook.h b/kernel/include/ksu_hook.h index 0e84fefd..b3be5a74 100644 --- a/kernel/include/ksu_hook.h +++ b/kernel/include/ksu_hook.h @@ -36,3 +36,4 @@ extern bool ksu_vfs_read_hook __read_mostly; extern bool ksu_input_hook __read_mostly; extern int ksu_handle_devpts(struct inode*); +#endif diff --git a/kernel/sucompat.c b/kernel/sucompat.c index 9b45cd0d..2b97f264 100644 --- a/kernel/sucompat.c +++ b/kernel/sucompat.c @@ -243,8 +243,7 @@ static int sys_newfstatat_handler_pre(struct kprobe *p, struct pt_regs *regs) { struct pt_regs *real_regs = PT_REAL_REGS(regs); int *dfd = (int *)&PT_REGS_PARM1(real_regs); - const char __user **filename_user = - (const char **)&PT_REGS_PARM2(real_regs); + const char __user **filename_user = (const char **)&PT_REGS_PARM2(real_regs); int *flags = (int *)&PT_REGS_SYSCALL_PARM4(real_regs); return ksu_handle_stat(dfd, filename_user, flags); diff --git a/kernel/throne_tracker.c b/kernel/throne_tracker.c index c709a692..725c9103 100644 --- a/kernel/throne_tracker.c +++ b/kernel/throne_tracker.c @@ -240,13 +240,13 @@ void search_manager(const char *path, int depth, struct list_head *uid_data) file = ksu_filp_open_compat(pos->dirpath, O_RDONLY | O_NOFOLLOW, 0); if (IS_ERR(file)) { pr_err("Failed to open directory: %s, err: %ld\n", pos->dirpath, PTR_ERR(file)); - return; + goto skip_iterate; } iterate_dir(file, &ctx.ctx); filp_close(file, NULL); } - +skip_iterate: list_del(&pos->list); if (pos != &data) kfree(pos);