From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D0DDEC433EF for ; Tue, 14 Dec 2021 22:04:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238022AbhLNWE4 (ORCPT ); Tue, 14 Dec 2021 17:04:56 -0500 Received: from dfw.source.kernel.org ([139.178.84.217]:56084 "EHLO dfw.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234739AbhLNWEo (ORCPT ); Tue, 14 Dec 2021 17:04:44 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 806A06176E for ; Tue, 14 Dec 2021 22:04:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 306EBC34637; Tue, 14 Dec 2021 22:04:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1639519482; bh=smMR9oJRw0Zhf+2Lw8cQOpTuvZbAQ0Qb7QJ51dEv/xM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=j7AGrtf4KVJ4niclzYyOnfg4mzlJ4FHSi19dDg1FQjipVCPqvrM3HJ2Hbs6JCBefM qS8abSqES2tP5nqyDk4lkXTp+eiWa0eKOO0NTmuWHtWMFGUbYB5qKbGXKQiPx1lsVq vcXZQP8xMZfKkN2pdPsvvvrMCFNiG3afUF77JSl/8orrNAoEx+qXuSiwLicOegUvl4 VkfpDcSjc1qvA/G8BTNzyYAi3YZwO7ontjdJI61sbZgKTjY794RLhjrDmuk3gjDR5b vKp6KHlP5BMuhtDZQA5qBSTCbp2QCjxnimwSnvHOAeDgxtYu/jKW9D9RM3UVGoLDnT xesJIdaQ0XgeA== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 8285C5C1E85; Tue, 14 Dec 2021 14:04:41 -0800 (PST) From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, kernel-team@fb.com, mingo@kernel.org Cc: elver@google.com, andreyknvl@google.com, glider@google.com, dvyukov@google.com, cai@lca.pw, boqun.feng@gmail.com, "Paul E . McKenney" Subject: [PATCH kcsan 21/29] sched, kcsan: Enable memory barrier instrumentation Date: Tue, 14 Dec 2021 14:04:31 -0800 Message-Id: <20211214220439.2236564-21-paulmck@kernel.org> X-Mailer: git-send-email 2.31.1.189.g2e36527f23 In-Reply-To: <20211214220356.GA2236323@paulmck-ThinkPad-P17-Gen-1> References: <20211214220356.GA2236323@paulmck-ThinkPad-P17-Gen-1> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Marco Elver 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 Signed-off-by: Paul E. McKenney --- kernel/sched/Makefile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/kernel/sched/Makefile b/kernel/sched/Makefile index c7421f2d05e15..c83b37af155b1 100644 --- a/kernel/sched/Makefile +++ b/kernel/sched/Makefile @@ -11,11 +11,10 @@ ccflags-y += $(call cc-disable-warning, unused-but-set-variable) # 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.31.1.189.g2e36527f23