Received: by 2002:a25:1104:0:0:0:0:0 with SMTP id 4csp397877ybr; Fri, 22 May 2020 09:11:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyUOZ7Tdhnbrq0cZ2H6HRP+1vYuoxrCRJ9aY6x4pF3CE3t8XRQnz+gB7K/Cx+N3+MKVreGx X-Received: by 2002:a17:906:bcf3:: with SMTP id op19mr9006911ejb.537.1590163867571; Fri, 22 May 2020 09:11:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590163867; cv=none; d=google.com; s=arc-20160816; b=y4ZEI15NGEsDfOwwHYNBbL3GuRd8MEfZ4zEjyPGGE+agXtaZ3NtEPWI/p4fiMfVcHI ryKac+sP5CL9zjiMA3QYpjEDahQsAV2tmzfK/qQo7YXHl6KPHcsNmipY6xDV9xYIziXV pwMe/SfQc4W1SKTR55WBChZmfbbjpDl6AsZOTfDvj0pdYjWTU+XHDOehDSGtHsxFQ80e Mc3PLQAEeXmUfBbsLrhte6bk2bKmdecEdvZ2FM5C0Ih+VKp+P7lWQAXp1HsOBZsNpYIa 0vyXSHW+FEzM8eY11+c5e92wjlUgLxZ6NTDlaB+6svU2uN0UnHAegeOPxAwu6q3YH5xP QKsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :robot-unsubscribe:robot-id:message-id:mime-version:references :in-reply-to:cc:subject:to:reply-to:from:date; bh=OJdU8AYznjy0LWcAdMCv8SIzhaKbApnG1KLfzMSr2kE=; b=t6S5U+10NZWQUGmnhOGQLXtWGgns6mmYb43a7WG3OX0okXet8VF4rheQ/KRCVX3V7B 95WLP05Lz1TEbFPMDKSLb3M7bnJGdu3WsEGMkk42pKKoIUHlD5aZR8sHhgN8pQH1rV7L UJ7XbtUkSKItp6xoTpWIv+2iK2JYqd5xFplYUWatDgHaT2sQPrxzcU04+x7voomC4iu2 TIs0m8SOeXbLYdSlQVNhq+WLLhHAP7DxRAzWqNNmuh7QdBu5aI6x1pGHVWfgJYbCxVtM d4D+Iwpz+Tb/EWi5iizBTlyxqC25aU9ulvtTC1mgC8KhfbMRrfbgvUntMOYNP9glCid9 mg4w== ARC-Authentication-Results: i=1; mx.google.com; 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 j3si5266794ejb.294.2020.05.22.09.10.41; Fri, 22 May 2020 09:11:07 -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; 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 S1730706AbgEVQJH (ORCPT + 99 others); Fri, 22 May 2020 12:09:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730505AbgEVQIx (ORCPT ); Fri, 22 May 2020 12:08:53 -0400 Received: from Galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 76FB7C05BD43; Fri, 22 May 2020 09:08:53 -0700 (PDT) Received: from [5.158.153.53] (helo=tip-bot2.lab.linutronix.de) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1jcAE4-0000AI-DD; Fri, 22 May 2020 18:08:48 +0200 Received: from [127.0.1.1] (localhost [IPv6:::1]) by tip-bot2.lab.linutronix.de (Postfix) with ESMTP id 03B351C0480; Fri, 22 May 2020 18:08:48 +0200 (CEST) Date: Fri, 22 May 2020 16:08:47 -0000 From: "tip-bot2 for Marco Elver" Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: locking/kcsan] kcsan: Pass option tsan-instrument-read-before-write to Clang Cc: Marco Elver , Borislav Petkov , "Peter Zijlstra (Intel)" , Will Deacon , x86 , LKML In-Reply-To: <20200521142047.169334-5-elver@google.com> References: <20200521142047.169334-5-elver@google.com> MIME-Version: 1.0 Message-ID: <159016372791.17951.6422316885550727878.tip-bot2@tip-bot2> X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the locking/kcsan branch of tip: Commit-ID: 52dfbb97a90fbf6a9826f15a71fca37861330a13 Gitweb: https://git.kernel.org/tip/52dfbb97a90fbf6a9826f15a71fca37861330a13 Author: Marco Elver AuthorDate: Thu, 21 May 2020 16:20:40 +02:00 Committer: Borislav Petkov CommitterDate: Fri, 22 May 2020 14:57:39 +02:00 kcsan: Pass option tsan-instrument-read-before-write to Clang Clang (unlike GCC) removes reads before writes with matching addresses in the same basic block. This is an optimization for TSAN, since writes will always cause conflict if the preceding read would have. However, for KCSAN we cannot rely on this option, because we apply several special rules to writes, in particular when the KCSAN_ASSUME_PLAIN_WRITES_ATOMIC option is selected. To avoid missing potential data races, pass the -tsan-instrument-read-before-write option to Clang if it is available [1]. [1] https://github.com/llvm/llvm-project/commit/151ed6aa38a3ec6c01973b35f684586b6e1c0f7e Signed-off-by: Marco Elver Signed-off-by: Borislav Petkov Acked-by: Peter Zijlstra (Intel) Acked-by: Will Deacon Link: https://lkml.kernel.org/r/20200521142047.169334-5-elver@google.com --- scripts/Makefile.kcsan | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/Makefile.kcsan b/scripts/Makefile.kcsan index 75d2942..bd4da1a 100644 --- a/scripts/Makefile.kcsan +++ b/scripts/Makefile.kcsan @@ -13,6 +13,7 @@ endif # of some options does not break KCSAN nor causes false positive reports. CFLAGS_KCSAN := -fsanitize=thread \ $(call cc-option,$(call cc-param,tsan-instrument-func-entry-exit=0) -fno-optimize-sibling-calls) \ + $(call cc-option,$(call cc-param,tsan-instrument-read-before-write=1)) \ $(call cc-param,tsan-distinguish-volatile=1) endif # CONFIG_KCSAN