Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp5230364rwi; Mon, 17 Oct 2022 17:52:51 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6Sn1ADHTpdgy5U8YgtEIqjXdj9Pdqz58aKEOwWb2+NBVnuRlz5oqUQBpe7GqJ/xy8c/TBn X-Received: by 2002:a17:906:4fd1:b0:787:434f:d755 with SMTP id i17-20020a1709064fd100b00787434fd755mr309529ejw.356.1666054371514; Mon, 17 Oct 2022 17:52:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666054371; cv=none; d=google.com; s=arc-20160816; b=JRAKc8aN/aFf5hzbNIvHZaVernZZ3lRnY7kMs4SQ+K37SMWrPTvA/dXwF5icNik41a TmFojgfEDb2+5lpW+lZMKrUZ2+Y6XeUsE8sqqmeU4Eu+H4eZt1mXLaLsePwMgDb2dYHH 0GCI+Ec/eff3EEAx/sMO+oLxA0K67/5TVzh9WrU/tALUfraBGYHJ2ejXONx289tizU2t CMMz6mGiTdPL/xyT8XfnZ4RqI/Fmuj7IxPUhuozyBXYA334XNRg7MaczboocSPLyuite 4TYee9WrPZuECFaLy0YHp7rbysTMwmDduO3iSb6Puya99yk5y82jE0r1kz7tf1ikP4Wf ySxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=VG6xAZlY2cNAnYSxZIbUuyq630idordrSIss5QKQJpM=; b=rI8yuGsV/BQl9AkQ+/rIVKDJ91Sv+tNp89deCye69HOgi9Y1n3sFI1HlUeZr9NCdwl jh++1UoJSyry3FDCKPTZ47HF3OAP5mPgDkxq49d74E3MpnNVwbNIpcDQ5Ki22aoZpt1B 7xT5DlWxKjRJwpiKmK/lWuPYReyqEypTaop5MLngPupwKU4qfrk9udZxYIFEaH6rcbYn EVD0Z7N3850Q8xRZE6FKRB1mXyNnlCAO/dZmeqeTbwALHcuL13DbCw0eHVf6wxCga3nf l/n3DP6uQROFhdEC9EzPUzDOH0HnISfZ+Wc4DQkYGoduSUR4+pvglILa5+oOTwXVXRE3 OX0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=njAzXxbq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id du18-20020a17090772d200b0078dbed58d26si10221059ejc.635.2022.10.17.17.52.26; Mon, 17 Oct 2022 17:52:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=njAzXxbq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231240AbiJRAK2 (ORCPT + 99 others); Mon, 17 Oct 2022 20:10:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36714 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231298AbiJRAJN (ORCPT ); Mon, 17 Oct 2022 20:09:13 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5116188A3D; Mon, 17 Oct 2022 17:08:22 -0700 (PDT) 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 AFF68B81BE2; Tue, 18 Oct 2022 00:08:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7EA90C433D6; Tue, 18 Oct 2022 00:08:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666051700; bh=NqURN77r9MhBGrwVVovenXOafIgRuDAmFLodlWUYiJA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=njAzXxbq+YX3MEC7lZe5l8eAN1t/7bhHf0SjL+PcFHI+f0xyrNuhI+ZvP8g1D463k mEL5V+Ss1qDhZ7cuEBBWIOJd/gswVXVlhrtNcIt5Ua4jTnMeys68TQL9mXr+7ctUgk MPMonWO3KspIWVWdxcj0sXHNAmdpWVFtTLLIu4dSJLW58TaL3Ji71hqHg4tvr680BU FnL8Fdi8QPWN0qSBmsljsKIyXmJnS9xGj/X/FI1UI616zrxsM6fA49HNWUBat3rVIA k/mUvvzlSGJjJVvzLMLgOJG9x6Q3nCVrV49kJmUh/QTqTguNhlll2yfh1Kb00iBwue BBkKzMHWPyqlw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Alexander Potapenko , Marco Elver , Alexander Viro , Alexei Starovoitov , Andrey Konovalov , Andrey Konovalov , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Christoph Hellwig , Christoph Lameter , David Rientjes , Dmitry Vyukov , Eric Biggers , Eric Biggers , Eric Dumazet , Greg Kroah-Hartman , Herbert Xu , Ilya Leoshkevich , Ingo Molnar , Jens Axboe , Joonsoo Kim , Kees Cook , Mark Rutland , Matthew Wilcox , "Michael S . Tsirkin" , Pekka Enberg , Peter Zijlstra , Petr Mladek , Stephen Rothwell , Steven Rostedt , Thomas Gleixner , Vasily Gorbik , Vegard Nossum , Vlastimil Babka , Andrew Morton , Sasha Levin , ardb@kernel.org, will@kernel.org, jgross@suse.com, christophe.leroy@csgroup.eu, mhiramat@kernel.org, mcgrof@kernel.org, dmitry.torokhov@gmail.com, atomlin@redhat.com, yangtiezhu@loongson.cn, davidgow@google.com, sander@svanheule.net, Jason@zx2c4.com, isabbasso@riseup.net, hare@suse.de, linux-efi@vger.kernel.org Subject: [PATCH AUTOSEL 6.0 22/32] kmsan: disable instrumentation of unsupported common kernel code Date: Mon, 17 Oct 2022 20:07:19 -0400 Message-Id: <20221018000729.2730519-22-sashal@kernel.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221018000729.2730519-1-sashal@kernel.org> References: <20221018000729.2730519-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Alexander Potapenko [ Upstream commit 79dbd006a6d6f51777ba4948046561b6d9270504 ] EFI stub cannot be linked with KMSAN runtime, so we disable instrumentation for it. Instrumenting kcov, stackdepot or lockdep leads to infinite recursion caused by instrumentation hooks calling instrumented code again. Link: https://lkml.kernel.org/r/20220915150417.722975-13-glider@google.com Signed-off-by: Alexander Potapenko Reviewed-by: Marco Elver Cc: Alexander Viro Cc: Alexei Starovoitov Cc: Andrey Konovalov Cc: Andrey Konovalov Cc: Andy Lutomirski Cc: Arnd Bergmann Cc: Borislav Petkov Cc: Christoph Hellwig Cc: Christoph Lameter Cc: David Rientjes Cc: Dmitry Vyukov Cc: Eric Biggers Cc: Eric Biggers Cc: Eric Dumazet Cc: Greg Kroah-Hartman Cc: Herbert Xu Cc: Ilya Leoshkevich Cc: Ingo Molnar Cc: Jens Axboe Cc: Joonsoo Kim Cc: Kees Cook Cc: Mark Rutland Cc: Matthew Wilcox Cc: Michael S. Tsirkin Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Petr Mladek Cc: Stephen Rothwell Cc: Steven Rostedt Cc: Thomas Gleixner Cc: Vasily Gorbik Cc: Vegard Nossum Cc: Vlastimil Babka Signed-off-by: Andrew Morton Signed-off-by: Sasha Levin --- drivers/firmware/efi/libstub/Makefile | 1 + kernel/Makefile | 1 + kernel/locking/Makefile | 3 ++- lib/Makefile | 3 +++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile index 2c67f71f2375..2c1eb1fb0f22 100644 --- a/drivers/firmware/efi/libstub/Makefile +++ b/drivers/firmware/efi/libstub/Makefile @@ -53,6 +53,7 @@ GCOV_PROFILE := n # Sanitizer runtimes are unavailable and cannot be linked here. KASAN_SANITIZE := n KCSAN_SANITIZE := n +KMSAN_SANITIZE := n UBSAN_SANITIZE := n OBJECT_FILES_NON_STANDARD := y diff --git a/kernel/Makefile b/kernel/Makefile index 318789c728d3..d754e0be1176 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -38,6 +38,7 @@ KCOV_INSTRUMENT_kcov.o := n KASAN_SANITIZE_kcov.o := n KCSAN_SANITIZE_kcov.o := n UBSAN_SANITIZE_kcov.o := n +KMSAN_SANITIZE_kcov.o := n CFLAGS_kcov.o := $(call cc-option, -fno-conserve-stack) -fno-stack-protector # Don't instrument error handlers diff --git a/kernel/locking/Makefile b/kernel/locking/Makefile index d51cabf28f38..ea925731fa40 100644 --- a/kernel/locking/Makefile +++ b/kernel/locking/Makefile @@ -5,8 +5,9 @@ KCOV_INSTRUMENT := n obj-y += mutex.o semaphore.o rwsem.o percpu-rwsem.o -# Avoid recursion lockdep -> KCSAN -> ... -> lockdep. +# Avoid recursion lockdep -> sanitizer -> ... -> lockdep. KCSAN_SANITIZE_lockdep.o := n +KMSAN_SANITIZE_lockdep.o := n ifdef CONFIG_FUNCTION_TRACER CFLAGS_REMOVE_lockdep.o = $(CC_FLAGS_FTRACE) diff --git a/lib/Makefile b/lib/Makefile index ffabc30a27d4..fcebece0f5b6 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -275,6 +275,9 @@ obj-$(CONFIG_POLYNOMIAL) += polynomial.o CFLAGS_stackdepot.o += -fno-builtin obj-$(CONFIG_STACKDEPOT) += stackdepot.o KASAN_SANITIZE_stackdepot.o := n +# In particular, instrumenting stackdepot.c with KMSAN will result in infinite +# recursion. +KMSAN_SANITIZE_stackdepot.o := n KCOV_INSTRUMENT_stackdepot.o := n obj-$(CONFIG_REF_TRACKER) += ref_tracker.o -- 2.35.1