summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Winchester <kjwinchester@gmail.com>2012-01-15 19:32:55 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-15 16:21:07 -0800
commit53999bf34d55981328f8ba9def558d3e104d6e36 (patch)
tree4ca98169e5c96c1ec8e04d15fce75c60a8b9578d
parent122804ecb59493fbb4d31b3ba9ac59faaf45276f (diff)
downloadlwn-53999bf34d55981328f8ba9def558d3e104d6e36.tar.gz
lwn-53999bf34d55981328f8ba9def558d3e104d6e36.zip
error: implicit declaration of function 'module_flags_taint'
Recent changes to kernel/module.c caused the following compile error: kernel/module.c: In function ‘show_taint’: kernel/module.c:1024:2: error: implicit declaration of function ‘module_flags_taint’ [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors Correct this error by moving the definition of module_flags_taint outside of the #ifdef CONFIG_MODULE_UNLOAD section. Signed-off-by: Kevin Winchester <kjwinchester@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--kernel/module.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/kernel/module.c b/kernel/module.c
index acf6ed3ebe81..2c932760fd33 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -842,26 +842,6 @@ out:
return ret;
}
-static size_t module_flags_taint(struct module *mod, char *buf)
-{
- size_t l = 0;
-
- if (mod->taints & (1 << TAINT_PROPRIETARY_MODULE))
- buf[l++] = 'P';
- if (mod->taints & (1 << TAINT_OOT_MODULE))
- buf[l++] = 'O';
- if (mod->taints & (1 << TAINT_FORCED_MODULE))
- buf[l++] = 'F';
- if (mod->taints & (1 << TAINT_CRAP))
- buf[l++] = 'C';
- /*
- * TAINT_FORCED_RMMOD: could be added.
- * TAINT_UNSAFE_SMP, TAINT_MACHINE_CHECK, TAINT_BAD_PAGE don't
- * apply to modules.
- */
- return l;
-}
-
static inline void print_unload_info(struct seq_file *m, struct module *mod)
{
struct module_use *use;
@@ -962,6 +942,26 @@ static inline int module_unload_init(struct module *mod)
}
#endif /* CONFIG_MODULE_UNLOAD */
+static size_t module_flags_taint(struct module *mod, char *buf)
+{
+ size_t l = 0;
+
+ if (mod->taints & (1 << TAINT_PROPRIETARY_MODULE))
+ buf[l++] = 'P';
+ if (mod->taints & (1 << TAINT_OOT_MODULE))
+ buf[l++] = 'O';
+ if (mod->taints & (1 << TAINT_FORCED_MODULE))
+ buf[l++] = 'F';
+ if (mod->taints & (1 << TAINT_CRAP))
+ buf[l++] = 'C';
+ /*
+ * TAINT_FORCED_RMMOD: could be added.
+ * TAINT_UNSAFE_SMP, TAINT_MACHINE_CHECK, TAINT_BAD_PAGE don't
+ * apply to modules.
+ */
+ return l;
+}
+
static ssize_t show_initstate(struct module_attribute *mattr,
struct module_kobject *mk, char *buffer)
{