]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
virtio_net: Use xdp_return_frame to free xdp_frames on destroying vqs
authorToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Tue, 29 Jan 2019 00:45:58 +0000 (09:45 +0900)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Jan 2019 22:02:43 +0000 (14:02 -0800)
put_page() can work as a fallback for freeing xdp_frames, but the
appropriate way is to use xdp_return_frame().

Fixes: cac320c850ef ("virtio_net: convert to use generic xdp_frame and xdp_return_frame API")
Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Acked-by: Jason Wang <jasowang@redhat.com>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c

index cea52e47dc65f6bd3dfe54540a097fc4b270c70b..1d454cee641c7cc9bd1eec4af66708e67c7f129a 100644 (file)
@@ -2669,7 +2669,7 @@ static void free_unused_bufs(struct virtnet_info *vi)
                        if (!is_xdp_raw_buffer_queue(vi, i))
                                dev_kfree_skb(buf);
                        else
-                               put_page(virt_to_head_page(buf));
+                               xdp_return_frame(buf);
                }
        }