On Tue, Nov 24, 2020 at 12:56 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote: > > On Tue, Nov 24, 2020 at 12:51 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Tue, Nov 24, 2020 at 12:08:40PM +0100, Jann Horn wrote: > > > > Since commit acaab7335bd6 ("lib/zlib: remove outdated and incorrect > > > > pre-increment optimization"), get_unaligned16() is only used when > > > > !CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS. > > > > > > > > Hence, make CC=clang W=1 warns: > > > > > > > > lib/zlib_inflate/inffast.c:20:1: > > > > warning: unused function 'get_unaligned16' [-Wunused-function] > > > > > > > > Define get_unaligned16() only when it is actually used. > > > > > > > > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx> > > > > > > AFAICS a nicer option would be to "#include <asm/unaligned.h>" and > > > then use "get_unaligned", which should automatically do the right > > > thing everywhere and remove the need for defining get_unaligned16() > > > and checking CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS entirely? > > > > Yes, that is the right thing to do. > > It's possible that this didn't work when the code was originally added: > The decompressor functions are called from the compressed boot path, > which is a bit limited regarding which headers it can include, at least > on some architectures. > > I would recommend test-building this for all architectures that include > ../../../../lib/decompress_inflate.c from their boot code. > Jann, Christoph, Arnd, thanks for the advice. I will start to look into this immediately. Lukas