Message ID | 20190906153700.2061625-1-arnd@arndb.de |
---|---|
State | New |
Headers | show |
Series | lz4: make LZ4HC_setExternalDict as non-static | expand |
Hi, > kbuild warns for exported static symbols. This one seems to > be meant as an external API but does not have any in-kernel > users: > > WARNING: "LZ4HC_setExternalDict" [vmlinux] is a static EXPORT_SYMBOL > > I suppose the function should not just get removed since it would > be nice to stay close to the upstream version of lz4hc, so just > make it global. I'm not sure what is better here. But just in case, I sent a different patch that removes EXPORT_SYMBOL from this function some time ago: https://lkml.org/lkml/2019/7/8/842 I checked first that this functions is indeed static in the original lib[1] and this symbol is not used in kernel. [1] https://github.com/lz4/lz4/blob/dev/lib/lz4hc.c#L1054 Thanks, Denis
On Fri, Sep 6, 2019 at 6:21 PM Denis Efremov <efremov@linux.com> wrote: > > Hi, > > > kbuild warns for exported static symbols. This one seems to > > be meant as an external API but does not have any in-kernel > > users: > > > > WARNING: "LZ4HC_setExternalDict" [vmlinux] is a static EXPORT_SYMBOL > > > > I suppose the function should not just get removed since it would > > be nice to stay close to the upstream version of lz4hc, so just > > make it global. > > I'm not sure what is better here. But just in case, I sent a different > patch that removes EXPORT_SYMBOL from this function some time ago: > https://lkml.org/lkml/2019/7/8/842 > > I checked first that this functions is indeed static in the original lib[1] > and this symbol is not used in kernel. > > [1] https://github.com/lz4/lz4/blob/dev/lib/lz4hc.c#L1054 Ah, good. Your patch is the better fix then. Arnd
On Sat, Sep 7, 2019 at 3:43 AM Arnd Bergmann <arnd@arndb.de> wrote: > > On Fri, Sep 6, 2019 at 6:21 PM Denis Efremov <efremov@linux.com> wrote: > > > > Hi, > > > > > kbuild warns for exported static symbols. This one seems to > > > be meant as an external API but does not have any in-kernel > > > users: > > > > > > WARNING: "LZ4HC_setExternalDict" [vmlinux] is a static EXPORT_SYMBOL > > > > > > I suppose the function should not just get removed since it would > > > be nice to stay close to the upstream version of lz4hc, so just > > > make it global. When you make the symbol global, you need to provide a prototype declaration in a global header. (include/linux/lz4.h in this case) Otherwise, nobody cannot call this function anyway. I prefer Denis's fix-up. > > I'm not sure what is better here. But just in case, I sent a different > > patch that removes EXPORT_SYMBOL from this function some time ago: > > https://lkml.org/lkml/2019/7/8/842 > > > > I checked first that this functions is indeed static in the original lib[1] > > and this symbol is not used in kernel. > > > > [1] https://github.com/lz4/lz4/blob/dev/lib/lz4hc.c#L1054 > > Ah, good. Your patch is the better fix then. > > Arnd -- Best Regards Masahiro Yamada
diff --git a/lib/lz4/lz4hc_compress.c b/lib/lz4/lz4hc_compress.c index 176f03b83e56..e1075293c009 100644 --- a/lib/lz4/lz4hc_compress.c +++ b/lib/lz4/lz4hc_compress.c @@ -642,7 +642,7 @@ EXPORT_SYMBOL(LZ4_loadDictHC); /* compression */ -static void LZ4HC_setExternalDict( +void LZ4HC_setExternalDict( LZ4HC_CCtx_internal *ctxPtr, const BYTE *newBlock) {
kbuild warns for exported static symbols. This one seems to be meant as an external API but does not have any in-kernel users: WARNING: "LZ4HC_setExternalDict" [vmlinux] is a static EXPORT_SYMBOL I suppose the function should not just get removed since it would be nice to stay close to the upstream version of lz4hc, so just make it global. The modpost commit is correct, but is listed here as the one that introduced the warning. Fixes: 15bfc2348d54 ("modpost: check for static EXPORT_SYMBOL* functions") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- lib/lz4/lz4hc_compress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.20.0