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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6B7CFC678D5 for ; Wed, 8 Mar 2023 21:07:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B067C6B0074; Wed, 8 Mar 2023 16:07:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AB6B46B0078; Wed, 8 Mar 2023 16:07:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 97E056B007B; Wed, 8 Mar 2023 16:07:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 877F66B0074 for ; Wed, 8 Mar 2023 16:07:42 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 514DCAB724 for ; Wed, 8 Mar 2023 21:07:42 +0000 (UTC) X-FDA: 80546967564.28.22B61E8 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf20.hostedemail.com (Postfix) with ESMTP id 5A39E1C0010 for ; Wed, 8 Mar 2023 21:07:39 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=hE0xSCDW; dmarc=none; spf=pass (imf20.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678309659; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1tZS66wnRIOfg2m75XQJgprBP5YbUNHiRX4RfIQP2Rc=; b=dzQ8EQSXm7+I5Y8ydfAaN7SirreFOLP4IScamcz3VXoG/fZH6I0oCSls3adHgC8fnWrrDC H0+nM0/TSg6RJRvO1pGg5LHaURHQtTmLnwA0wmmCI+asi5Pmo5+R/CNZ4J9UzVC4Nsq2sc Z55JsGsd2PyjWZBHQxsAAWV4L7/eeCo= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=hE0xSCDW; dmarc=none; spf=pass (imf20.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678309659; a=rsa-sha256; cv=none; b=ZW3r9Z9us0rc/sS96lKmhFhPOk3WMUkw7ULI4YDAVDG4qdrrtzV47E6UzZ3yFRGvZ16dIC tEC+hyJ71TZz7G/3GkBeARDqLXdoRZo5hMQ57pNtEJJZz0b1Cy4FuCcb0NGMhB1EFIYS81 n9OPCJbzx5AecbLbdVr0WFqEdhMZbCE= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id B77B2B81269; Wed, 8 Mar 2023 21:07:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2815FC433D2; Wed, 8 Mar 2023 21:07:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1678309656; bh=5sBw8YBMWuDsTbdbyhx6tx4mTGUCbOpZNEfsUaiN8/E=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=hE0xSCDWku5sQr6qlduKFf1GwZt4ZBDMUM3uyCf7WAbSYeYDfiycmTFVOtGYinABV aXQeB0zoYOeqzrlJRs2QonBG1I70ayGpj86gpHo8vLSlYWg9yKdRMhY+gQ3e6nmvJt 6sYQhVCQucWgD8VeGFMYr7MkVPudVjXguKEFHt3c= Date: Wed, 8 Mar 2023 13:07:35 -0800 From: Andrew Morton To: kernel test robot Cc: Marco Elver , llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, Linux Memory Management List , Andrey Konovalov , Alexander Potapenko Subject: Re: ld.lld: error: undefined symbol: memcpy Message-Id: <20230308130735.bbc4b21a3aff977bced451fa@linux-foundation.org> In-Reply-To: <202303090422.ss2Hbm4f-lkp@intel.com> References: <202303090422.ss2Hbm4f-lkp@intel.com> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 5A39E1C0010 X-Stat-Signature: b71fdi6buft9c7i9d8655kaymebhinr6 X-HE-Tag: 1678309659-444662 X-HE-Meta: U2FsdGVkX18pGULQk24fbuOCIcGCn7cv5wyqknfqtLhvRI5NIgMjfpRERPHMsfEskfm8RItknrxUFFVSU/uRAiRZWcdsnp4SRyCWNLTk65pwabdAHvBdplPPkO2Bcll7Xevm6MAfsAnoZDR552loXL1s9UU/nSYPrNt3VLw5OqP1m2wke9fA6gzHykbX4SFXuNtSlROpdvgWaK17ARxJF9HiB3tORc2RK/tTVSaziJilcuHHpJavADbslWR7+sD0/o+/HVZ3WHGQJC9NENM6PGlI1pxWBpDOpSTG4ptceotiKsM9Ou0Fkt7cFnmrMZd38iTgHm3e2C/QPl2qbZY+fShItbBSoW0Noiytiupct5lBV4NJvFK4wyw1Vq8pia3oIoPOASlXjtwCVA64pd/zVDYxTQZRp4+02rXvZlVv45bfC1o58SNE6eRwD+r2KRPYbp7iU749xwTbR+RzsWQra1tLV8SH4rNc/39r/YU//sFopO+tslrcm3qcGsJ2UptvykuMaEJ2W9Ib+KSl/QoVHAXEwxho4GvwgC8LkMP/v9qy8EFZzTLpzgNusifEva839fjpYO5mDahGSLyFMsY0ioaB1ieRZPt26ZhFhx7hpmdAI4E31Yc0lFdQy8sVSKQ7VK5bgehmduQ1l80FhPV91KHF/eZdooiXMS4/ucls2G9+8ST5/6KWPg2cfwxP21LXiLj+8r0R/Tceyc9eBjJPISb8zI46QdO6APq0gWb0GjZPe0os6Jz5iRHkTQLwW60IZ5VARxZ4XYT01kN4d90EFQSzNSI/+mUwzZ90vnnjzDKRvjzXbSnwUV9nH9FHZbDj9R4yCwUAZwWBJfFwores0xV883405W6dAd7qG4FMfVAPWfglKgatDYxe0V1T3yJWaA85oXDm+ZsRYbsnjNlXHCqDEhmFakwWKUeK1Xod4RD8AYgZ7qMxolsW4c1VAhUh3hHw5XXSwEPMUJNh9z8 f/eHq6ti UV+7oL5xt86vxR38DXUnAt7oxhybIxF+BT0Xq7ANH1rbhWdBhy4nRR8lEhxO3c6gXXnxlp/o6aP0SCJHBY63F2YZ3S9wPWLhO6RmrSSPvQg+Zr/9KEDdU511TVCCjCiOQpCE/oucxtlcVxC0A1MQ2dFL7j7p3/a//qg+nZ1WK+sLs41Zt2j2d5vMUkb0n6Jm9pi4hXMIGGksJ8mJvaksW8qx+6cI2jB5bonepsPDWH17MXxnBi+ifqVMZguO/LpO02r8BITftKtcahiM2AcGRnVTOGKYSemr8yQXIgWM0+iyr4V3na0k4Tr29yQlb8CLn27dr98luqFnfSAKaLyeXfTCnjPTm+Oj5RAemj+uAohcvt8nXOHekEiWuhBKFiVNfHqY4a0y+OwHpKcn6bkKZ7o4r3AiNjY531yPZkugSr4xZkj1NNleQ08Lizf8q5eskEWQkTbRGXhptX0ioLukuKDmjfzFsH7Od4G688LeziMiAUfDk49yterBATNFajWy1TzkL2KakAP+Qg3Emvrt9kG5Ht22vxeaceJMBENDC3BF2WyDKLxjFvGOMYaRFw2fNPY/WKUwBu+23BX5psSvbxeYVc23bcD1qzKWiW/tcX/gtahEMUwvi0VlnGAOvTstlbUavt9WvB/Y1jFA7koFOB4bPqvDSduaXTH4hlK9/MgTlVep6o4XZe7qdPGDB5U5uVbzAhKYnQuAXGXfBiGAMukOvFl3JQOzrH5kkUmz5nkJTTD4Gw8TmEfuasuvFDeeWMeWAr8A8y0gw/Vw= 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: On Thu, 9 Mar 2023 05:01:04 +0800 kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: 63355b9884b3d1677de6bd1517cd2b8a9bf53978 > commit: 36be5cba99f6f9984a9a9f0454f95a38f4184d3e kasan: treat meminstrinsic as builtins in uninstrumented files > date: 6 days ago > config: powerpc-randconfig-r036-20230305 (https://download.01.org/0day-ci/archive/20230309/202303090422.ss2Hbm4f-lkp@intel.com/config) > compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7) > 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 > # install powerpc cross compiling tool for clang build > # apt-get install binutils-powerpc-linux-gnu > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=36be5cba99f6f9984a9a9f0454f95a38f4184d3e > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > git fetch --no-tags linus master > git checkout 36be5cba99f6f9984a9a9f0454f95a38f4184d3e > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc olddefconfig > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot > | Link: https://lore.kernel.org/oe-kbuild-all/202303090422.ss2Hbm4f-lkp@intel.com/ > > All errors (new ones prefixed by >>): > > >> ld.lld: error: undefined symbol: memcpy > >>> referenced by xmon.c:1896 (arch/powerpc/xmon/xmon.c:1896) > >>> arch/powerpc/xmon/xmon.o:(prregs) in archive vmlinux.a > >>> referenced by zstd_compress.c:4814 (lib/zstd/compress/zstd_compress.c:4814) > >>> lib/zstd/compress/zstd_compress.o:(ZSTD_createCDict_advanced2) in archive vmlinux.a > >>> referenced by zstd_compress.c:4910 (lib/zstd/compress/zstd_compress.c:4910) > >>> lib/zstd/compress/zstd_compress.o:(ZSTD_initStaticCDict) in archive vmlinux.a > >>> referenced 5 more times > -- > >> ld.lld: error: undefined symbol: memset > >>> referenced by slab_common.c:579 (mm/slab_common.c:579) > >>> mm/slab_common.o:(kmem_dump_obj) in archive vmlinux.a > >>> referenced by kasan_test.c:558 (mm/kasan/kasan_test.c:558) > >>> mm/kasan/kasan_test.o:(kmalloc_oob_in_memset) in archive vmlinux.a > >>> referenced by kasan_test.c:505 (mm/kasan/kasan_test.c:505) > >>> mm/kasan/kasan_test.o:(kmalloc_oob_memset_2) in archive vmlinux.a > >>> referenced 10 more times > Will this fix? From: Alexander Potapenko Subject: x86: kmsan: don't rename memintrinsics in uninstrumented files Date: Fri, 3 Mar 2023 15:14:30 +0100 clang -fsanitize=kernel-memory already replaces calls to memset/memcpy/memmove and their __builtin_ versions with __msan_memset/__msan_memcpy/__msan_memmove in instrumented files, so there is no need to override them. In non-instrumented versions we are now required to leave memset() and friends intact, so we cannot replace them with __msan_XXX() functions. Link: https://lkml.kernel.org/r/20230303141433.3422671-1-glider@google.com Signed-off-by: Alexander Potapenko Suggested-by: Marco Elver Reviewed-by: Marco Elver Cc: Kees Cook Cc: Daniel Vetter Cc: Geert Uytterhoeven Cc: Helge Deller Cc: Tetsuo Handa Signed-off-by: Andrew Morton --- --- a/arch/x86/include/asm/string_64.h~x86-kmsan-dont-rename-memintrinsics-in-uninstrumented-files +++ a/arch/x86/include/asm/string_64.h @@ -15,22 +15,11 @@ #endif #define __HAVE_ARCH_MEMCPY 1 -#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY) -#undef memcpy -#define memcpy __msan_memcpy -#else extern void *memcpy(void *to, const void *from, size_t len); -#endif extern void *__memcpy(void *to, const void *from, size_t len); #define __HAVE_ARCH_MEMSET -#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY) -extern void *__msan_memset(void *s, int c, size_t n); -#undef memset -#define memset __msan_memset -#else void *memset(void *s, int c, size_t n); -#endif void *__memset(void *s, int c, size_t n); #define __HAVE_ARCH_MEMSET16 @@ -70,13 +59,7 @@ static inline void *memset64(uint64_t *s } #define __HAVE_ARCH_MEMMOVE -#if defined(__SANITIZE_MEMORY__) && defined(__NO_FORTIFY) -#undef memmove -void *__msan_memmove(void *dest, const void *src, size_t len); -#define memmove __msan_memmove -#else void *memmove(void *dest, const void *src, size_t count); -#endif void *__memmove(void *dest, const void *src, size_t count); int memcmp(const void *cs, const void *ct, size_t count); _