Hi Johannes, On Tue, Sep 24, 2019 at 5:17 PM Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > > 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 Thanks for the report. I think this should work: https://lore.kernel.org/patchwork/patch/1131017/ It fixes "__guard" and "__stack_smash_handler" too. Thanks. > > > 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 > -- Best Regards Masahiro Yamada