kallsyms: Make module_kallsyms_on_each_symbol generally available
authorJiri Olsa <jolsa@kernel.org>
Tue, 25 Oct 2022 13:41:41 +0000 (15:41 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 25 Oct 2022 17:14:50 +0000 (10:14 -0700)
Making module_kallsyms_on_each_symbol generally available, so it
can be used outside CONFIG_LIVEPATCH option in following changes.

Rather than adding another ifdef option let's make the function
generally available (when CONFIG_KALLSYMS and CONFIG_MODULES
options are defined).

Cc: Christoph Hellwig <hch@lst.de>
Acked-by: Song Liu <song@kernel.org>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/r/20221025134148.3300700-2-jolsa@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
include/linux/module.h
kernel/module/kallsyms.c

index ec61fb5..35876e8 100644 (file)
@@ -879,8 +879,17 @@ static inline bool module_sig_ok(struct module *module)
 }
 #endif /* CONFIG_MODULE_SIG */
 
+#if defined(CONFIG_MODULES) && defined(CONFIG_KALLSYMS)
 int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
                                             struct module *, unsigned long),
                                   void *data);
+#else
+static inline int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
+                                                struct module *, unsigned long),
+                                                void *data)
+{
+       return -EOPNOTSUPP;
+}
+#endif  /* CONFIG_MODULES && CONFIG_KALLSYMS */
 
 #endif /* _LINUX_MODULE_H */
index f5c5c91..4523f99 100644 (file)
@@ -494,7 +494,6 @@ unsigned long module_kallsyms_lookup_name(const char *name)
        return ret;
 }
 
-#ifdef CONFIG_LIVEPATCH
 int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
                                             struct module *, unsigned long),
                                   void *data)
@@ -531,4 +530,3 @@ out:
        mutex_unlock(&module_mutex);
        return ret;
 }
-#endif /* CONFIG_LIVEPATCH */