Messages in this thread Patch in this message | | | Subject | static EXPORT_SYMBOL checker causes false positives on ARCH=um | From | Johannes Berg <> | Date | Tue, 24 Sep 2019 10:17:40 +0200 |
| |
Hi,
With the new commit 15bfc2348d54 ("modpost: check for static EXPORT_SYMBOL* functions") we get a lot of warnings on ARCH=um builds:
WARNING: "rename" [vmlinux] is a static EXPORT_SYMBOL WARNING: "lseek" [vmlinux] is a static EXPORT_SYMBOL WARNING: "ftruncate64" [vmlinux] is a static EXPORT_SYMBOL [...] see https://p.sipsolutions.net/7232995f34907b9d.txt
This hack fixes *most* of them:
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 820eed87fb43..3e443563ebea 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1931,12 +1931,18 @@ static void check_sec_ref(struct module *mod, const char *modname, static char *remove_dot(char *s) { size_t n = strcspn(s, "."); + char *at; if (n && s[n]) { size_t m = strspn(s + n + 1, "0123456789"); if (m && (s[n + m] == '.' || s[n + m] == 0)) s[n] = 0; } + + at = strchr(s, '@'); + if (at) + *at = 0; + return s; } (but obviously just serves to give you an idea of what's going on).
With that, only two remain for me:
WARNING: "__guard" [vmlinux] is a static EXPORT_SYMBOL WARNING: "__stack_smash_handler" [vmlinux] is a static EXPORT_SYMBOL
and I think that's because they don't even exist at all, so arguably the code shouldn't export them, but I didn't find a way to detect at build time if -fstack-protector was enabled or not?
Any thoughts?
Thanks, johannes
| |