Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3918883pxj; Tue, 15 Jun 2021 11:23:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxzLjjd4YsBIen0CQYoKxqDdDBq5bGFVfRAfhAM5pHk07HvcQ51xLYuFlfoHN4PjawLc+I6 X-Received: by 2002:a05:6402:885:: with SMTP id e5mr1117676edy.248.1623781404921; Tue, 15 Jun 2021 11:23:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623781404; cv=none; d=google.com; s=arc-20160816; b=O3ZEn/kWoO65ycDTD4oGEp/UikYpa1x+H/ObiUbfqkT9qiSu03VIbbb42BGJgpv7Os mfl1b22haEa9A1+VyfUD0paN5jg7p45QHC/86wuLqxKxsP8K9hYXFDW2W4z6DbfTWNQg j86tOX5nxvfGgOiRmZlcmoDrB/UD5JAX6gQtMrdq6Eb24neEnVgXViz0qc2JIgtKl2YR +aYXUzC1cTM1sD8azJFX3H6PlU6ZhEb6hZVJAhcgmvJkYUXxZ+Boy+rfue7OtJ3bgm1+ oKjLPpcj6nbZveNfjaOKIRylD3WTKTSNekEOYQd3j6gbbZNcuO5SjbukmYrXWTq04afx BxSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=GwsB3R+0tNGIUuCdgd2ie4uTZz5SOv5j9DnVlvloRAo=; b=aFkWU6dl75duuYYpaqTWlf8Pl1+q07wuw9i9uTjEPNrr2BHVrN7yZDRRnEqZPri5D7 oYKIFVlLWPEgKRHERQeYd3vFmiIwoZ4wmifJPzEVxV9h8v7R+jhhvBGnrKy8UuRxp4ia XgSmy3A81sZ1UxGsrz69Lci/SkjtZbUaMsY+5w9Ug8w4h7nvMBO7K16GvSWw7orOuPoO 0m1CjyWejnQoMmhvBcmKWSNAqqN6WNsoBxRIxOnTrHgVS2rCwsHLjvF/2Qd8UEwcxirh L/NN9sdE2W+6K5yWbjxNaq/qnKyO1ZlqPbwVqWCQ4aE9BG9PyJxRBbtlG1Mb1b9SVLSg fW2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=khqI4M72; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t27si14502107ejd.372.2021.06.15.11.22.54; Tue, 15 Jun 2021 11:23:24 -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=@kernel.org header.s=k20201202 header.b=khqI4M72; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231380AbhFOSVv (ORCPT + 99 others); Tue, 15 Jun 2021 14:21:51 -0400 Received: from mail.kernel.org ([198.145.29.99]:39000 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229983AbhFOSVv (ORCPT ); Tue, 15 Jun 2021 14:21:51 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 7485F613C2; Tue, 15 Jun 2021 18:19:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623781186; bh=zX9gjVzIQE5Qg60Ct1IlcDZSonPE99+/879tzBFpf3Y=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=khqI4M72AOcjdsYzso3OSIFKdpfKVV6MuuN+ntEtY2MWFzX/PVVYGax/Fz4CBTlOL 69UMl/niMRKuLHbBu9aqHR/5P/Lpc1FYaNxokCPo6vriTVPo0noVc1Igjl24tNnunH wf4yo2VWmfkVKAbrjQfA4Y164M8qpwoRzEPEud8mQiIrAgLSde3pyxDXJ9REB9127a DEJwMVfPLCMF1tKZXCOMpWN4blGKiq9O3HRArf9Tlz+wLKxKDYR5mQeVHgfRLcqQK6 FxRjgrVg24WpX13lPhNEyMRWhU4hZlLd4K68mkrlPDCszlBpj4aHtS7HrKJWGADPCG XKr+RATBHnHxA== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 41BDD5C00F7; Tue, 15 Jun 2021 11:19:46 -0700 (PDT) Date: Tue, 15 Jun 2021 11:19:46 -0700 From: "Paul E. McKenney" To: Mark Rutland Cc: Marco Elver , boqun.feng@gmail.com, will@kernel.org, glider@google.com, dvyukov@google.com, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 0/7] kcsan: Introduce CONFIG_KCSAN_PERMISSIVE Message-ID: <20210615181946.GA2727668@paulmck-ThinkPad-P17-Gen-1> Reply-To: paulmck@kernel.org References: <20210607125653.1388091-1-elver@google.com> <20210609123810.GA37375@C02TD0UTHF1T.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210609123810.GA37375@C02TD0UTHF1T.local> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 09, 2021 at 01:38:10PM +0100, Mark Rutland wrote: > Hi Marco, > > On Mon, Jun 07, 2021 at 02:56:46PM +0200, Marco Elver wrote: > > While investigating a number of data races, we've encountered data-racy > > accesses on flags variables to be very common. The typical pattern is a > > reader masking all but one bit, and the writer setting/clearing only 1 > > bit (current->flags being a frequently encountered case; mm/sl[au]b.c > > disables KCSAN for this reason currently). > > As a heads up, I just sent out the series I promised for > thread_info::flags, at: > > https://lore.kernel.org/lkml/20210609122001.18277-1-mark.rutland@arm.com/T/#t > > ... which I think is complementary to this (IIUC it should help with the > multi-bit cases you mention below), and may help to make the checks more > stringent in future. > > FWIW, for this series: > > Acked-by: Mark Rutland Queued and pushed for v5.15, thank you both! I also queued the following patch making use of CONFIG_KCSAN_STRICT, and I figured that I should run it past you guys to make check my understanding. Thoughts? Thanx, Paul ------------------------------------------------------------------------ commit 023f1604e373575be6335f85abf36fd475d78da3 Author: Paul E. McKenney Date: Tue Jun 15 11:14:19 2021 -0700 torture: Apply CONFIG_KCSAN_STRICT to kvm.sh --kcsan argument Currently, the --kcsan argument to kvm.sh applies a laundry list of Kconfig options. Now that KCSAN provides the CONFIG_KCSAN_STRICT Kconfig option, this commit reduces the laundry list to this one option. Signed-off-by: Paul E. McKenney diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh index b4ac4ee33222..f2bd80391999 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm.sh @@ -184,7 +184,7 @@ do TORTURE_KCONFIG_KASAN_ARG="CONFIG_DEBUG_INFO=y CONFIG_KASAN=y"; export TORTURE_KCONFIG_KASAN_ARG ;; --kcsan) - TORTURE_KCONFIG_KCSAN_ARG="CONFIG_DEBUG_INFO=y CONFIG_KCSAN=y CONFIG_KCSAN_ASSUME_PLAIN_WRITES_ATOMIC=n CONFIG_KCSAN_REPORT_VALUE_CHANGE_ONLY=n CONFIG_KCSAN_REPORT_ONCE_IN_MS=100000 CONFIG_KCSAN_INTERRUPT_WATCHER=y CONFIG_KCSAN_VERBOSE=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y"; export TORTURE_KCONFIG_KCSAN_ARG + TORTURE_KCONFIG_KCSAN_ARG="CONFIG_DEBUG_INFO=y CONFIG_KCSAN=y CONFIG_KCSAN_STRICT=y CONFIG_KCSAN_REPORT_ONCE_IN_MS=100000 CONFIG_KCSAN_VERBOSE=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y"; export TORTURE_KCONFIG_KCSAN_ARG ;; --kmake-arg|--kmake-args) checkarg --kmake-arg "(kernel make arguments)" $# "$2" '.*' '^error$'