virtio: move allocation to virtqueue_pop/vring_pop