Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp2302890ybv; Fri, 14 Feb 2020 15:58:30 -0800 (PST) X-Google-Smtp-Source: APXvYqxbs+MTKzuR9i8JxaGGQ6inUDyLZsN+jIHB8aMl8w62Sp2/pIwMH/PGP3D+WbNDdJhcZr1s X-Received: by 2002:aca:5083:: with SMTP id e125mr3639649oib.96.1581724710399; Fri, 14 Feb 2020 15:58:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581724710; cv=none; d=google.com; s=arc-20160816; b=VrXlSd7WGGmua6fM8BvkIKEGHKU2d91iB17LB9YRxqhL99WzPSJk3uwmAlpI06Linm lZLuEWyJNBnvq81ooDtP0RlJGPAX+z19+zvZD1WKKd0Ts9d6K1+6bjSO6w9I7rVI+noz 6uFNQXMtAi6jN7iIKy8o+dauY510gFLBYcixUqyyy0Izp/WJE8+sZHc9ngVhZdE4NWAc aUwOdhpcecjKj9y+MasLcyGyT5AxeCPaZtvXfcPF0PyLwdLm3p/LJQycJ2xnm5MTVwLX U9PdF+ZoJE3CbqLS57p4o/ufvCWFJdJwDdoC/4VVBkUAlEZjn6hYHVVhq96s+1p52zFf TUZg== 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=XgsgOeYuWAwlY799AmWwsQFqd4bHWmY3CUMyBLTEHm8=; b=Z4E8RsjSqvsyjZCDF5OVa4afrdN24L0PJC3OJomZW0IipF4iA32nC72uRjsYdcJ3Fu vjbQRwc78WbvV7WhD/Tto7Tdf1TGqkEKAQ7ajhfdeZ/VtuhwIWRovB5VF9zhoyS3VhEG Q8RrE4agAfhThnZLJtZ0PV2wPk7PSWIx09Cnhnam3rhS+mvbB6Zu+fETiIphOvUO/FyK IUAhbAOT2QraTuyAfahxl1uelayUM51qksWBEG+00lUEhI12xUUvO17RcQ02b94jRG0Z Rnw+rxfZ3yap/+SjhO8mgIhr2KFDXbuptrLbcSLupSwDgkb4ZgY3RRx617agfS6Sxy+E 0eGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Zxxr6D+t; 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 g18si3623402otp.61.2020.02.14.15.58.18; Fri, 14 Feb 2020 15:58:30 -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=Zxxr6D+t; 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 S1728571AbgBNX4w (ORCPT + 99 others); Fri, 14 Feb 2020 18:56:52 -0500 Received: from mail.kernel.org ([198.145.29.99]:36664 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726164AbgBNX4v (ORCPT ); Fri, 14 Feb 2020 18:56:51 -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 5F4D42072D; Fri, 14 Feb 2020 23:56:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1581724610; bh=LusdN1UJW4wsth9V10brAmgIfZk/VRwPHX4oDZzSg/U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Zxxr6D+tkx+QBe+lX88UvrN1ZcLw6/43u5z0npTTc/54Cw5jpYbzuRYVwiajmcM88 K1zAth7UJvzuolk1kDKTTXzBvt2sCds5/RlQN5xJMhh/wXEZ9nBm2f3OxMqqJ8CCJE oWQX+yOb/NSM59oQ2tpLXusdE9WajZRTpFLrNPdI= 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" Subject: [PATCH tip/core/rcu 11/30] rcu: Add READ_ONCE() to rcu_segcblist ->tails[] Date: Fri, 14 Feb 2020 15:55:48 -0800 Message-Id: <20200214235607.13749-11-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 rcu_segcblist structure's ->tails[] array entries are read locklessly, so this commit adds the READ_ONCE() to a load in order to avoid destructive compiler optimizations. This data race was reported by KCSAN. Signed-off-by: Paul E. McKenney --- kernel/rcu/rcu_segcblist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/rcu/rcu_segcblist.c b/kernel/rcu/rcu_segcblist.c index 5f4fd3b..426a472 100644 --- a/kernel/rcu/rcu_segcblist.c +++ b/kernel/rcu/rcu_segcblist.c @@ -182,7 +182,7 @@ void rcu_segcblist_offload(struct rcu_segcblist *rsclp) bool rcu_segcblist_ready_cbs(struct rcu_segcblist *rsclp) { return rcu_segcblist_is_enabled(rsclp) && - &rsclp->head != rsclp->tails[RCU_DONE_TAIL]; + &rsclp->head != READ_ONCE(rsclp->tails[RCU_DONE_TAIL]); } /* -- 2.9.5