Hi Sven, [auto build test ERROR on linus/master] [also build test ERROR on v4.10-rc4 next-20170120] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Sven-Schmidt/Update-LZ4-compressor-module/20170121-231418 config: x86_64-lkp (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 Note: the linux-review/Sven-Schmidt/Update-LZ4-compressor-module/20170121-231418 HEAD 0472409e2a1c442b51502961aa6d83b866218953 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from lib/decompress_unlz4.c:19:0: lib/decompress_unlz4.c: In function 'unlz4': >> lib/decompress_unlz4.c:75:22: error: implicit declaration of function 'lz4_compressbound' [-Werror=implicit-function-declaration] inp = large_malloc(lz4_compressbound(uncomp_chunksize)); ^ include/linux/decompress/mm.h:83:33: note: in definition of macro 'large_malloc' #define large_malloc(a) vmalloc(a) ^ cc1: some warnings being treated as errors vim +/lz4_compressbound +75 lib/decompress_unlz4.c e76e1fdf Kyungsik Lee 2013-07-08 13 #include "lz4/lz4_decompress.c" e76e1fdf Kyungsik Lee 2013-07-08 14 #else e76e1fdf Kyungsik Lee 2013-07-08 15 #include e76e1fdf Kyungsik Lee 2013-07-08 16 #endif e76e1fdf Kyungsik Lee 2013-07-08 17 #include e76e1fdf Kyungsik Lee 2013-07-08 18 #include e76e1fdf Kyungsik Lee 2013-07-08 @19 #include e76e1fdf Kyungsik Lee 2013-07-08 20 #include e76e1fdf Kyungsik Lee 2013-07-08 21 e76e1fdf Kyungsik Lee 2013-07-08 22 #include e76e1fdf Kyungsik Lee 2013-07-08 23 e76e1fdf Kyungsik Lee 2013-07-08 24 /* e76e1fdf Kyungsik Lee 2013-07-08 25 * Note: Uncompressed chunk size is used in the compressor side e76e1fdf Kyungsik Lee 2013-07-08 26 * (userspace side for compression). e76e1fdf Kyungsik Lee 2013-07-08 27 * It is hardcoded because there is not proper way to extract it e76e1fdf Kyungsik Lee 2013-07-08 28 * from the binary stream which is generated by the preliminary e76e1fdf Kyungsik Lee 2013-07-08 29 * version of LZ4 tool so far. e76e1fdf Kyungsik Lee 2013-07-08 30 */ e76e1fdf Kyungsik Lee 2013-07-08 31 #define LZ4_DEFAULT_UNCOMPRESSED_CHUNK_SIZE (8 << 20) e76e1fdf Kyungsik Lee 2013-07-08 32 #define ARCHIVE_MAGICNUMBER 0x184C2102 e76e1fdf Kyungsik Lee 2013-07-08 33 d97b07c5 Yinghai Lu 2014-08-08 34 STATIC inline int INIT unlz4(u8 *input, long in_len, d97b07c5 Yinghai Lu 2014-08-08 35 long (*fill)(void *, unsigned long), d97b07c5 Yinghai Lu 2014-08-08 36 long (*flush)(void *, unsigned long), d97b07c5 Yinghai Lu 2014-08-08 37 u8 *output, long *posp, e76e1fdf Kyungsik Lee 2013-07-08 38 void (*error) (char *x)) e76e1fdf Kyungsik Lee 2013-07-08 39 { e76e1fdf Kyungsik Lee 2013-07-08 40 int ret = -1; e76e1fdf Kyungsik Lee 2013-07-08 41 size_t chunksize = 0; e76e1fdf Kyungsik Lee 2013-07-08 42 size_t uncomp_chunksize = LZ4_DEFAULT_UNCOMPRESSED_CHUNK_SIZE; e76e1fdf Kyungsik Lee 2013-07-08 43 u8 *inp; e76e1fdf Kyungsik Lee 2013-07-08 44 u8 *inp_start; e76e1fdf Kyungsik Lee 2013-07-08 45 u8 *outp; d97b07c5 Yinghai Lu 2014-08-08 46 long size = in_len; e76e1fdf Kyungsik Lee 2013-07-08 47 #ifdef PREBOOT e76e1fdf Kyungsik Lee 2013-07-08 48 size_t out_len = get_unaligned_le32(input + in_len); e76e1fdf Kyungsik Lee 2013-07-08 49 #endif e76e1fdf Kyungsik Lee 2013-07-08 50 size_t dest_len; e76e1fdf Kyungsik Lee 2013-07-08 51 e76e1fdf Kyungsik Lee 2013-07-08 52 e76e1fdf Kyungsik Lee 2013-07-08 53 if (output) { e76e1fdf Kyungsik Lee 2013-07-08 54 outp = output; e76e1fdf Kyungsik Lee 2013-07-08 55 } else if (!flush) { e76e1fdf Kyungsik Lee 2013-07-08 56 error("NULL output pointer and no flush function provided"); e76e1fdf Kyungsik Lee 2013-07-08 57 goto exit_0; e76e1fdf Kyungsik Lee 2013-07-08 58 } else { e76e1fdf Kyungsik Lee 2013-07-08 59 outp = large_malloc(uncomp_chunksize); e76e1fdf Kyungsik Lee 2013-07-08 60 if (!outp) { e76e1fdf Kyungsik Lee 2013-07-08 61 error("Could not allocate output buffer"); e76e1fdf Kyungsik Lee 2013-07-08 62 goto exit_0; e76e1fdf Kyungsik Lee 2013-07-08 63 } e76e1fdf Kyungsik Lee 2013-07-08 64 } e76e1fdf Kyungsik Lee 2013-07-08 65 e76e1fdf Kyungsik Lee 2013-07-08 66 if (input && fill) { e76e1fdf Kyungsik Lee 2013-07-08 67 error("Both input pointer and fill function provided,"); e76e1fdf Kyungsik Lee 2013-07-08 68 goto exit_1; e76e1fdf Kyungsik Lee 2013-07-08 69 } else if (input) { e76e1fdf Kyungsik Lee 2013-07-08 70 inp = input; e76e1fdf Kyungsik Lee 2013-07-08 71 } else if (!fill) { e76e1fdf Kyungsik Lee 2013-07-08 72 error("NULL input pointer and missing fill function"); e76e1fdf Kyungsik Lee 2013-07-08 73 goto exit_1; e76e1fdf Kyungsik Lee 2013-07-08 74 } else { e76e1fdf Kyungsik Lee 2013-07-08 @75 inp = large_malloc(lz4_compressbound(uncomp_chunksize)); e76e1fdf Kyungsik Lee 2013-07-08 76 if (!inp) { e76e1fdf Kyungsik Lee 2013-07-08 77 error("Could not allocate input buffer"); e76e1fdf Kyungsik Lee 2013-07-08 78 goto exit_1; :::::: The code at line 75 was first introduced by commit :::::: e76e1fdfa8f8dc1ea6699923cf5d92b5bee9c936 lib: add support for LZ4-compressed kernel :::::: TO: Kyungsik Lee :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation