From 6a3acdbcc7c32c9ef8971d606e7c697502b1ae92 Mon Sep 17 00:00:00 2001 From: Will Deacon Date: Tue, 10 Mar 2020 05:03:31 +0000 Subject: [PATCH] FROMGIT: kallsyms: unexport kallsyms_lookup_name() and kallsyms_on_each_symbol() kallsyms_lookup_name() and kallsyms_on_each_symbol() are exported to modules despite having no in-tree users and being wide open to abuse by out-of-tree modules that can use them as a method to invoke arbitrary non-exported kernel functions. Unexport kallsyms_lookup_name() and kallsyms_on_each_symbol(). Bug: 149978696 Change-Id: I8f3c1b5222939c46901f4d149d4c7bb63916ff04 Link: http://lkml.kernel.org/r/20200221114404.14641-4-will@kernel.org Signed-off-by: Will Deacon Reviewed-by: Greg Kroah-Hartman Reviewed-by: Christoph Hellwig Acked-by: Alexei Starovoitov Reviewed-by: Masami Hiramatsu Cc: Thomas Gleixner Cc: Quentin Perret Cc: Frederic Weisbecker Cc: K.Prasad Cc: Miroslav Benes Cc: Petr Mladek Cc: Joe Lawrence Cc: Mathieu Desnoyers Signed-off-by: Andrew Morton (cherry picked from commit ab3e66797c7fddbf80fbba31c5bf4574ad52f320 https://github.com/hnaz/linux-mm.git master) Signed-off-by: Quentin Perret --- kernel/kallsyms.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index a76be87d013d..c44a7db804d1 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -174,7 +174,6 @@ unsigned long kallsyms_lookup_name(const char *name) } return module_kallsyms_lookup_name(name); } -EXPORT_SYMBOL_GPL(kallsyms_lookup_name); int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *, unsigned long), @@ -193,7 +192,6 @@ int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *, } return module_kallsyms_on_each_symbol(fn, data); } -EXPORT_SYMBOL_GPL(kallsyms_on_each_symbol); static unsigned long get_symbol_pos(unsigned long addr, unsigned long *symbolsize,