On Tue, 2025-10-14 at 18:29 +0200, [email protected] wrote:
> On Tue, 2025-10-14 at 17:01 +0200, Sabrina Dubroca wrote:
> > (but I'm not sure we can call datagram_poll under rcu_read_lock).
> 
> I see the problem may arise from the call to sock_poll_wait, which
> isn't
> safe inside an rcu_read_lock() section. Perhaps the __datagram_poll
> helper could delegate the responsibility of calling sock_poll_wait to
> the caller, allowing it to perform the rest of the polling logic
> safely
> within the RCU read-side critical section.
> 

After discussing this with Antonio, we realized that we can safely take
a reference to the queue and increment the peer's refcounter, allowing
us to call __datagram_poll outside the RCU section. This approach lets
us avoid modifying the original kernel function.

I'll send a patch shortly.

Thanks for your help!

-- 
Ralf Lici
Mandelbit Srl


_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to