Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp4479410pxb; Tue, 5 Oct 2021 04:06:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyKwjRjaxqqLunVz0IQIIIIx96XkSfsOAk3HMLckceDOq423MOhpAonYuRYObPH6q05bTP6 X-Received: by 2002:a17:906:d182:: with SMTP id c2mr23644244ejz.47.1633431988455; Tue, 05 Oct 2021 04:06:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633431988; cv=none; d=google.com; s=arc-20160816; b=kWeyNWcXGWhtSxaxjrnLNFjDAlAZIuIGOucC0uTEznS6KdUklly79M/xXYqyyvIGqM yxXKysSMigKEqa2+rGuG2K3U6STk1ky8ynl5lawy6RBAsPxZNVY8pemA542TZOYGmMD9 f68ewax074MGlr6/HFTx4oF6Ymmasn0jz8lvL9smAo8jdVZXvw02zA9OBHxd6pVVKHiq NfrjLxJucmuF7EWUmxVvG05NQBOR6tgDCBUmF1jcqN+9vUw6RPo7K0k0EBa7zAM793Vu 1C/lrssIjGS4pd/g6X95/NGNITHyegBpnnhctdnnCkYIx4fyJU8Jd4dBQ0dmuZ5r9OQ6 cIRA== 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=TKNtzDHuk87hCc1lxzVppXFapgrghO5zpeN0ZyRA5jw=; b=wsqt9BUc4oTaYm46KAQ6uOsqzsqtOY2TRbA4JW5b3g4cQWA7IiKBO72Wl80foqWgAE aRe4hz2keOmDuJQl4qwliWRsEEPm8BZDPR2mIn53ZNK/Gtd1lTNpfh4oG4C4l6RaQbhs zQF9Fpu+iiUNv7KEc4IEishSizrVfcRV6u8jMNlZDOTOX9bjgFiZ1fcjGzLVaQcFV5T1 qb45OLzJISkf65E4blP2VJeh8O93zwDhyj6q96F76E3hkdygMRvfQRScb/cNIsJ3z1lc aURmtVj1PBacK7vVfbduOBWFV2aHxOcAeVYu8LlYNN76c3RawCLVMlpd0t3qSzAg4f4g lYJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=JKcUv82m; 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 y15si2815945eda.231.2021.10.05.04.06.04; Tue, 05 Oct 2021 04:06:28 -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=JKcUv82m; 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 S234499AbhJELDz (ORCPT + 99 others); Tue, 5 Oct 2021 07:03:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52016 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234735AbhJELDc (ORCPT ); Tue, 5 Oct 2021 07:03:32 -0400 Received: from mail-qt1-x849.google.com (mail-qt1-x849.google.com [IPv6:2607:f8b0:4864:20::849]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE43EC0613BC for ; Tue, 5 Oct 2021 04:00:32 -0700 (PDT) Received: by mail-qt1-x849.google.com with SMTP id 100-20020aed30ed000000b002a6b3dc6465so22789990qtf.13 for ; Tue, 05 Oct 2021 04:00:32 -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=TKNtzDHuk87hCc1lxzVppXFapgrghO5zpeN0ZyRA5jw=; b=JKcUv82mPXqeJdPMCbVh91BG9upZmsAGCCh/2bt+IWLY2yjvITsH/cWV/zU35BdKTM jNCdIMmV8ckWS5Du9bS6YqvpmsOpyxG9JOsg8ePp3uP/4/z0HeO/qNWOh2guREdPHWF6 2ByHNRDO5z9Q3gSP3P+haGegcVGmNGue9HJ8ljLcuxqEbk3AkomVVo1IaOdhXrryVvmy qdZyjIh39khqL0eN1TepdMNJRut7rArDExu0CgJa/4U35yc+kvnNRWfL61YAkvrh63ES QldniYUzN5VCAcdUFgtq+R9OdRNKMwd89lOkofWQW5sAjXDcndxnzwpFNvf77dR5ydM4 sR5Q== 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=TKNtzDHuk87hCc1lxzVppXFapgrghO5zpeN0ZyRA5jw=; b=4F+DxSVITJBJFvyzI4nIR1fnI2SQJn+bmc3k6F/nB7+prZ1rcTnzmeIEGD+bduAxk+ cYlRoCJxmSvGOOwiFIb8t8b906TPc80VLIalqykJmZX7eWYeuzp/3X2fhDzZRwsz9Qg8 aJcRBwkx6Um5ulUKbyEmDi7ZifEqxfkCtVb05dErrTqoaYQHxmX4KzWRYDT/ngTsr9o/ b9VAQinVZuFd2BXLEg+REO1gBV04tnUGRiz2L8r6I5JEx/K3O9vfqquAknHbk4leZM0d UTTBu7YB5gBc7FTn89jeMBHZ1kze/9Cv8zg+kIeQVf5B9unkwL1wG/cRYHF4iM2IIYRP 5LSg== X-Gm-Message-State: AOAM533chsEYvdJ5958yPJIlOcKFks26gInJdjW63QAXy2xoVavkedoj yPnqjTzvla3dmm0NjvY9LkRoit+afg== X-Received: from elver.muc.corp.google.com ([2a00:79e0:15:13:e44f:5054:55f8:fcb8]) (user=elver job=sendgmr) by 2002:ad4:46d1:: with SMTP id g17mr26469108qvw.5.1633431631997; Tue, 05 Oct 2021 04:00:31 -0700 (PDT) Date: Tue, 5 Oct 2021 12:59:03 +0200 In-Reply-To: <20211005105905.1994700-1-elver@google.com> Message-Id: <20211005105905.1994700-22-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 21/23] sched, kcsan: Enable memory barrier instrumentation 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 There's no fundamental reason to disable KCSAN for scheduler code, except for excessive noise and performance concerns (instrumenting scheduler code is usually a good way to stress test KCSAN itself). However, several core sched functions imply memory barriers that are invisible to KCSAN without instrumentation, but are required to avoid false positives. Therefore, unconditionally enable instrumentation of memory barriers in scheduler code. Also update the comment to reflect this and be a bit more brief. Signed-off-by: Marco Elver --- kernel/sched/Makefile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/kernel/sched/Makefile b/kernel/sched/Makefile index 978fcfca5871..90da599f5560 100644 --- a/kernel/sched/Makefile +++ b/kernel/sched/Makefile @@ -7,11 +7,10 @@ endif # that is not a function of syscall inputs. E.g. involuntary context switches. KCOV_INSTRUMENT := n -# There are numerous data races here, however, most of them are due to plain accesses. -# This would make it even harder for syzbot to find reproducers, because these -# bugs trigger without specific input. Disable by default, but should re-enable -# eventually. +# Disable KCSAN to avoid excessive noise and performance degradation. To avoid +# false positives ensure barriers implied by sched functions are instrumented. KCSAN_SANITIZE := n +KCSAN_INSTRUMENT_BARRIERS := y ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y) # According to Alan Modra , the -fno-omit-frame-pointer is -- 2.33.0.800.g4c38ced690-goog