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