| From 7b4ec8dd7d4ac467e9eee4d49f2c9574d773efbb Mon Sep 17 00:00:00 2001 |
| From: Johannes Berg <johannes.berg@intel.com> |
| Date: Thu, 16 Jan 2014 10:18:48 +1030 |
| Subject: export: declare ksymtab symbols |
| |
| From: Johannes Berg <johannes.berg@intel.com> |
| |
| commit 7b4ec8dd7d4ac467e9eee4d49f2c9574d773efbb upstream. |
| |
| sparse complains about any __ksymtab symbols with the following: |
| |
| warning: symbol '__ksymtab_...' was not declared. Should it be static? |
| |
| due to Andi's patch making it non-static. |
| |
| Mollify sparse by declaring the symbol extern, otherwise we get |
| drowned in sparse warnings for anything that uses EXPORT_SYMBOL |
| in the sources, making it easy to miss real warnings. |
| |
| Fixes: e0f244c63fc9 ("asmlinkage, module: Make ksymtab [...] __visible") |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Acked-by: Andi Kleen <ak@linux.intel.com> |
| Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| include/linux/export.h | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/include/linux/export.h |
| +++ b/include/linux/export.h |
| @@ -59,6 +59,7 @@ extern struct module __this_module; |
| static const char __kstrtab_##sym[] \ |
| __attribute__((section("__ksymtab_strings"), aligned(1))) \ |
| = VMLINUX_SYMBOL_STR(sym); \ |
| + extern const struct kernel_symbol __ksymtab_##sym; \ |
| __visible const struct kernel_symbol __ksymtab_##sym \ |
| __used \ |
| __attribute__((section("___ksymtab" sec "+" #sym), unused)) \ |