Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp2302271ybv; Fri, 14 Feb 2020 15:57:28 -0800 (PST) X-Google-Smtp-Source: APXvYqyutuJRovgu2HyVCO/JEH0e1ufufV74Yewx4MvxXgeKAK07PS3yR4/UOdkD/S+BUftoVHeC X-Received: by 2002:aca:8d5:: with SMTP id 204mr3445463oii.141.1581724648384; Fri, 14 Feb 2020 15:57:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581724648; cv=none; d=google.com; s=arc-20160816; b=V3F52k6lg3bPxJrbqf5u8Zmcc6Q2K++dfur9XUIzu1aSc/sX/TZXLDpP0yCtBoklGc DU4xLDx9lyl0WGr37d3Xjf6opHsWusVB+9wwxQALgl2JZTbSVeMdPSNiGlziSu5JVwpP reqYum6SwjBLuN4PWcksRPYXaZ1/z5oTDYAp/iiYhFcn/TPGSneI3KNtkXuNc3CGwmJY aSV/sBk0haUw8+meD7PLi4eHiJbyhfed2ZwiowQMLKzD7yJziRtAOrSCDNS48O2AhOH3 3Rgop/83Oz1y64EjM3hbn+PvAGBThnZbITfac0z2LrI6YokXtpmGycvLgXEMIx95HcnJ ibmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=CCKhLEVuMgkWW3CVTMNfB9LFWMV0x0UubRmuuKfMvqw=; b=IenBIw75xNnBIRDL2KR4S8/WSKevoVz7lFkCrPyzlCOkEaygJjQgwgBqeQ9ag/f2sb m8aKoP+8ap3uMb7Yxe1TUUKnCVpBrERfIKlznRzLC3/LnLOpIngUkAC5BGLTyXBKvFc5 aW7lOiVeewriSbU1Z+iYCbfE77zVt0sl50zX8cOMtPzV908j00pLxxJ5Sev8Bm6mEvgj L71vgDqg5xcoRzD7oyW1thYXLVhEGSouXygW03rtZquoUKeAwU1yEkSfYaQwYKPBaIFQ DC9eiQN7JJ6VX5LmLrG4zUrKD5b1vYq8/UVACX/xvIQlMGiweaN5JXwMbNO4owo5c07H yIpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=wdiPAqx6; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id s143si3129378oih.251.2020.02.14.15.57.16; Fri, 14 Feb 2020 15:57:28 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=wdiPAqx6; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1728558AbgBNX4s (ORCPT + 99 others); Fri, 14 Feb 2020 18:56:48 -0500 Received: from mail.kernel.org ([198.145.29.99]:36592 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727959AbgBNX4r (ORCPT ); Fri, 14 Feb 2020 18:56:47 -0500 Received: from paulmck-ThinkPad-P72.c.hoisthospitality.com (unknown [62.84.152.189]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 87BBD2467E; Fri, 14 Feb 2020 23:56:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1581724606; bh=YJsKqtq5hgtJjA3M1Egg6/HLjFJpeqz3ZuMIDCW7JrM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wdiPAqx6p49VpCnPfC6hRdpN6AZlt0pblNL8FqBA305vSh7B8D5Wuo302nmv6FM0Z THBOWT25H2xBXsvmIU1VHvcYMweZuWutLekYjleqfkcEpFsLi7lMAC/wuzNxvCmFRN 4gYjEzAmd4WIvFxjqhFxo85BLxBp1WCWnbkvLOG4= From: paulmck@kernel.org To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@fb.com, mingo@kernel.org, jiangshanlai@gmail.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, fweisbec@gmail.com, oleg@redhat.com, joel@joelfernandes.org, "Paul E. McKenney" , Ingo Molnar , Will Deacon Subject: [PATCH tip/core/rcu 10/30] locking/rtmutex: rcu: Add WRITE_ONCE() to rt_mutex ->owner Date: Fri, 14 Feb 2020 15:55:47 -0800 Message-Id: <20200214235607.13749-10-paulmck@kernel.org> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20200214235536.GA13364@paulmck-ThinkPad-P72> References: <20200214235536.GA13364@paulmck-ThinkPad-P72> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "Paul E. McKenney" The rt_mutex structure's ->owner field is read locklessly, so this commit adds the WRITE_ONCE() to an update in order to provide proper documentation and READ_ONCE()/WRITE_ONCE() pairing. This data race was reported by KCSAN. Not appropriate for backporting due to failure being unlikely. Signed-off-by: Paul E. McKenney Cc: Peter Zijlstra Cc: Ingo Molnar Cc: Will Deacon --- kernel/locking/rtmutex.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c index 851bbb1..c9f090d 100644 --- a/kernel/locking/rtmutex.c +++ b/kernel/locking/rtmutex.c @@ -57,7 +57,7 @@ rt_mutex_set_owner(struct rt_mutex *lock, struct task_struct *owner) if (rt_mutex_has_waiters(lock)) val |= RT_MUTEX_HAS_WAITERS; - lock->owner = (struct task_struct *)val; + WRITE_ONCE(lock->owner, (struct task_struct *)val); } static inline void clear_rt_mutex_waiters(struct rt_mutex *lock) -- 2.9.5