From fc6f47b6fce17e1362864ee71c3e733d328ae393 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 24 Aug 2022 17:25:50 +0200 Subject: [PATCH] Revert "ANDROID: module: Add vendor hook" This reverts commit 4d63efb9ae67783d184a924bb73b38745c9a1119. The hooks android_vh_set_module_permit_before_init and android_vh_set_module_permit_after_init is not used by any vendor, so remove it to help with merge issues with future LTS releases. If this is needed by any real user, it can easily be reverted to add it back and then the symbol should be added to the abi list at the same time to prevent it from being removed again later. Bug: 203756332 Bug: 181639260 Cc: Kuan-Ying Lee Signed-off-by: Greg Kroah-Hartman Change-Id: I3bbc5d4190d9fbf34469d2c5c1386dcbf998fb4b --- drivers/android/vendor_hooks.c | 3 --- include/trace/hooks/module.h | 29 ----------------------------- kernel/module.c | 26 -------------------------- 3 files changed, 58 deletions(-) delete mode 100644 include/trace/hooks/module.h diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 24f21436bd70..9f6add6883ca 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -48,7 +48,6 @@ #include #include #include -#include #include #include #include @@ -274,8 +273,6 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_x); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_nx); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_ro); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_memory_rw); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_module_permit_before_init); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_module_permit_after_init); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_util_est_update); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_meminfo_proc_show); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_mm); diff --git a/include/trace/hooks/module.h b/include/trace/hooks/module.h deleted file mode 100644 index 9188e5556aac..000000000000 --- a/include/trace/hooks/module.h +++ /dev/null @@ -1,29 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#undef TRACE_SYSTEM -#define TRACE_SYSTEM module - -#define TRACE_INCLUDE_PATH trace/hooks -#if !defined(_TRACE_HOOK_MODULE_H) || defined(TRACE_HEADER_MULTI_READ) -#define _TRACE_HOOK_MODULE_H -#include -/* - * Following tracepoints are not exported in tracefs and provide a - * mechanism for vendor modules to hook and extend functionality - */ -#ifdef __GENKSYMS__ -struct module; -#else -/* struct module */ -#include -#endif /* __GENKSYMS__ */ -DECLARE_HOOK(android_vh_set_module_permit_before_init, - TP_PROTO(const struct module *mod), - TP_ARGS(mod)); - -DECLARE_HOOK(android_vh_set_module_permit_after_init, - TP_PROTO(const struct module *mod), - TP_ARGS(mod)); - -#endif /* _TRACE_HOOK_MODULE_H */ -/* This part must be outside protection */ -#include diff --git a/kernel/module.c b/kernel/module.c index b81200591e6d..4aea1350a226 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -63,10 +63,6 @@ #define CREATE_TRACE_POINTS #include -#undef CREATE_TRACE_POINTS -#include -#include - #ifndef ARCH_SHF_SMALL #define ARCH_SHF_SMALL 0 #endif @@ -2263,10 +2259,6 @@ static void free_module(struct module *mod) /* This may be empty, but that's OK */ module_arch_freeing_init(mod); - trace_android_vh_set_memory_rw((unsigned long)mod->init_layout.base, - (mod->init_layout.size)>>PAGE_SHIFT); - trace_android_vh_set_memory_nx((unsigned long)mod->init_layout.base, - (mod->init_layout.size)>>PAGE_SHIFT); module_memfree(mod->init_layout.base); kfree(mod->args); percpu_modfree(mod); @@ -2275,10 +2267,6 @@ static void free_module(struct module *mod) lockdep_free_key_range(mod->core_layout.base, mod->core_layout.size); /* Finally, free the core (containing the module structure) */ - trace_android_vh_set_memory_rw((unsigned long)mod->core_layout.base, - (mod->core_layout.size)>>PAGE_SHIFT); - trace_android_vh_set_memory_nx((unsigned long)mod->core_layout.base, - (mod->core_layout.size)>>PAGE_SHIFT); module_memfree(mod->core_layout.base); } @@ -3655,15 +3643,7 @@ static void module_deallocate(struct module *mod, struct load_info *info) { percpu_modfree(mod); module_arch_freeing_init(mod); - trace_android_vh_set_memory_rw((unsigned long)mod->init_layout.base, - (mod->init_layout.size)>>PAGE_SHIFT); - trace_android_vh_set_memory_nx((unsigned long)mod->init_layout.base, - (mod->init_layout.size)>>PAGE_SHIFT); module_memfree(mod->init_layout.base); - trace_android_vh_set_memory_rw((unsigned long)mod->core_layout.base, - (mod->core_layout.size)>>PAGE_SHIFT); - trace_android_vh_set_memory_nx((unsigned long)mod->core_layout.base, - (mod->core_layout.size)>>PAGE_SHIFT); module_memfree(mod->core_layout.base); } @@ -3806,13 +3786,8 @@ static noinline int do_init_module(struct module *mod) rcu_assign_pointer(mod->kallsyms, &mod->core_kallsyms); #endif module_enable_ro(mod, true); - trace_android_vh_set_module_permit_after_init(mod); mod_tree_remove_init(mod); module_arch_freeing_init(mod); - trace_android_vh_set_memory_rw((unsigned long)mod->init_layout.base, - (mod->init_layout.size)>>PAGE_SHIFT); - trace_android_vh_set_memory_nx((unsigned long)mod->init_layout.base, - (mod->init_layout.size)>>PAGE_SHIFT); mod->init_layout.base = NULL; mod->init_layout.size = 0; mod->init_layout.ro_size = 0; @@ -3919,7 +3894,6 @@ static int complete_formation(struct module *mod, struct load_info *info) module_enable_ro(mod, false); module_enable_nx(mod); module_enable_x(mod); - trace_android_vh_set_module_permit_before_init(mod); /* Mark state as coming so strong_try_module_get() ignores us, * but kallsyms etc. can see us. */