From bd5100d698b7f9f9dde29e52b9c186816053146e Mon Sep 17 00:00:00 2001 From: Rissu <90097027+rsuntk@users.noreply.github.com> Date: Mon, 27 May 2024 09:35:08 +0700 Subject: [PATCH] kernel: fix throne_tracker uncompile-able on 4.4 kernel (issue #1771) (#1773) in kernel v4.7.10: extern unsigned int __pure full_name_hash(const char *, unsigned int); in kernel v4.8.0: extern unsigned int __pure full_name_hash(const void *salt, const char *, unsigned int); --- kernel/throne_tracker.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/throne_tracker.c b/kernel/throne_tracker.c index 8ccc7f7f..c709a692 100644 --- a/kernel/throne_tracker.c +++ b/kernel/throne_tracker.c @@ -170,8 +170,11 @@ FILLDIR_RETURN_TYPE my_actor(struct dir_context *ctx, const char *name, } else { if ((namelen == 8) && (strncmp(name, "base.apk", namelen) == 0)) { struct apk_path_hash *pos, *n; +#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0) + unsigned int hash = full_name_hash(dirpath, strlen(dirpath)); +#else unsigned int hash = full_name_hash(NULL, dirpath, strlen(dirpath)); - +#endif list_for_each_entry(pos, &apk_path_hash_list, list) { if (hash == pos->hash) { pos->exists = true;