[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <LV3PR11MB8768B531BD88260D26996285F509A@LV3PR11MB8768.namprd11.prod.outlook.com>
Date: Thu, 11 Sep 2025 15:46:08 +0000
From: "Kumar, Kaushlendra" <kaushlendra.kumar@...el.com>
To: "paulmck@...nel.org" <paulmck@...nel.org>
CC: "dave@...olabs.net" <dave@...olabs.net>, "josh@...htriplett.org"
<josh@...htriplett.org>, "frederic@...nel.org" <frederic@...nel.org>,
"neeraj.upadhyay@...nel.org" <neeraj.upadhyay@...nel.org>,
"rostedt@...dmis.org" <rostedt@...dmis.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "rcu@...r.kernel.org" <rcu@...r.kernel.org>
Subject: RE: [PATCH] rcu/segcblist: Use WRITE_ONCE() for rclp->len decrement
On Thu, Sep 11, 2025 at 10:40:09AM +0530, Paul E. McKenney wrote:
> On Thu, Sep 11, 2025 at 10:40:09AM +0530, Kaushlendra Kumar wrote:
> > The rclp->len field is accessed concurrently by multiple contexts in
> > RCU operations. Using WRITE_ONCE() provides the necessary memory
> > ordering guarantees.
>
> Could you please be specific here? What calls to rcu_cblist_dequeue() are such that hte ->qlen field can be concurrently accessed?
>
> (Full disclosure: I don't see any, and KCSAN hasn't found any. Of course, that does not necessarily mean that there is no concurrent access.
> But we need such concurrent access called out explicitly here, because it might well be that the concurrent access is itself the bug.)
>
> Thanx, Paul
Hi Paul,
Thank you for the clarification. You are absolutely correct. After reviewing the
code more carefully, I cannot identify specific concurrent access patterns for
the rclp->len field during rcu_cblist_dequeue() operations.
The primary motivation for this patch was to maintain consistency with
rcu_cblist_enqueue(), which uses WRITE_ONCE() for the rclp->len increment.
I will modify the message accordingly and send a patch.
Best regards,
Kaushlendra
Powered by blists - more mailing lists