All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] virtio-net: Keep stop() to follow mirror sequence of open()
@ 2023-02-02 16:35 ` Parav Pandit via Virtualization
  0 siblings, 0 replies; 3+ messages in thread
From: Parav Pandit @ 2023-02-02 16:35 UTC (permalink / raw)
  To: mst, jasowang, davem, kuba, netdev
  Cc: edumazet, pabeni, ast, daniel, hawk, john.fastabend,
	virtualization, bpf, Parav Pandit, Jiri Pirko

Cited commit in fixes tag frees rxq xdp info while RQ NAPI is
still enabled and packet processing may be ongoing.

Follow the mirror sequence of open() in the stop() callback.
This ensures that when rxq info is unregistered, no rx
packet processing is ongoing.

Fixes: 754b8a21a96d ("virtio_net: setup xdp_rxq_info")
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Parav Pandit <parav@nvidia.com>
---
 drivers/net/virtio_net.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 7e1a98430190..b7d0b54c3bb0 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -2279,8 +2279,8 @@ static int virtnet_close(struct net_device *dev)
 	cancel_delayed_work_sync(&vi->refill);
 
 	for (i = 0; i < vi->max_queue_pairs; i++) {
-		xdp_rxq_info_unreg(&vi->rq[i].xdp_rxq);
 		napi_disable(&vi->rq[i].napi);
+		xdp_rxq_info_unreg(&vi->rq[i].xdp_rxq);
 		virtnet_napi_tx_disable(&vi->sq[i].napi);
 	}
 
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH net] virtio-net: Keep stop() to follow mirror sequence of open()
@ 2023-02-02 16:35 ` Parav Pandit via Virtualization
  0 siblings, 0 replies; 3+ messages in thread
From: Parav Pandit via Virtualization @ 2023-02-02 16:35 UTC (permalink / raw)
  To: mst, jasowang, davem, kuba, netdev
  Cc: hawk, daniel, john.fastabend, ast, virtualization, edumazet,
	Jiri Pirko, bpf, pabeni

Cited commit in fixes tag frees rxq xdp info while RQ NAPI is
still enabled and packet processing may be ongoing.

Follow the mirror sequence of open() in the stop() callback.
This ensures that when rxq info is unregistered, no rx
packet processing is ongoing.

Fixes: 754b8a21a96d ("virtio_net: setup xdp_rxq_info")
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Parav Pandit <parav@nvidia.com>
---
 drivers/net/virtio_net.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 7e1a98430190..b7d0b54c3bb0 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -2279,8 +2279,8 @@ static int virtnet_close(struct net_device *dev)
 	cancel_delayed_work_sync(&vi->refill);
 
 	for (i = 0; i < vi->max_queue_pairs; i++) {
-		xdp_rxq_info_unreg(&vi->rq[i].xdp_rxq);
 		napi_disable(&vi->rq[i].napi);
+		xdp_rxq_info_unreg(&vi->rq[i].xdp_rxq);
 		virtnet_napi_tx_disable(&vi->sq[i].napi);
 	}
 
-- 
2.26.2

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH net] virtio-net: Keep stop() to follow mirror sequence of open()
  2023-02-02 16:35 ` Parav Pandit via Virtualization
  (?)
@ 2023-02-02 18:40 ` patchwork-bot+netdevbpf
  -1 siblings, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-02-02 18:40 UTC (permalink / raw)
  To: Parav Pandit
  Cc: mst, jasowang, davem, kuba, netdev, edumazet, pabeni, ast,
	daniel, hawk, john.fastabend, virtualization, bpf, jiri

Hello:

This patch was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Thu, 2 Feb 2023 18:35:16 +0200 you wrote:
> Cited commit in fixes tag frees rxq xdp info while RQ NAPI is
> still enabled and packet processing may be ongoing.
> 
> Follow the mirror sequence of open() in the stop() callback.
> This ensures that when rxq info is unregistered, no rx
> packet processing is ongoing.
> 
> [...]

Here is the summary with links:
  - [net] virtio-net: Keep stop() to follow mirror sequence of open()
    https://git.kernel.org/netdev/net/c/63b114042d8a

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-02-02 18:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-02 16:35 [PATCH net] virtio-net: Keep stop() to follow mirror sequence of open() Parav Pandit
2023-02-02 16:35 ` Parav Pandit via Virtualization
2023-02-02 18:40 ` patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.