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

Reply via email to