2025-03-18, 02:40:41 +0100, Antonio Quartulli wrote: > +void ovpn_socket_release(struct ovpn_peer *peer) > +{ > + struct ovpn_socket *sock; > + > + might_sleep(); > + > + /* release may be invoked after socket was detached */ > + rcu_read_lock(); > + sock = rcu_dereference_protected(peer->sock, true); > + if (!sock) { > + rcu_read_unlock(); > + return; > + } > + rcu_assign_pointer(peer->sock, NULL);
minor nit: that could be rcu_replace_pointer instead of rcu_deref + rcu_assign_pointer (and I don't think the rcu_read_lock does much here) -- Sabrina