Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp1403107pxb; Wed, 30 Mar 2022 02:42:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyTda8DPg8sSslID3tFfdK4IxSlOIihoZUfF9gYUL25UiHmKYQiUqEVM+sjZWzI29b+sher X-Received: by 2002:a17:906:58c7:b0:6da:955b:d300 with SMTP id e7-20020a17090658c700b006da955bd300mr39703375ejs.481.1648633356809; Wed, 30 Mar 2022 02:42:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648633356; cv=none; d=google.com; s=arc-20160816; b=Bi7uAk1m5QU7c7WZQzz53YvZf75ztpzfz2XKBY4BjvguLRgaFMZK48Am6+7tFk7sfQ IrOru07uCY8x63Zs7Hp/GHSrezMz8bmktM9L1RZiSucu+MNOrdw8m+v6QX1L9pG/rU3m +De23VmFDQwzRhL5j0yda8SNZEJRX/W6frDBGUm1gymi1tfGrHVq8uJ7rbqlHwp+YEz7 rGhIwI8qj1uy4UK6CYLIQn3p7hjzCEBj3ylLei+FSzlFSry4WdFgt9n8tux3Q5tFwtuS GfpODyTTkSQE9yr4TnDZNGHLjOVciuPL69eCb6kw14Bj/oIuv7SuZLz0bBrwKeA41XVO Se6g== 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=sAExT7SSSN10XTsfQtAC8lmzod9gG+fvZFiYZO+nEYE=; b=MG3fdrYUl5XksitEvvkslyIb/TQGOvMjw6kifYTW/mD7a7MO3v6MM5eqx5Lm2Vewab 5H/h9nuaO9KWzeh2sUfAh59Co5rlBReAIcKmr0eNcq1iWFRoo8IsmmwzPPqEg8EdPqxN xXUiGYSVQvhq7i8P78O+BigXkNvpuhRsaOIeYjYKj79QVK6Eniy3dbg/GWJIRVGDQgch nMZ83LygnQtL34WzWQBmH+axOakQROVelfvX4xF+PutYc6TtBg2PR+jHs+xDXji7lZO2 jlfu9Kq1nDGFXfvHllsphBoGP+q7z8BfrdRskVGsIqF4C/5w1ryis5yhW9zNgfL4Xy95 1Txg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=D6F1SQps; 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 ch11-20020a0564021bcb00b00418c2b5bef5si18522462edb.471.2022.03.30.02.42.10; Wed, 30 Mar 2022 02:42:36 -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=D6F1SQps; 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 S236485AbiC2Mn4 (ORCPT + 99 others); Tue, 29 Mar 2022 08:43:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34008 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236528AbiC2Mm7 (ORCPT ); Tue, 29 Mar 2022 08:42:59 -0400 Received: from mail-ej1-x649.google.com (mail-ej1-x649.google.com [IPv6:2a00:1450:4864:20::649]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A5D90220B1B for ; Tue, 29 Mar 2022 05:41:11 -0700 (PDT) Received: by mail-ej1-x649.google.com with SMTP id jx2-20020a170907760200b006dfc374c502so8134023ejc.7 for ; Tue, 29 Mar 2022 05:41:11 -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=sAExT7SSSN10XTsfQtAC8lmzod9gG+fvZFiYZO+nEYE=; b=D6F1SQpsqCx29Z1hyC0VZ9QPHGSIXqGIXoKTX1t41Ec2/BI7aZiEaJshNZSDnAZ7nS N0yqCJQ1PeJoGgtRjd8nBmpux8LP0+eBYvj27cf5rvJF2ttWc9OSvKWGhvOFaPjbxaN2 iLVvCLMm9/YCzNogYHden+UNUQUg7Gu8PKy6sCZn5PGrBo+vg4vbm5DyaR/Hu6lfTDxe bBZIR0eLro+O+0mwMGrZMyVEi8Yrq+V0gNiY+vIntbaE/O8ubQGR276mculXvjUvzEt3 F9sCA4kDsGFBoicnwuxq29jXZYbDMu4MZup8guVtOlSWws6VucaX5kmprRui40j9NH5o h+ug== 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=sAExT7SSSN10XTsfQtAC8lmzod9gG+fvZFiYZO+nEYE=; b=X/RbhvhXIWXiqbVsL4ONfUFh5K3isUgNrlk2Pjf3h8hoH0hwzLuei2njOJmxiywFrm N2EvZKxq29G3VizrrE4HZuzmSOqqJEF2xRFwonNRLHCwWewvmqTP2zhfU21eWwxshveX mBeCbKSBjWwUA8Xj7zBuTxlm1j+EJIRQ16YUP2ft5m4AUSF3IWg28y0FeI3TbJ3e0x3J iB28WYXfEjrPjjxLT8rgZ1HnhjYu3buzIjAlrEyFqxgA3+HLeBDH5Bnfwg9/HQiAwS40 YL8TC6V4HAQtSdlUIcDJOs//C5pOTD5572z4VGWJXZJ01vKSrnUVn0/EwCdi4t8mm2vk cFcg== X-Gm-Message-State: AOAM531dBHivvGKk62Sd4lOrrywhIab3oyFWv+G0y4QnOTvKtViUIpBC /bdWNjYjw6GO2Ahfq+m4WKeb2XYYs14= X-Received: from glider.muc.corp.google.com ([2a00:79e0:15:13:36eb:759:798f:98c3]) (user=glider job=sendgmr) by 2002:a05:6402:d69:b0:418:f7bd:b076 with SMTP id ec41-20020a0564020d6900b00418f7bdb076mr4306755edb.268.1648557669972; Tue, 29 Mar 2022 05:41:09 -0700 (PDT) Date: Tue, 29 Mar 2022 14:39:44 +0200 In-Reply-To: <20220329124017.737571-1-glider@google.com> Message-Id: <20220329124017.737571-16-glider@google.com> Mime-Version: 1.0 References: <20220329124017.737571-1-glider@google.com> X-Mailer: git-send-email 2.35.1.1021.g381101b075-goog Subject: [PATCH v2 15/48] kmsan: disable instrumentation of unsupported common kernel code From: Alexander Potapenko To: glider@google.com Cc: Alexander Viro , 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 , 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=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 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 56f4ee97f3284..80f6cfb60c020 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -39,6 +39,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 300f569c626b0..0ac9b38ec172e 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -269,6 +269,7 @@ obj-$(CONFIG_IRQ_POLL) += irq_poll.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.35.1.1021.g381101b075-goog