diff --git a/kernel/ksud.c b/kernel/ksud.c index 74538aeb..0bbc73ac 100644 --- a/kernel/ksud.c +++ b/kernel/ksud.c @@ -338,7 +338,7 @@ int ksu_handle_vfs_read(struct file **file_ptr, char __user **buf_ptr, return 0; } - if (!d_is_reg(file->f_path.dentry)) { + if (!S_ISREG(file->f_path.dentry->d_inode->i_mode)) { return 0; } diff --git a/kernel/throne_tracker.c b/kernel/throne_tracker.c index 9c8f9f9f..26898292 100644 --- a/kernel/throne_tracker.c +++ b/kernel/throne_tracker.c @@ -174,7 +174,11 @@ FILLDIR_RETURN_TYPE my_actor(struct dir_context *ctx, const char *name, return FILLDIR_ACTOR_CONTINUE; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 8, 0) + strlcpy(data->dirpath, dirpath, DATA_PATH_LEN); +#else strscpy(data->dirpath, dirpath, DATA_PATH_LEN); +#endif data->depth = my_ctx->depth - 1; list_add_tail(&data->list, my_ctx->data_path_list); } else { @@ -230,7 +234,11 @@ void search_manager(const char *path, int depth, struct list_head *uid_data) // First depth struct data_path data; +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 8, 0) + strlcpy(data.dirpath, path, DATA_PATH_LEN); +#else strscpy(data.dirpath, path, DATA_PATH_LEN); +#endif data.depth = depth; list_add_tail(&data.list, &data_path_list);