Message ID | 20211118081027.3175699-21-elver@google.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <SRS0=Ydgi=QF=kvack.org=owner-linux-mm@kernel.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BD5B3C433EF for <linux-mm@archiver.kernel.org>; Thu, 18 Nov 2021 08:21:42 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 5EDBF61B7D for <linux-mm@archiver.kernel.org>; Thu, 18 Nov 2021 08:21:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 5EDBF61B7D Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id B9CCA6B0095; Thu, 18 Nov 2021 03:11:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B4C756B0096; Thu, 18 Nov 2021 03:11:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A142C6B0098; Thu, 18 Nov 2021 03:11:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0008.hostedemail.com [216.40.44.8]) by kanga.kvack.org (Postfix) with ESMTP id 946306B0095 for <linux-mm@kvack.org>; Thu, 18 Nov 2021 03:11:58 -0500 (EST) Received: from smtpin16.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 5986E18495712 for <linux-mm@kvack.org>; Thu, 18 Nov 2021 08:11:48 +0000 (UTC) X-FDA: 78821332296.16.DA055C6 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) by imf03.hostedemail.com (Postfix) with ESMTP id B9BC930019C9 for <linux-mm@kvack.org>; Thu, 18 Nov 2021 08:11:46 +0000 (UTC) Received: by mail-wm1-f73.google.com with SMTP id r6-20020a1c4406000000b0033119c22fdbso2252529wma.4 for <linux-mm@kvack.org>; Thu, 18 Nov 2021 00:11:47 -0800 (PST) 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=rzdCErYR7QVJMqQ7C8iOEn+pKBOJL+BpLP2uqDT2sRI=; b=lywc3NBHZZG/l/NByd9QMLrak/0JWSxz9fkaHSvQpFiu6THhd/Nji8+4etKEu/FWb1 DUr7dTzctJFdTqeiReLlmlOSBqRVuxOd5rYx5nJHm3aM+ZmXYgZ3vl4Ce8tFrt0Av3T1 bf9NeFQD3uLC7xCUpZwxhl9alcSmSnW523ahX1+J5WE1eN8IqUpB8WLaFMwKtqyVR2H5 VBmh+uW9lUYfpnV9Dv/+zhxWz2y1F+L14D0bQuciTgOc/C7axKYJxr+/2pkCLLBSQ4sB E1t7FIYUwhm4GLpE9UPOpx8Eww9R6mgkFTE33GQnZrk37IxG6T6TO6OsAK9RCGF/iBpM yZDA== 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=rzdCErYR7QVJMqQ7C8iOEn+pKBOJL+BpLP2uqDT2sRI=; b=eg7YETzU3TqbDc7rupCoa37QSJaC4i0v4T7tWemrqvLZjDA18LLmab74QR5wZSpxaw wsW/NjrH+cXmnMrD8ctR/v0701G6udbRKxiN9BgHao6Vr0Rppc6HKRz1bOsC3s+6T89e B7CdU6JeRdJPMeaF1KBohcYjRtt15EDlpMUyNRde8kCWRkV1e6PQYympjvKuPLeHilid kWvKSTrAiwRPE/vFYwwqk28bNRN7Tt9eacTtI749Joot78bdRlzt4c1sEkMMkIwZ6irz B+tuIFFUe8s6pZcYm1YHdz8aRlH47JXdG9TitqhWRU32teZHgabqOWCl9oQwVx9YqK1k 7M0Q== X-Gm-Message-State: AOAM532Bjib86SBhr9DM89rXXQMDDOG5zig3LYnypItclTmFCwGvrVsT 0NPi/vqp0A9kRWadsS9MG828JkQCpw== X-Google-Smtp-Source: ABdhPJxAWh/BZwpokjufV74uSy9dmYvaQlEFQf441y59AQVEiD0veafOsEsU+5qgKzAWHYtjU5201SdIww== X-Received: from elver.muc.corp.google.com ([2a00:79e0:15:13:7155:1b7:fca5:3926]) (user=elver job=sendgmr) by 2002:a5d:6043:: with SMTP id j3mr28104905wrt.375.1637223106899; Thu, 18 Nov 2021 00:11:46 -0800 (PST) Date: Thu, 18 Nov 2021 09:10:24 +0100 In-Reply-To: <20211118081027.3175699-1-elver@google.com> Message-Id: <20211118081027.3175699-21-elver@google.com> Mime-Version: 1.0 References: <20211118081027.3175699-1-elver@google.com> X-Mailer: git-send-email 2.34.0.rc2.393.gf8c9666880-goog Subject: [PATCH v2 20/23] mm, kcsan: Enable barrier instrumentation From: Marco Elver <elver@google.com> To: elver@google.com, "Paul E. McKenney" <paulmck@kernel.org> Cc: Alexander Potapenko <glider@google.com>, Boqun Feng <boqun.feng@gmail.com>, Borislav Petkov <bp@alien8.de>, Dmitry Vyukov <dvyukov@google.com>, Ingo Molnar <mingo@kernel.org>, Josh Poimboeuf <jpoimboe@redhat.com>, Mark Rutland <mark.rutland@arm.com>, Peter Zijlstra <peterz@infradead.org>, Thomas Gleixner <tglx@linutronix.de>, Waiman Long <longman@redhat.com>, Will Deacon <will@kernel.org>, 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" X-Rspamd-Queue-Id: B9BC930019C9 X-Stat-Signature: nnptqyeptuoi1bj6xpjs98b85ohaify8 Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=lywc3NBH; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of 3wgqWYQUKCEMjq0jwlttlqj.htrqnsz2-rrp0fhp.twl@flex--elver.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=3wgqWYQUKCEMjq0jwlttlqj.htrqnsz2-rrp0fhp.twl@flex--elver.bounces.google.com X-Rspamd-Server: rspam02 X-HE-Tag: 1637223106-669621 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> |
Series |
kcsan: Support detecting a subset of missing memory barriers
|
expand
|
diff --git a/mm/Makefile b/mm/Makefile index d6c0042e3aa0..7919cd7f13f2 100644 --- a/mm/Makefile +++ b/mm/Makefile @@ -15,6 +15,8 @@ KCSAN_SANITIZE_slab_common.o := n KCSAN_SANITIZE_slab.o := n KCSAN_SANITIZE_slub.o := n KCSAN_SANITIZE_page_alloc.o := n +# But enable explicit instrumentation for memory barriers. +KCSAN_INSTRUMENT_BARRIERS := y # These files are disabled because they produce non-interesting and/or # flaky coverage that is not a function of syscall inputs. E.g. slab is out of
Some memory management calls imply memory barriers that are required to avoid false positives. For example, without the correct instrumentation, we could observe data races of the following variant: T0 | T1 ------------------------+------------------------ | *a = 42; ---+ | kfree(a); | | | | b = kmalloc(..); // b == a <reordered> <-+ | *b = 42; // not a data race! | Therefore, instrument memory barriers in all allocator code currently not being instrumented in a default build. Signed-off-by: Marco Elver <elver@google.com> --- mm/Makefile | 2 ++ 1 file changed, 2 insertions(+)