[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250228182759.74de5bec@kernel.org>
Date: Fri, 28 Feb 2025 18:27:59 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Joe Damato <jdamato@...tly.com>
Cc: netdev@...r.kernel.org, mkarsten@...terloo.ca,
gerhard@...leder-embedded.com, jasowang@...hat.com,
xuanzhuo@...ux.alibaba.com, mst@...hat.com, leiyang@...hat.com, Eugenio
PĂ©rez <eperezma@...hat.com>, Andrew Lunn
<andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Paolo Abeni <pabeni@...hat.com>,
virtualization@...ts.linux.dev (open list:VIRTIO CORE AND NET DRIVERS),
linux-kernel@...r.kernel.org (open list)
Subject: Re: [PATCH net-next v5 3/4] virtio-net: Map NAPIs to queues
On Thu, 27 Feb 2025 18:50:13 +0000 Joe Damato wrote:
> @@ -2870,9 +2883,15 @@ static void refill_work(struct work_struct *work)
> for (i = 0; i < vi->curr_queue_pairs; i++) {
> struct receive_queue *rq = &vi->rq[i];
>
> + rtnl_lock();
> virtnet_napi_disable(rq);
> + rtnl_unlock();
> +
> still_empty = !try_fill_recv(vi, rq, GFP_KERNEL);
> +
> + rtnl_lock();
> virtnet_napi_enable(rq);
> + rtnl_unlock();
Looks to me like refill_work is cancelled _sync while holding rtnl_lock
from the close path. I think this could deadlock?
--
pw-bot: cr
Powered by blists - more mailing lists