Re: [PATCH] kernel/module: silence a gcc warning

From: Jessica Yu
Date: Mon Apr 16 2018 - 13:11:18 EST


+++ Mathieu Malaterre [11/04/18 21:05 +0200]:
In commit 8c8ef42aee8f ("module: include other structures in module version
check"), the function `struct_module` was renamed to `module_layout` but no
prototype was added to `include/linux/module.h`. Remove warning triggered
at W=1:

kernel/module.c:4378:6: warning: no previous prototype for âmodule_layoutâ [-Wmissing-prototypes]

Signed-off-by: Mathieu Malaterre <malat@xxxxxxxxxx>
---
include/linux/module.h | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/include/linux/module.h b/include/linux/module.h
index d44df9b2c131..28046e8b7e9d 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -786,6 +786,14 @@ extern int module_sysfs_initialized;

#define symbol_request(x) try_then_request_module(symbol_get(x), "symbol:" #x)

+#ifdef CONFIG_MODVERSIONS
+void module_layout(struct module *mod,
+ struct modversion_info *ver,
+ struct kernel_param *kp,
+ struct kernel_symbol *ks,
+ struct tracepoint * const *tp);
+#endif /* CONFIG_MODVERSIONS */
+

Hi Mathieu,

We're going to need a forward declaration in module.h for struct tracepoint
to address the kbuild warnings.

Thanks,

Jessica

/* BELOW HERE ALL THESE ARE OBSOLETE AND WILL VANISH */

#define __MODULE_STRING(x) __stringify(x)
--
2.11.0