Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp4475950pxb; Tue, 5 Oct 2021 04:02:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJySK+m7e7oYSE7MwXUGmlJ2rt7WeBoRsG07CSx56ra1hwP2U4JoegSgnwKTWSe3P0p2no95 X-Received: by 2002:a17:907:7fa8:: with SMTP id qk40mr23813185ejc.445.1633431763596; Tue, 05 Oct 2021 04:02:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633431763; cv=none; d=google.com; s=arc-20160816; b=WhcSSBZShv5RMGUGmn6g7LqtGIgCfUHCQ3EN3jUiLdJpdt6c0nPKFysc/72L0X7qVe zsLxQ22Tmefv1a3O09F/ge1CE7TuRcuuHEmun2hjBpbAPFsEmMCGtSK79NqVs7cKWZ+m 6DGSIk3y41E7N2rwflQbiN/IQvatlBfusUuApAazWJ2ybjhMOS91NkNk8Oi2ebkI9pUs 7VJXIUbahK9y2qusEYstEhz6u8eP3TuN844Vu4QckQmiDfjtxdN72W0ngGEO4PNVb4ID QYLGSMxcVN6ZADJFABYEdQBUQYYAybcTToT0yefpwD9CbwvaS+ay02c/bd0yNXDt7lvL wx2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=8oN1Tye/sfpVxOoza0f1n5GzdtTeuegmg43uvYtdPIg=; b=vxLJ9Xz/dI7oh1RK6lwPtVGkv5NINndLOGBquRuXE6hQQufmlk5KLm39xS7u+ZMUs9 ANNZIG2kA1XPNVHe4+hwExtFqOHlA2GvL4TwzrhIPVJvR3+9r6sPjE6miT2gDZHCuDqd Qarg0J8SqZ3ywlk8X8Ybrt1ZAO+ddNbGdjYdvQFSybtzCmWEA0YKRRwPk1aYf+WkB6pQ RtSMnljxY5jMhstSDAjXyAodPn6DKVr0U/adjoTwRxeo6JYt0TQh8+DlRAL4Cj/UXMJd v8U9cF1k3IsN7yKCRAIVpWjKxuA4QXTH3g1W2HYuyCPgON/g1bBrMAwGEmmsA7xS3ABu GIig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=JR+7ySSA; 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 eb13si34419853edb.334.2021.10.05.04.02.08; Tue, 05 Oct 2021 04:02:43 -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=JR+7ySSA; 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 S234310AbhJELCH (ORCPT + 99 others); Tue, 5 Oct 2021 07:02:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234327AbhJELBt (ORCPT ); Tue, 5 Oct 2021 07:01:49 -0400 Received: from mail-wm1-x349.google.com (mail-wm1-x349.google.com [IPv6:2a00:1450:4864:20::349]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C5F97C061753 for ; Tue, 5 Oct 2021 03:59:58 -0700 (PDT) Received: by mail-wm1-x349.google.com with SMTP id d12-20020a1c730c000000b0030b4e0ecf5dso916892wmb.9 for ; Tue, 05 Oct 2021 03:59:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=8oN1Tye/sfpVxOoza0f1n5GzdtTeuegmg43uvYtdPIg=; b=JR+7ySSAMEpVVTM6D2YKngKa55UUG1VVZQnyRxXIyzXpzoQNrVnKws9O6c14cXxPwd INzUT4hbmUIZKpi/WwWkbvlBLP3f6RJ5sb4NKLOjGuW/HYy6T641SHN9h1zbgCuD7oYE 80xrasUK/KIw88sVd48bY+UtIi0HACEexOxFhdW/QYxL0sgz51eAxG1F6rhB2duP2kS3 AyXSGkUVQuwNUtXc6OB0F8lOBPqeTTAtqSv/bg6+JyxEHwfmQuUrZAwiS73926J4xrGP m/QvobQGvrhCojz9NZ4rux+arbUnUXzgp3RSeNgCjKRaFJWFGXvb0zMeuxHLqpfYZOsX tA7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=8oN1Tye/sfpVxOoza0f1n5GzdtTeuegmg43uvYtdPIg=; b=3pm7B2ckFdfUPWI4aLYhEmbWOFW9U492HCyEkMErm1ZMTTANJsv/C0bRuYYIZVlArJ ROVFKQkPd3JmvCZ4W//MzsWazMz9AeBP93KzuNYp8/+0iDJ9SnEQzbM3Ckp5r4qUiV5a xjREaZnjwePpLHDGg2lUWv5P3k6YoqMCF2xHIiiGOhaHFXC2Y1qx9dnIM836y/LBClTJ knVLO4IEEV1MOP5aYce2Qk4HAdUTwwliGfBl4CfqkWuOgf+MYJrThA754PyntSwiMw6A AbKYNyShFIJZPqzFLxyCNvrQMWcsJsiTJ20UZDsm+1JUhGnF0vZI5jYOevVF4deIxUnE wuRg== X-Gm-Message-State: AOAM533x+UW2kCNGDx3hbspo6WkHBPnfB7XcNI9UiEVlRAVK7WQYRTHI QiHPoY+0MggH9HQNpJ8/x9S6Y3UVvg== X-Received: from elver.muc.corp.google.com ([2a00:79e0:15:13:e44f:5054:55f8:fcb8]) (user=elver job=sendgmr) by 2002:a05:600c:3b26:: with SMTP id m38mr553969wms.0.1633431596812; Tue, 05 Oct 2021 03:59:56 -0700 (PDT) Date: Tue, 5 Oct 2021 12:58:48 +0200 In-Reply-To: <20211005105905.1994700-1-elver@google.com> Message-Id: <20211005105905.1994700-7-elver@google.com> Mime-Version: 1.0 References: <20211005105905.1994700-1-elver@google.com> X-Mailer: git-send-email 2.33.0.800.g4c38ced690-goog Subject: [PATCH -rcu/kcsan 06/23] kcsan, kbuild: Add option for barrier instrumentation only From: Marco Elver To: elver@google.com, "Paul E . McKenney" Cc: Alexander Potapenko , Boqun Feng , Borislav Petkov , Dmitry Vyukov , Ingo Molnar , Josh Poimboeuf , Mark Rutland , Peter Zijlstra , 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 Source files that disable KCSAN via KCSAN_SANITIZE := n, remove all instrumentation, including explicit barrier instrumentation. With instrumentation for memory barriers, in few places it is required to enable just the explicit instrumentation for memory barriers to avoid false positives. Providing the Makefile variable KCSAN_INSTRUMENT_BARRIERS_obj.o or KCSAN_INSTRUMENT_BARRIERS (for all files) set to 'y' only enables the explicit barrier instrumentation. Signed-off-by: Marco Elver --- scripts/Makefile.lib | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 54582673fc1a..2118f63b2bc5 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -182,6 +182,11 @@ ifeq ($(CONFIG_KCSAN),y) _c_flags += $(if $(patsubst n%,, \ $(KCSAN_SANITIZE_$(basetarget).o)$(KCSAN_SANITIZE)y), \ $(CFLAGS_KCSAN)) +# Some uninstrumented files provide implied barriers required to avoid false +# positives: set KCSAN_INSTRUMENT_BARRIERS for barrier instrumentation only. +_c_flags += $(if $(patsubst n%,, \ + $(KCSAN_INSTRUMENT_BARRIERS_$(basetarget).o)$(KCSAN_INSTRUMENT_BARRIERS)n), \ + -D__KCSAN_INSTRUMENT_BARRIERS__) endif # $(srctree)/$(src) for including checkin headers from generated source files -- 2.33.0.800.g4c38ced690-goog