Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp4564792pxb; Tue, 5 Oct 2021 05:55:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwiI9GO2ODlEDveMQSCTtWLSUD/u2kPV4KRruJqDzECBGMCPEaRYzWVEBH1gRgi4wVDuNvf X-Received: by 2002:a17:906:abcc:: with SMTP id kq12mr24486953ejb.107.1633438526306; Tue, 05 Oct 2021 05:55:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633438526; cv=none; d=google.com; s=arc-20160816; b=FmfC6oSZUJ6kNyN96NkcxdZJubAmmx9yp0ngXTeFvHJjJkcOBCSA0cSiK4+0dr2M0b fYJzxNn8xcWJFyqdd/IbRol+ZRGIEy2aXMxQ3jkWE+sLz5XqxbY4Bzx0t8U9hvjNcuxu P835fLpB9E5RkeD+Fz7X838UASFpoumdaaOelGonL7fOg+gAZ4CroZ/Oj9HL8GpWU+oI VQCE4nmkeSG4J+Bllnn8DqpbEljo/4ROeRvPXin8qblc4vVZuZrR6SzfIwORP2M5H//J ViPG1Q3CJx5YrSMKQPFAelEHNqHehZJDbe8xHTdHS4uQZ67+xRZF9wYmxxjnjTlDbVIa QqSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=3mL4e6pocxVR5OsISP9dNIeRYN7ixRmDV8QCVBso/L0=; b=0AC5ce+yz/0To174+s88Q9RPoWrnGsWmdWPva8Vx3IW8VDyuI0903dFQAmuep4K4Rz 4tpa8Hsm1uKFePGTO2foNATU+65KEwPdk7DmbpAl7jyCB3HqnAiIWq1HIgeIt+0jmlfi R/k5cgi0nQGdgBqV68AO7jv6iEA05BFgZaQAonvzQgICPY1sTloQ5nQ6FXb0jklBImwp D1Lxr7wrMwOYMY5jqIBHy5ETnHvHbE0A/2FVZEqRfXMz3g8EAjgGHNNgZ5acLO49G9cy BQnzx0NCfR9o7x+8Tmfz7peY69SB3lL5XzPbgnVn86uoRkSjHEjEW0pgJK+OiNXw9E5I eEOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=desiato.20200630 header.b=mgxTuiy9; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bo9si22258132ejb.690.2021.10.05.05.55.01; Tue, 05 Oct 2021 05:55:26 -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=@infradead.org header.s=desiato.20200630 header.b=mgxTuiy9; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234658AbhJEMzE (ORCPT + 99 others); Tue, 5 Oct 2021 08:55:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50316 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233825AbhJEMzD (ORCPT ); Tue, 5 Oct 2021 08:55:03 -0400 Received: from desiato.infradead.org (desiato.infradead.org [IPv6:2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 07D2DC061749; Tue, 5 Oct 2021 05:53:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=3mL4e6pocxVR5OsISP9dNIeRYN7ixRmDV8QCVBso/L0=; b=mgxTuiy9hW/M1nl8BaIQ6Qvws0 YMpUaUgLvtSSiyL3eQUj+/XylScDbvdNDuIA6xONAnbVYTxIRsjjDzurhwBABzA1M9hUAtvUKgIwQ YcLZf8yv9NcBiiS8MOkrYsKxYk5Hj2ugMGnp8+yUGSmRXx24CKa2hVWDs+F3udLOJpWH7ZVnqpXmb 8Inzuyu1FoOPkk+acWPg9ew+lmG1lRGkh1MTUY+FnEbTroysx3/vRDVw7Wh76x1AsvD6qhkQA1dJo TWa0NrBb+CKV+l+IZXnJSkMUsXTv+cs4Se6IWsMVeRpQS3HQ+T1eIjYM1O8s+MlAsApC8j1meHlL0 gJrLZP4Q==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=noisy.programming.kicks-ass.net) by desiato.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1mXjwF-0083AP-Q5; Tue, 05 Oct 2021 12:52:55 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 25C0130019C; Tue, 5 Oct 2021 14:52:54 +0200 (CEST) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id 134AD2026A8AF; Tue, 5 Oct 2021 14:52:54 +0200 (CEST) Date: Tue, 5 Oct 2021 14:52:54 +0200 From: Peter Zijlstra To: Marco Elver 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 Subject: Re: [PATCH -rcu/kcsan 04/23] kcsan: Add core support for a subset of weak memory modeling Message-ID: References: <20211005105905.1994700-1-elver@google.com> <20211005105905.1994700-5-elver@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20211005105905.1994700-5-elver@google.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. And since you want to mark these functions as uaccess_safe, there must not be any tracing on, hence notrace. > +static inline bool within_noinstr(unsigned long ip) { return false; } > +#else > +#define kcsan_noinstr noinstr > +static __always_inline bool within_noinstr(unsigned long ip) > +{ > + return (unsigned long)__noinstr_text_start <= ip && > + ip < (unsigned long)__noinstr_text_end; > +} > +#endif