diff options
Diffstat (limited to 'kernel/drivers/net/virtio_net.c')
-rw-r--r-- | kernel/drivers/net/virtio_net.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/drivers/net/virtio_net.c b/kernel/drivers/net/virtio_net.c index f94ab7860..0e2a19e58 100644 --- a/kernel/drivers/net/virtio_net.c +++ b/kernel/drivers/net/virtio_net.c @@ -1465,6 +1465,11 @@ static void virtnet_free_queues(struct virtnet_info *vi) netif_napi_del(&vi->rq[i].napi); } + /* We called napi_hash_del() before netif_napi_del(), + * we need to respect an RCU grace period before freeing vi->rq + */ + synchronize_net(); + kfree(vi->rq); kfree(vi->sq); } |