Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp4583163pxb; Tue, 5 Oct 2021 06:15:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxLnZ0Qo6F9j3RODPUcTjOJnXQsUtscmWiItqAPk0kX+TShN2jg4uPm941y/RApgVQs1xxO X-Received: by 2002:a17:906:4ccf:: with SMTP id q15mr24377270ejt.9.1633439740608; Tue, 05 Oct 2021 06:15:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633439740; cv=none; d=google.com; s=arc-20160816; b=qlDBl16PbEEHoTYd0IdyZya084cHwrKASskJoEaURH27uqGNxM2bveeVaZyAJ3jMLt H0OTbFyB54/OxPkeVXGh5SVNKo8yebrhuUjc/SXUFmPUvm6wOsf4TAHr4cGtH/lAO3S5 e52cd9zgiT15FRb4BzJi/pucIraeig0N+pFnab9CatlIjtsrqyklQj0h+I32qfn8bBV/ SpP3/7h2H2PscUE+yY/SPPbrm2mRwjMhtzvmDHicgYChvmvO0tVPrGCQBH8yX7NOuhu7 EWG60770VH/mtih/cV5Y0nykD0rc8B1FawmKWafriGIDc2UxDb5MKBYoXKRDGO2rQOrW 035A== 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=6G7malU1QffNFlLHyGnF0GE1rVke+5aiG8YVR53mxq8=; b=EBVXJ/dv7LWXFpIIe7/TzvO4WjwJxO2kHOfB1NgdMGdxsG485joW4tle/ZJKIwOJVv dXrlX8K4KDtFNAHj1gsbLVqghtmjOO7Fr+72w+KEw6qDhsmKUJP0h1Ohp/GrB1jle8G+ +It7f51KiXbju6+uuuJkitxtQJXN4LkFCpto1PGqh8tlshfNNYish+xWpbbXBdWs5vTj cZrRpmUjctSnKD+SXKo/grqdSXTDnlHtb0ivGia7ljbzqXREsfg13HxPTXHKIXoIHRrJ z/gq5PO907sJhLvUeu7sTzTnJiHjlCG2ZWyATVax30SUPfeBltK6Y/k4SSJJSMkC9Nwf 6KqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="Uo5Dxx/8"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 3si21751805ejq.564.2021.10.05.06.15.10; Tue, 05 Oct 2021 06:15:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="Uo5Dxx/8"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S233910AbhJENP3 (ORCPT + 99 others); Tue, 5 Oct 2021 09:15:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234307AbhJENP2 (ORCPT ); Tue, 5 Oct 2021 09:15:28 -0400 Received: from mail-oo1-xc32.google.com (mail-oo1-xc32.google.com [IPv6:2607:f8b0:4864:20::c32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 91639C061755 for ; Tue, 5 Oct 2021 06:13:37 -0700 (PDT) Received: by mail-oo1-xc32.google.com with SMTP id h11-20020a4aa74b000000b002a933d156cbso6410314oom.4 for ; Tue, 05 Oct 2021 06:13:37 -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=6G7malU1QffNFlLHyGnF0GE1rVke+5aiG8YVR53mxq8=; b=Uo5Dxx/8CK3cBObyCN+G6zjFAZKGtDxuUZOCiZhE8emJWurCVGfpeQbXCqRz/ifw8h 5hJG4lOZ1j+wsv17NwZ2izgQ7JLzW/ft2ZZ3ui7naNTAy9MMSaSzlMSgOCEBE0K7Qs0t PGSRYvlOSlUpoORJazPfM8UN/kLb9qnhtdMtq0XuKNTETS4ZCdnWTuLhsuCks3oPF//n wf8xGuAxUqWcWqkBx+CDmE/gNFN5HOJjTlwmMXm8VSDfCjJt1mgSLS0RjAeKs7jE1lCa uTfhMSHLyVhB2mkQfBO+UMdTDtPE/eSnpRBBglK2HfZhOmKx3KBZqBW59LtAzXHqvVZb JaFg== 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=6G7malU1QffNFlLHyGnF0GE1rVke+5aiG8YVR53mxq8=; b=JoxmiHtB0/AQjwZs/O5FnehbqZUt4exh0hs+AWxvWTcsSrdQYDmF37o3pzR0jxwwi3 nLS4E2RVu61/fDhSTURVD+oNFc3yOj5QPL0E2EJB7RoBf+poRPAssrcvrcxjlEYrthOa ASLNwtwt1T3P1ihRkQ35kdUfRgVhSBR96RDVLNSzloVHCgxIFe8quXW+1hCbj4dZhWvD 4uwbKI/a4o6hJn/ym8tBgEdgsxAxGvaZvz6WsCRs3poaoaLY6QbKziWPPSwy7yD4LHcn UmmK2sc+hM2SxpdiqPR911CzXPiQS1V0IxJ4vAFrNGAJVwO7VefL46JDCdtJJYa9zIFO WTrQ== X-Gm-Message-State: AOAM532KzWtpkxrtn/EyCOo0G4KqFwYia/nttCrpg1ZzM1hgZMfoD6U2 ITy2Ze9sa5Jb0pYxmCy/xKYxvcjkQijEZHIEl1KvOw== X-Received: by 2002:a4a:de57:: with SMTP id z23mr13364623oot.70.1633439616620; Tue, 05 Oct 2021 06:13:36 -0700 (PDT) MIME-Version: 1.0 References: <20211005105905.1994700-1-elver@google.com> <20211005105905.1994700-5-elver@google.com> In-Reply-To: From: Marco Elver Date: Tue, 5 Oct 2021 15:13:25 +0200 Message-ID: Subject: Re: [PATCH -rcu/kcsan 04/23] kcsan: Add core support for a subset of weak memory modeling To: Peter Zijlstra Cc: "Paul E . McKenney" , Alexander Potapenko , Boqun Feng , Borislav Petkov , Dmitry Vyukov , Ingo Molnar , Josh Poimboeuf , Mark Rutland , Thomas Gleixner , Waiman Long , Will Deacon , kasan-dev@googlegroups.com, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 5 Oct 2021 at 14:53, Peter Zijlstra wrote: > On Tue, Oct 05, 2021 at 12:58:46PM +0200, Marco Elver wrote: > > +#if !defined(CONFIG_ARCH_WANTS_NO_INSTR) || defined(CONFIG_STACK_VALIDATION) > > +/* > > + * Arch does not rely on noinstr, or objtool will remove memory barrier > > + * instrumentation, and no instrumentation of noinstr code is expected. > > + */ > > +#define kcsan_noinstr > > I think this still wants to be at the very least: > > #define kcsan_noinstr noinline notrace > > without noinline it is possible LTO (or similarly daft things) will end > up inlining the calls, and since we rely on objtool to NOP out CALLs > this must not happen. Good point about noinline, will add. > And since you want to mark these functions as uaccess_safe, there must > not be any tracing on, hence notrace. In the Makefile we've relied on: CFLAGS_REMOVE_core.o = $(CC_FLAGS_FTRACE) just to disable it for all code here. That should be enough, right?