From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============1326752218872378714==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [linux-next:master 4298/4500] include/linux/fortify-string.h:20:29: warning: argument 1 null where non-null expected Date: Mon, 18 Jan 2021 22:46:30 +0800 Message-ID: <202101182217.AI3THdpO-lkp@intel.com> List-Id: --===============1326752218872378714== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git= master head: 93bf8b946e5f9a0b0c68155597b53fd8ccce2827 commit: 1068f9c7eade6a755a2fe3b60b9941cf44ee2888 [4298/4500] string.h: move= fortified functions definitions in a dedicated header. config: s390-randconfig-r013-20210118 (attached as .config) compiler: s390-linux-gcc (GCC) 9.3.0 reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.g= it/commit/?id=3D1068f9c7eade6a755a2fe3b60b9941cf44ee2888 git remote add linux-next https://git.kernel.org/pub/scm/linux/kern= el/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 1068f9c7eade6a755a2fe3b60b9941cf44ee2888 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-9.3.0 make.cross = ARCH=3Ds390 = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): lib/zstd/decompress.c:126:12: warning: no previous prototype for 'ZSTD_c= reateDCtx_advanced' [-Wmissing-prototypes] 126 | ZSTD_DCtx *ZSTD_createDCtx_advanced(ZSTD_customMem customMem) | ^~~~~~~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c:394:8: warning: no previous prototype for 'ZSTD_ge= tcBlockSize' [-Wmissing-prototypes] 394 | size_t ZSTD_getcBlockSize(const void *src, size_t srcSize, block= Properties_t *bpPtr) | ^~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c:432:8: warning: no previous prototype for 'ZSTD_de= codeLiteralsBlock' [-Wmissing-prototypes] 432 | size_t ZSTD_decodeLiteralsBlock(ZSTD_DCtx *dctx, const void *src= , size_t srcSize) /* note : srcSize < BLOCKSIZE */ | ^~~~~~~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c:794:8: warning: no previous prototype for 'ZSTD_de= codeSeqHeaders' [-Wmissing-prototypes] 794 | size_t ZSTD_decodeSeqHeaders(ZSTD_DCtx *dctx, int *nbSeqPtr, con= st void *src, size_t srcSize) | ^~~~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c:1497:8: warning: no previous prototype for 'ZSTD_g= enerateNxBytes' [-Wmissing-prototypes] 1497 | size_t ZSTD_generateNxBytes(void *dst, size_t dstCapacity, BYTE = byte, size_t length) | ^~~~~~~~~~~~~~~~~~~~ In file included from lib/zstd/decompress.c:35: lib/zstd/zstd_internal.h:124:18: warning: 'OF_defaultNormLog' defined bu= t not used [-Wunused-const-variable=3D] 124 | static const U32 OF_defaultNormLog =3D OF_DEFAULTNORMLOG; | ^~~~~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:122:18: warning: 'OF_defaultNorm' defined but n= ot used [-Wunused-const-variable=3D] 122 | static const S16 OF_defaultNorm[MaxOff + 1] =3D {1, 1, 1, 1, 1, = 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1= }; | ^~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:120:18: warning: 'ML_defaultNormLog' defined bu= t not used [-Wunused-const-variable=3D] 120 | static const U32 ML_defaultNormLog =3D ML_DEFAULTNORMLOG; | ^~~~~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:117:18: warning: 'ML_defaultNorm' defined but n= ot used [-Wunused-const-variable=3D] 117 | static const S16 ML_defaultNorm[MaxML + 1] =3D {1, 4, 3, 2, 2, 2= , 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ^~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:113:18: warning: 'LL_defaultNormLog' defined bu= t not used [-Wunused-const-variable=3D] 113 | static const U32 LL_defaultNormLog =3D LL_DEFAULTNORMLOG; | ^~~~~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:111:18: warning: 'LL_defaultNorm' defined but n= ot used [-Wunused-const-variable=3D] 111 | static const S16 LL_defaultNorm[MaxLL + 1] =3D {4, 3, 2, 2, 2, 2= , 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 1, 1, 1= , 1, -1, -1, -1, -1}; | ^~~~~~~~~~~~~~ In file included from include/linux/string.h:269, from lib/zstd/mem.h:24, from lib/zstd/bitstream.h:54, from lib/zstd/fse.h:228, from lib/zstd/decompress.c:32: In function 'memcpy', inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:416:= 2, inlined from 'ZSTD_decompressStream'@lib/zstd/decompress.c:2354:5: >> include/linux/fortify-string.h:20:29: warning: argument 1 null where non= -null expected [-Wnonnull] 20 | #define __underlying_memcpy __builtin_memcpy | ^ include/linux/fortify-string.h:191:9: note: in expansion of macro '__und= erlying_memcpy' 191 | return __underlying_memcpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c: In function 'ZSTD_decompressStream': include/linux/fortify-string.h:20:29: note: in a call to built-in functi= on '__builtin_memcpy' 20 | #define __underlying_memcpy __builtin_memcpy | ^ include/linux/fortify-string.h:191:9: note: in expansion of macro '__und= erlying_memcpy' 191 | return __underlying_memcpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~ In function 'memset', inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:426:= 2, inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2354:5: include/linux/fortify-string.h:22:29: warning: argument 1 null where non= -null expected [-Wnonnull] 22 | #define __underlying_memset __builtin_memset | ^ include/linux/fortify-string.h:175:9: note: in expansion of macro '__und= erlying_memset' 175 | return __underlying_memset(p, c, size); | ^~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c: In function 'ZSTD_decompressStream': include/linux/fortify-string.h:22:29: note: in a call to built-in functi= on '__builtin_memset' 22 | #define __underlying_memset __builtin_memset | ^ include/linux/fortify-string.h:175:9: note: in expansion of macro '__und= erlying_memset' 175 | return __underlying_memset(p, c, size); | ^~~~~~~~~~~~~~~~~~~ In function 'memcpy', inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:416:= 2, inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2357:6: >> include/linux/fortify-string.h:20:29: warning: argument 1 null where non= -null expected [-Wnonnull] 20 | #define __underlying_memcpy __builtin_memcpy | ^ include/linux/fortify-string.h:191:9: note: in expansion of macro '__und= erlying_memcpy' 191 | return __underlying_memcpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c: In function 'ZSTD_decompressStream': include/linux/fortify-string.h:20:29: note: in a call to built-in functi= on '__builtin_memcpy' 20 | #define __underlying_memcpy __builtin_memcpy | ^ include/linux/fortify-string.h:191:9: note: in expansion of macro '__und= erlying_memcpy' 191 | return __underlying_memcpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~ In function 'memset', inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:426:= 2, inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2357:6: include/linux/fortify-string.h:22:29: warning: argument 1 null where non= -null expected [-Wnonnull] 22 | #define __underlying_memset __builtin_memset | ^ include/linux/fortify-string.h:175:9: note: in expansion of macro '__und= erlying_memset' 175 | return __underlying_memset(p, c, size); | ^~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c: In function 'ZSTD_decompressStream': include/linux/fortify-string.h:22:29: note: in a call to built-in functi= on '__builtin_memset' 22 | #define __underlying_memset __builtin_memset | ^ include/linux/fortify-string.h:175:9: note: in expansion of macro '__und= erlying_memset' 175 | return __underlying_memset(p, c, size); | ^~~~~~~~~~~~~~~~~~~ vim +20 include/linux/fortify-string.h 4 = 5 = 6 #if defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS) 7 extern void *__underlying_memchr(const void *p, int c, __kernel_size= _t size) __RENAME(memchr); 8 extern int __underlying_memcmp(const void *p, const void *q, __kerne= l_size_t size) __RENAME(memcmp); 9 extern void *__underlying_memcpy(void *p, const void *q, __kernel_si= ze_t size) __RENAME(memcpy); 10 extern void *__underlying_memmove(void *p, const void *q, __kernel_s= ize_t size) __RENAME(memmove); 11 extern void *__underlying_memset(void *p, int c, __kernel_size_t siz= e) __RENAME(memset); 12 extern char *__underlying_strcat(char *p, const char *q) __RENAME(st= rcat); 13 extern char *__underlying_strcpy(char *p, const char *q) __RENAME(st= rcpy); 14 extern __kernel_size_t __underlying_strlen(const char *p) __RENAME(s= trlen); 15 extern char *__underlying_strncat(char *p, const char *q, __kernel_s= ize_t count) __RENAME(strncat); 16 extern char *__underlying_strncpy(char *p, const char *q, __kernel_s= ize_t size) __RENAME(strncpy); 17 #else 18 #define __underlying_memchr __builtin_memchr 19 #define __underlying_memcmp __builtin_memcmp > 20 #define __underlying_memcpy __builtin_memcpy 21 #define __underlying_memmove __builtin_memmove 22 #define __underlying_memset __builtin_memset 23 #define __underlying_strcat __builtin_strcat 24 #define __underlying_strcpy __builtin_strcpy 25 #define __underlying_strlen __builtin_strlen 26 #define __underlying_strncat __builtin_strncat 27 #define __underlying_strncpy __builtin_strncpy 28 #endif 29 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============1326752218872378714== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============1326752218872378714==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4F6D6C433E0 for ; Mon, 18 Jan 2021 14:46:56 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id AF0F622C7E for ; Mon, 18 Jan 2021 14:46:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AF0F622C7E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id E03456B0272; Mon, 18 Jan 2021 09:46:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DB4106B0273; Mon, 18 Jan 2021 09:46:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C53908D0018; Mon, 18 Jan 2021 09:46:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0149.hostedemail.com [216.40.44.149]) by kanga.kvack.org (Postfix) with ESMTP id A8BBD6B0272 for ; Mon, 18 Jan 2021 09:46:54 -0500 (EST) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 66D0F180AD807 for ; Mon, 18 Jan 2021 14:46:54 +0000 (UTC) X-FDA: 77719172748.18.ship53_5f1019f2754a Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin18.hostedemail.com (Postfix) with ESMTP id 3D0C5100ED3C3 for ; Mon, 18 Jan 2021 14:46:54 +0000 (UTC) X-HE-Tag: ship53_5f1019f2754a X-Filterd-Recvd-Size: 30905 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by imf26.hostedemail.com (Postfix) with ESMTP for ; Mon, 18 Jan 2021 14:46:51 +0000 (UTC) IronPort-SDR: VmJ1/CrDHMwoZ0EuQEOFLO2QhA/tdIZuitvgwwEJXgVp94OI2ypKXSi1MFN4ii3K437wZkWPjM SlkUbrGrOjkA== X-IronPort-AV: E=McAfee;i="6000,8403,9867"; a="178961744" X-IronPort-AV: E=Sophos;i="5.79,356,1602572400"; d="gz'50?scan'50,208,50";a="178961744" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jan 2021 06:46:44 -0800 IronPort-SDR: ndshVxNpEonlv4icR56QvEgiEkzIojG/hPXMZ2ide4J3LbSNdrHYSRP1MnkWDLe9My7+27kRFs vAvlXFRzGhRA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,356,1602572400"; d="gz'50?scan'50,208,50";a="402068056" Received: from lkp-server01.sh.intel.com (HELO 260eafd5ecd0) ([10.239.97.150]) by fmsmga002.fm.intel.com with ESMTP; 18 Jan 2021 06:46:42 -0800 Received: from kbuild by 260eafd5ecd0 with local (Exim 4.92) (envelope-from ) id 1l1Vnl-0004Kx-KE; Mon, 18 Jan 2021 14:46:41 +0000 Date: Mon, 18 Jan 2021 22:46:30 +0800 From: kernel test robot To: Francis Laniel Cc: kbuild-all@lists.01.org, Linux Memory Management List , Andrew Morton Subject: [linux-next:master 4298/4500] include/linux/fortify-string.h:20:29: warning: argument 1 null where non-null expected Message-ID: <202101182217.AI3THdpO-lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="VbJkn9YxBvnuCH5J" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --VbJkn9YxBvnuCH5J Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 93bf8b946e5f9a0b0c68155597b53fd8ccce2827 commit: 1068f9c7eade6a755a2fe3b60b9941cf44ee2888 [4298/4500] string.h: move fortified functions definitions in a dedicated header. config: s390-randconfig-r013-20210118 (attached as .config) compiler: s390-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=1068f9c7eade6a755a2fe3b60b9941cf44ee2888 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 1068f9c7eade6a755a2fe3b60b9941cf44ee2888 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): lib/zstd/decompress.c:126:12: warning: no previous prototype for 'ZSTD_createDCtx_advanced' [-Wmissing-prototypes] 126 | ZSTD_DCtx *ZSTD_createDCtx_advanced(ZSTD_customMem customMem) | ^~~~~~~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c:394:8: warning: no previous prototype for 'ZSTD_getcBlockSize' [-Wmissing-prototypes] 394 | size_t ZSTD_getcBlockSize(const void *src, size_t srcSize, blockProperties_t *bpPtr) | ^~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c:432:8: warning: no previous prototype for 'ZSTD_decodeLiteralsBlock' [-Wmissing-prototypes] 432 | size_t ZSTD_decodeLiteralsBlock(ZSTD_DCtx *dctx, const void *src, size_t srcSize) /* note : srcSize < BLOCKSIZE */ | ^~~~~~~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c:794:8: warning: no previous prototype for 'ZSTD_decodeSeqHeaders' [-Wmissing-prototypes] 794 | size_t ZSTD_decodeSeqHeaders(ZSTD_DCtx *dctx, int *nbSeqPtr, const void *src, size_t srcSize) | ^~~~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c:1497:8: warning: no previous prototype for 'ZSTD_generateNxBytes' [-Wmissing-prototypes] 1497 | size_t ZSTD_generateNxBytes(void *dst, size_t dstCapacity, BYTE byte, size_t length) | ^~~~~~~~~~~~~~~~~~~~ In file included from lib/zstd/decompress.c:35: lib/zstd/zstd_internal.h:124:18: warning: 'OF_defaultNormLog' defined but not used [-Wunused-const-variable=] 124 | static const U32 OF_defaultNormLog = OF_DEFAULTNORMLOG; | ^~~~~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:122:18: warning: 'OF_defaultNorm' defined but not used [-Wunused-const-variable=] 122 | static const S16 OF_defaultNorm[MaxOff + 1] = {1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1}; | ^~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:120:18: warning: 'ML_defaultNormLog' defined but not used [-Wunused-const-variable=] 120 | static const U32 ML_defaultNormLog = ML_DEFAULTNORMLOG; | ^~~~~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:117:18: warning: 'ML_defaultNorm' defined but not used [-Wunused-const-variable=] 117 | static const S16 ML_defaultNorm[MaxML + 1] = {1, 4, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | ^~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:113:18: warning: 'LL_defaultNormLog' defined but not used [-Wunused-const-variable=] 113 | static const U32 LL_defaultNormLog = LL_DEFAULTNORMLOG; | ^~~~~~~~~~~~~~~~~ lib/zstd/zstd_internal.h:111:18: warning: 'LL_defaultNorm' defined but not used [-Wunused-const-variable=] 111 | static const S16 LL_defaultNorm[MaxLL + 1] = {4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 1, 1, 1, 1, -1, -1, -1, -1}; | ^~~~~~~~~~~~~~ In file included from include/linux/string.h:269, from lib/zstd/mem.h:24, from lib/zstd/bitstream.h:54, from lib/zstd/fse.h:228, from lib/zstd/decompress.c:32: In function 'memcpy', inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:416:2, inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2354:5: >> include/linux/fortify-string.h:20:29: warning: argument 1 null where non-null expected [-Wnonnull] 20 | #define __underlying_memcpy __builtin_memcpy | ^ include/linux/fortify-string.h:191:9: note: in expansion of macro '__underlying_memcpy' 191 | return __underlying_memcpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c: In function 'ZSTD_decompressStream': include/linux/fortify-string.h:20:29: note: in a call to built-in function '__builtin_memcpy' 20 | #define __underlying_memcpy __builtin_memcpy | ^ include/linux/fortify-string.h:191:9: note: in expansion of macro '__underlying_memcpy' 191 | return __underlying_memcpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~ In function 'memset', inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:426:2, inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2354:5: include/linux/fortify-string.h:22:29: warning: argument 1 null where non-null expected [-Wnonnull] 22 | #define __underlying_memset __builtin_memset | ^ include/linux/fortify-string.h:175:9: note: in expansion of macro '__underlying_memset' 175 | return __underlying_memset(p, c, size); | ^~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c: In function 'ZSTD_decompressStream': include/linux/fortify-string.h:22:29: note: in a call to built-in function '__builtin_memset' 22 | #define __underlying_memset __builtin_memset | ^ include/linux/fortify-string.h:175:9: note: in expansion of macro '__underlying_memset' 175 | return __underlying_memset(p, c, size); | ^~~~~~~~~~~~~~~~~~~ In function 'memcpy', inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:416:2, inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2357:6: >> include/linux/fortify-string.h:20:29: warning: argument 1 null where non-null expected [-Wnonnull] 20 | #define __underlying_memcpy __builtin_memcpy | ^ include/linux/fortify-string.h:191:9: note: in expansion of macro '__underlying_memcpy' 191 | return __underlying_memcpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c: In function 'ZSTD_decompressStream': include/linux/fortify-string.h:20:29: note: in a call to built-in function '__builtin_memcpy' 20 | #define __underlying_memcpy __builtin_memcpy | ^ include/linux/fortify-string.h:191:9: note: in expansion of macro '__underlying_memcpy' 191 | return __underlying_memcpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~ In function 'memset', inlined from 'ZSTD_decompressContinue' at lib/zstd/decompress.c:426:2, inlined from 'ZSTD_decompressStream' at lib/zstd/decompress.c:2357:6: include/linux/fortify-string.h:22:29: warning: argument 1 null where non-null expected [-Wnonnull] 22 | #define __underlying_memset __builtin_memset | ^ include/linux/fortify-string.h:175:9: note: in expansion of macro '__underlying_memset' 175 | return __underlying_memset(p, c, size); | ^~~~~~~~~~~~~~~~~~~ lib/zstd/decompress.c: In function 'ZSTD_decompressStream': include/linux/fortify-string.h:22:29: note: in a call to built-in function '__builtin_memset' 22 | #define __underlying_memset __builtin_memset | ^ include/linux/fortify-string.h:175:9: note: in expansion of macro '__underlying_memset' 175 | return __underlying_memset(p, c, size); | ^~~~~~~~~~~~~~~~~~~ vim +20 include/linux/fortify-string.h 4 5 6 #if defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS) 7 extern void *__underlying_memchr(const void *p, int c, __kernel_size_t size) __RENAME(memchr); 8 extern int __underlying_memcmp(const void *p, const void *q, __kernel_size_t size) __RENAME(memcmp); 9 extern void *__underlying_memcpy(void *p, const void *q, __kernel_size_t size) __RENAME(memcpy); 10 extern void *__underlying_memmove(void *p, const void *q, __kernel_size_t size) __RENAME(memmove); 11 extern void *__underlying_memset(void *p, int c, __kernel_size_t size) __RENAME(memset); 12 extern char *__underlying_strcat(char *p, const char *q) __RENAME(strcat); 13 extern char *__underlying_strcpy(char *p, const char *q) __RENAME(strcpy); 14 extern __kernel_size_t __underlying_strlen(const char *p) __RENAME(strlen); 15 extern char *__underlying_strncat(char *p, const char *q, __kernel_size_t count) __RENAME(strncat); 16 extern char *__underlying_strncpy(char *p, const char *q, __kernel_size_t size) __RENAME(strncpy); 17 #else 18 #define __underlying_memchr __builtin_memchr 19 #define __underlying_memcmp __builtin_memcmp > 20 #define __underlying_memcpy __builtin_memcpy 21 #define __underlying_memmove __builtin_memmove 22 #define __underlying_memset __builtin_memset 23 #define __underlying_strcat __builtin_strcat 24 #define __underlying_strcpy __builtin_strcpy 25 #define __underlying_strlen __builtin_strlen 26 #define __underlying_strncat __builtin_strncat 27 #define __underlying_strncpy __builtin_strncpy 28 #endif 29 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --VbJkn9YxBvnuCH5J Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 yhx4yQAA --VbJkn9YxBvnuCH5J--