Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp2955114ybk; Tue, 12 May 2020 12:13:49 -0700 (PDT) X-Google-Smtp-Source: APiQypLcMxIE2ElxXTY10BtMSQKQXDykwJ0W8YERLpQUx+7OdOqnmqxxPSNVUGQMQHIZIvweqm1K X-Received: by 2002:aa7:c98a:: with SMTP id c10mr19616336edt.94.1589310829280; Tue, 12 May 2020 12:13:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589310829; cv=none; d=google.com; s=arc-20160816; b=q0YouI6Bl1sy1f0GN2xovv8XOQtbO70KsfC1HqdHItwTDlwEHF9+ECobg66BiHPeUC 4q1CbsBWCa8k9kQqbbayfRco1rDegBC/9mRi7Gf5jUsMil4CRycxqoyW0us+YwuR6Y/5 bjCppaEZx66YTXneyuqdwAX/zrW3fYEmYrPjln/B6262XesNfg/txYXT4OBYuSWhh8Ko 1y0g0+hld92exec/iiwVqAnyeifeND3wSa3mIT+GHIICM+PFxh4oC9fJp10eF2KpEEsl Otc6pf21V8v5y9/hRqfgYcD+XTPqoBRWVsNehaV8qMQOujyCH11OXJa6LgfsNeU0Oaxn M3ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=EkBz8hLKynQENtHUYkQjAAzLTeUzsxCnvhIcGmmRee4=; b=Yh2QG+4J+m9dZYUFL1cKFXcX4fdbEuYNoMknVNB57ozTrYm1z3kzmNInMg33s6N8h7 bSqeBWlvorMqm32UOpNBJlRbyqmkXS8Ra99X+cSz+0YmeoXiwToyTuDoDU84aNKd5ibo PwhVAMIRdMV4ZzdYrk4FhFLcaGvYLbvWQec8VVodCTOoMk+U7U+Ck7TsSevnbb/SLATm bkCVz0ZORj4HT89PGcBqj7qIVZpP/i6lbDWyLJ7vst2DDVQ6roE4AueCo2+vX16yqtSd v+xv8zzugLx5/ZJlWkR1C/J/+O9+auTD12IwObQvGJvCqBUQYBxzLHlY3EC0V9A2VArS rCEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=rx5iU2PY; 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 f4si6449529ejb.362.2020.05.12.12.13.25; Tue, 12 May 2020 12:13:49 -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=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=rx5iU2PY; 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 S1730945AbgELTJP (ORCPT + 99 others); Tue, 12 May 2020 15:09:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53482 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725950AbgELTJP (ORCPT ); Tue, 12 May 2020 15:09:15 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5167DC061A0C for ; Tue, 12 May 2020 12:09:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; 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=EkBz8hLKynQENtHUYkQjAAzLTeUzsxCnvhIcGmmRee4=; b=rx5iU2PY27RbyPCEAflfMieaAM BbcBjv/8klju+FAKeV624PkopwbgwKm5IBIl8ojnVaawj/9eUD1KQtpuJhg3/GVZWHIdEXnaH/2Gv xQEONYoEsXyx+oU32rHBHqgIwex/BMF/MeLTwGrS35W3AaJFe1xWflr3laie6yn8ZMrxKf0hWMjD3 i04fPm1f2lL8zn5AelIeRmbn+wi52mA6toabAcbn4F+JHKmP8hxiRgwQyM+K/9IwnIDCIxsI6PYUD 9x0TB0gGtbP+S4XVH4LywCMo22b09ySPn24mYGPwxySCOOJnUinMc/bG0CI0Iyyylt7WhE9f1BSPI OWAh+6rQ==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=noisy.programming.kicks-ass.net) by bombadil.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1jYaHA-0001AY-4E; Tue, 12 May 2020 19:09:12 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id 8D121304DB2; Tue, 12 May 2020 21:09:10 +0200 (CEST) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id 7E65528B27274; Tue, 12 May 2020 21:09:10 +0200 (CEST) Date: Tue, 12 May 2020 21:09:10 +0200 From: Peter Zijlstra To: Marco Elver Cc: linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, Will Deacon , Thomas Gleixner , "Paul E . McKenney" , Ingo Molnar Subject: Re: [PATCH] READ_ONCE, WRITE_ONCE, kcsan: Perform checks in __*_ONCE variants Message-ID: <20200512190910.GM2957@hirez.programming.kicks-ass.net> References: <20200512183839.2373-1-elver@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200512183839.2373-1-elver@google.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 12, 2020 at 08:38:39PM +0200, Marco Elver wrote: > diff --git a/include/linux/compiler.h b/include/linux/compiler.h > index 741c93c62ecf..e902ca5de811 100644 > --- a/include/linux/compiler.h > +++ b/include/linux/compiler.h > @@ -224,13 +224,16 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val, > * atomicity or dependency ordering guarantees. Note that this may result > * in tears! > */ > -#define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) > +#define __READ_ONCE(x) \ > +({ \ > + kcsan_check_atomic_read(&(x), sizeof(x)); \ > + data_race((*(const volatile __unqual_scalar_typeof(x) *)&(x))); \ > +}) NAK This will actively insert instrumentation into __READ_ONCE() and I need it to not have any.