Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp4274433imw; Tue, 12 Jul 2022 05:17:01 -0700 (PDT) X-Google-Smtp-Source: AGRyM1u4rhfBe+H8UJSsDp7uBDChg6bAk6iWSW6qC3oep+/lfrkcP7x3+j/4pkqyoHMI58tRwIi+ X-Received: by 2002:a17:907:6d12:b0:72b:6e70:8c7d with SMTP id sa18-20020a1709076d1200b0072b6e708c7dmr6327522ejc.23.1657628220808; Tue, 12 Jul 2022 05:17:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657628220; cv=none; d=google.com; s=arc-20160816; b=D352l2yKqQwZBYhNU/1AeMAMxRp5uy1ECuYZRa5ZBUOcvhK+XUESirQsVwkN+5qLgd BI1a6cem1BZGTFeZli2VgloBkeCzJCoA8SDaanWuLcr5PGboJBMoJIt2kU0f8fyzNEFF 5zanoOO+Xw7jkLdZOr0PhHsKdjMCU1rRTmgzB1cwY7NB2rpk/s65XSU45zCF/WA2uNoc hjCunFBidvxOjuV843ALE4yDkEfpEfFkNKv4hdDCfhMO7eyJYowgT61g75dclp5d/wIN QL7pW3GoTnDf5DjnCf+P6ZPxw/H1dCH0dGRJrohXTlILEeO4RZPhsKC9GVbxMt/f/vaE yXIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=OUm36JXbn2cFfASaBApIenl9AkY8jJt+kU3h2jjV/Do=; b=vJE657juawvFUp6urI1lOKEnppujgzLKtOMg5giItMC/GoagQkQWtsKh2eiWI19aEA feTDonJxx2IJGW48Fw5B4BvorwmV5HHnZMW8A+uzIujDTOhRlK338h11Nh3V6g9NyELK Wwd2ne5VDbaE4kTmcomp+Cd8z32LGvrLBlaGeZHDUFRA/3VlRrNv9Kb+S2NedU1FrllR NxzEqEppykqhYxZ5tW38Rq6NLJJitp01BieCFxYy3psZAYlq3ZPLliDZaYVdwELzlyPd nyqCW7G2kcr/6tquRz8X5+N+G01MZ4tiNMtOku5qL9Wd8VUNivD0QyxlfjUwyaWjLUIT AxIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=mlIxG6kQ; 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 fj20-20020a0564022b9400b0042ddcad3d7asi12262552edb.91.2022.07.12.05.16.35; Tue, 12 Jul 2022 05:17:00 -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=mlIxG6kQ; 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 S232995AbiGLLzk (ORCPT + 99 others); Tue, 12 Jul 2022 07:55:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230482AbiGLLzL (ORCPT ); Tue, 12 Jul 2022 07:55:11 -0400 Received: from mail-yb1-xb36.google.com (mail-yb1-xb36.google.com [IPv6:2607:f8b0:4864:20::b36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E0E4B520A for ; Tue, 12 Jul 2022 04:55:00 -0700 (PDT) Received: by mail-yb1-xb36.google.com with SMTP id 6so13514693ybc.8 for ; Tue, 12 Jul 2022 04:55:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OUm36JXbn2cFfASaBApIenl9AkY8jJt+kU3h2jjV/Do=; b=mlIxG6kQ1nJjyT6pnefCQ3hYABDyxXfo8vj7QqVR4W0A7RKYEtOLZa9MbrvvnIeMWR dfsXALkc0WEOD7PXmqQLiwLJ9xEBAysuby6yJKxj6646dvxPucmvvsZeyGqyiHsjL/GL /wqk0M7810Tm+4Nl/pBaBDlgMG3r6FU/a8y7b8hFbCrk8MOi8ARKr2IZ+H4FK9kdgidm o1sBcXYQMiH7/P2fq0YEUeWiPFgmGDtd/4ONHw7keEK/SPKD6yLtwB38/r44hQur7j9n zibhzt/o3QqDmHI8n+D5RAyIxVzPcB2S7X6hhOZi6r94M7FaOv56m0+LfqlZv8xH8OQO bNJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=OUm36JXbn2cFfASaBApIenl9AkY8jJt+kU3h2jjV/Do=; b=D0IFP1KiJiROdD1jb4qRH91Gim4IjvbWgCAkDeEdxcFgV3QYA/b3wBaOe/XBw5Qv0G P0wSRU91jzoZCnU6ewwmzAwpz0UEt4CzbXwx0HtlpHkPoBUQNY2fNF942NgK5c2SONcR zP3iRZIyFsj8A7jAt2lY12OOQkyzY2FKp8oB1v9gEDcstEY2x7T9Nq2FyTTDBnRaNDjF sPn0UE/698jvWKStHR/xnW28HTcD4bcaFjKyCFKl+J46cQaaP4ReLMv4gZqNy9390qJT ZoLa3Jfj+ovtUmU4mfTHNPjWiQOSRx00Nr1wVXQ/Z0QFeE6fZmU6M6DprHZX04ma+lit /erA== X-Gm-Message-State: AJIora9qgVOalVKO5u9poTjrOHYkSaz+tgJ7haDvHn7dBsgB+iv6qoSc nIe6yboDgcHZtwqFw0vLpx0fIAAxOzH/4JhQr4zv8A== X-Received: by 2002:a25:2d59:0:b0:66e:32d3:7653 with SMTP id s25-20020a252d59000000b0066e32d37653mr21902834ybe.625.1657626899153; Tue, 12 Jul 2022 04:54:59 -0700 (PDT) MIME-Version: 1.0 References: <20220701142310.2188015-1-glider@google.com> <20220701142310.2188015-13-glider@google.com> In-Reply-To: <20220701142310.2188015-13-glider@google.com> From: Marco Elver Date: Tue, 12 Jul 2022 13:54:23 +0200 Message-ID: Subject: Re: [PATCH v4 12/45] kmsan: disable instrumentation of unsupported common kernel code To: Alexander Potapenko 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 , 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=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_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 On Fri, 1 Jul 2022 at 16:23, Alexander Potapenko wrote: > > 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. The "This patch..." paragraph feels out of place, and feels like it should be part of a v4 changelog below ---. > Signed-off-by: Alexander Potapenko Otherwise, Reviewed-by: Marco Elver > --- > 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 >