[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <68214df3-23b6-4da4-9ad9-b10e8878a4da@gmail.com>
Date: Thu, 21 Nov 2024 01:34:27 +0200
From: Sergey Ryazanov <ryazanov.s.a@...il.com>
To: Antonio Quartulli <antonio@...nvpn.net>
Cc: Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Donald Hunter <donald.hunter@...il.com>,
Shuah Khan <shuah@...nel.org>, sd@...asysnail.net,
Andrew Lunn <andrew@...n.ch>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org
Subject: Re: [PATCH net-next v11 07/23] ovpn: introduce the ovpn_socket object
On 19.11.2024 15:44, Antonio Quartulli wrote:
> On 15/11/2024 15:28, Antonio Quartulli wrote:
> [...]
>>>> +}
>>>> +
>>>> +static struct ovpn_socket *ovpn_socket_get(struct socket *sock)
>>>> +{
>>>> + struct ovpn_socket *ovpn_sock;
>>>> +
>>>> + rcu_read_lock();
>>>> + ovpn_sock = rcu_dereference_sk_user_data(sock->sk);
>>>> + if (!ovpn_socket_hold(ovpn_sock)) {
>>>> + pr_warn("%s: found ovpn_socket with ref = 0\n", __func__);
>>>
>>> Should we be more specific here and print warning with
>>> netdev_warn(ovpn_sock->ovpn->dev, ...)?
>>
>> ACK must be an unnoticed leftover
>
> I take this back.
> If refcounter is zero, I'd avoid accessing any field of the ovpn_sock
> object, thus the pr_warn() without any reference to the device.
If it's such unlikely scenario, then should it be:
if (WARN_ON(!ovpn_socket_hold(ovpn_sock)))
ovpn_sock = NULL;
?
--
Sergey
Powered by blists - more mailing lists