Received: by 2002:ac0:c50a:0:0:0:0:0 with SMTP id y10csp1329362imi; Fri, 1 Jul 2022 07:36:32 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vMjHTGU0O3G1MV71/kEV3nTjW8WnJysTz/2HpBRjA54Apk6kOkPzSSJdTR722tVBp3pAxK X-Received: by 2002:a17:902:ee55:b0:16a:5b2:a2b0 with SMTP id 21-20020a170902ee5500b0016a05b2a2b0mr21371773plo.133.1656686192743; Fri, 01 Jul 2022 07:36:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656686192; cv=none; d=google.com; s=arc-20160816; b=uPTK+zPmU4cqt0ElYPhdE/fB40em0A7rgZagPoa++WXL2iLo4rueFruKECTn497l4z KDRVAEzNFuaiaQsjVb2Hxmd+dst5BZVFt1Q89QGGg6nln/cEvAhbRPyRHeR1OWIetOpn LwCrW3gUx4JgvGNKcs1AZq5zuccGGsEnrLbvNCY9mM+Lkf2w/DNUIOmh4SAF3CpNUQHt bGfRBSjU7rIFRSpMhKdhJH9L9+oMCJ7zlq/7FYZZqg+0rdy9EuAnvtY75JOfmSVJx2Gs luaXC5PyEKD7n2OT9pqCgCKayuNPCWXMKhrK6lglkQ3im/G0i4zsSE+9WQQ+PRTnGH2S sxoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=prMZkaWSelYFGUo1Yp0oSlk2FGuv/jH48kix0SjfSqo=; b=F3CIPpX5/+IOjfP/vvbX+QUhFa/4kwoHz4s6wRMbRhKOr40SIGrOWxjJtUh1qwoWQN QtliAyYxWaXPE7zeMopMjRxnAaEKb67eS2uhr14URIARD/jjJbGRgRaSDN0bXLzWji65 bDU7TdlCg6wot0Q4ZPLqinEeSH74e6TF0iz81YA55d27cLqBCnh7HFBCXIGMLWara5Sd RrqT3X60z7QxGRW/ZEy9d6dCh7Gy/kFWiYR94f6vth0Vltbk79JqswMPhBINSndurJfK 02cvi1zR5DETAyDn0X3N9WTTdV8XdLHZrFOighOcggmcPB5B6UnQ6G3MyXxKTMeKgzSX 0WFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=hUrPjZ5x; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id np11-20020a17090b4c4b00b001ece9122d4esi13614785pjb.86.2022.07.01.07.36.18; Fri, 01 Jul 2022 07:36:32 -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=@google.com header.s=20210112 header.b=hUrPjZ5x; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231776AbiGAOZQ (ORCPT + 99 others); Fri, 1 Jul 2022 10:25:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40034 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229882AbiGAOYe (ORCPT ); Fri, 1 Jul 2022 10:24:34 -0400 Received: from mail-lf1-x14a.google.com (mail-lf1-x14a.google.com [IPv6:2a00:1450:4864:20::14a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D69C3D491 for ; Fri, 1 Jul 2022 07:23:50 -0700 (PDT) Received: by mail-lf1-x14a.google.com with SMTP id b2-20020a0565120b8200b00477a4532448so1186711lfv.22 for ; Fri, 01 Jul 2022 07:23:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=prMZkaWSelYFGUo1Yp0oSlk2FGuv/jH48kix0SjfSqo=; b=hUrPjZ5xQAK1rq1Z9VjevL+FrrINSG0tRRhgiAbMolgJVMWGIx4r5RfIMIwzpxc6ms gUg7hKctDb4wQE3VOaCHWIV2LGy5Ucp2ZAB7kF9GJdFo1NEyX0t952wecwLOOKno1+2E 1rgmYSk4NtJQfzw9K/W+3BAffRewOQGfttd7giwJGo9MV8LuZwy/QsokSAd/dtQcFE3M z+L8uHLCgsAlvhMmnJc8Wq3E2JUFEG6y6kF7zDOvDO2SeAdTgKBtF3nkCOG4j2QwCqre z530iem10UaCweSv2liUUURMK8s4nPk+0u5brQ3OdzHhBaeQjctMcqzwscixL/Fwjs+v C1qQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=prMZkaWSelYFGUo1Yp0oSlk2FGuv/jH48kix0SjfSqo=; b=nWWAbc/ijUM+v2Oq5wumcPU8JLPhfWkco31hAQDEup58P5DSWlBYkfGMnncPLsHYp8 HBmPp6/v3dDLu4zAG8oVDYrvVVHlTPPsWEs7KYVEQscQxYHHsr4VZE94bhOQg/7dPRzR +eNaGuTJbuIODe3QxeVPNkoH+ntlAQNyB3BbrVOJX4XgmYAVPUyHecstCDGByP/ZXXy/ lwa+J+8Vate8z8BMcaIj4X/VrxP1dxvA21q0lfUv6olqiodoNnndweGrqYFx6o59EOhl +o6oiQGETax8spG9Bbyw++jC5a8dbvANrDzXWQ1Ch2vS0gnBnKdZTmpVLqpIEpd1K4br l6yw== X-Gm-Message-State: AJIora+ueD2rei694zvS6uVmOngfQ7XJQVPzJcayikxzXzJu9TklOo5P 0LTgiLNviepmswVku0tCQtm+RDQNDBg= X-Received: from glider.muc.corp.google.com ([2a00:79e0:9c:201:a6f5:f713:759c:abb6]) (user=glider job=sendgmr) by 2002:a05:6512:2622:b0:481:5b17:58e7 with SMTP id bt34-20020a056512262200b004815b1758e7mr2552760lfb.600.1656685428893; Fri, 01 Jul 2022 07:23:48 -0700 (PDT) Date: Fri, 1 Jul 2022 16:22:37 +0200 In-Reply-To: <20220701142310.2188015-1-glider@google.com> Message-Id: <20220701142310.2188015-13-glider@google.com> Mime-Version: 1.0 References: <20220701142310.2188015-1-glider@google.com> X-Mailer: git-send-email 2.37.0.rc0.161.g10f37bed90-goog Subject: [PATCH v4 12/45] kmsan: disable instrumentation of unsupported common kernel code From: Alexander Potapenko To: glider@google.com Cc: Alexander Viro , Alexei Starovoitov , Andrew Morton , Andrey Konovalov , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Christoph Hellwig , Christoph Lameter , David Rientjes , Dmitry Vyukov , Eric Dumazet , Greg Kroah-Hartman , Herbert Xu , Ilya Leoshkevich , Ingo Molnar , Jens Axboe , Joonsoo Kim , Kees Cook , Marco Elver , Mark Rutland , Matthew Wilcox , "Michael S. Tsirkin" , Pekka Enberg , Peter Zijlstra , Petr Mladek , Steven Rostedt , Thomas Gleixner , Vasily Gorbik , Vegard Nossum , Vlastimil Babka , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL autolearn=unavailable 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 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. This patch was previously part of "kmsan: disable KMSAN instrumentation for certain kernel parts", but was split away per Mark Rutland's request. Signed-off-by: Alexander Potapenko --- Link: https://linux-review.googlesource.com/id/I41ae706bd3474f074f6a870bfc3f0f90e9c720f7 --- drivers/firmware/efi/libstub/Makefile | 1 + kernel/Makefile | 1 + kernel/locking/Makefile | 3 ++- lib/Makefile | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile index d0537573501e9..81432d0c904b1 100644 --- a/drivers/firmware/efi/libstub/Makefile +++ b/drivers/firmware/efi/libstub/Makefile @@ -46,6 +46,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 a7e1f49ab2b3b..e47f0526c987f 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 d51cabf28f382..ea925731fa40f 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 f99bf61f8bbc6..5056769d00bb6 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -272,6 +272,7 @@ obj-$(CONFIG_POLYNOMIAL) += polynomial.o CFLAGS_stackdepot.o += -fno-builtin obj-$(CONFIG_STACKDEPOT) += stackdepot.o KASAN_SANITIZE_stackdepot.o := n +KMSAN_SANITIZE_stackdepot.o := n KCOV_INSTRUMENT_stackdepot.o := n obj-$(CONFIG_REF_TRACKER) += ref_tracker.o -- 2.37.0.rc0.161.g10f37bed90-goog