On Thu, 17 Jan 2019 20:56:39 +0800 Jason Wang <jasowang@xxxxxxxxxx> wrote: > On 2019/1/17 下午7:20, Toshiaki Makita wrote: > > 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@xxxxxxxxxxxxx> > > --- > > 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 ae93f0e..996de69 100644 > > --- a/drivers/net/virtio_net.c > > +++ b/drivers/net/virtio_net.c > > @@ -2668,7 +2668,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); I assume the is_xdp_raw_buffer_queue() test assures that this void *buf is a struct xdp_frame. > > } > > } > > > > > Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization