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

Reply via email to