diff options
author | Stefano Garzarella <sgarzare@redhat.com> | 2020-04-24 18:08:29 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-05-27 18:46:31 +0300 |
commit | 445437b417b684a6e8ff49b4a939ca27fd5a48ae (patch) | |
tree | ac46816acc6ce0c203615f1d7a11593bbea2abc4 /drivers/vhost | |
parent | dcec6678c3b10ac2c31aaf72ff1d0355ec0aec11 (diff) | |
download | linux-445437b417b684a6e8ff49b4a939ca27fd5a48ae.tar.xz |
vhost/vsock: fix packet delivery order to monitoring devices
[ Upstream commit 107bc0766b9feb5113074c753735a3f115c2141f ]
We want to deliver packets to monitoring devices before it is
put in the virtqueue, to avoid that replies can appear in the
packet capture before the transmitted packet.
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/vhost')
-rw-r--r-- | drivers/vhost/vsock.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c index 6c089f655707..ca68a27b98ed 100644 --- a/drivers/vhost/vsock.c +++ b/drivers/vhost/vsock.c @@ -181,14 +181,14 @@ vhost_transport_do_send_pkt(struct vhost_vsock *vsock, break; } - vhost_add_used(vq, head, sizeof(pkt->hdr) + payload_len); - added = true; - - /* Deliver to monitoring devices all correctly transmitted - * packets. + /* Deliver to monitoring devices all packets that we + * will transmit. */ virtio_transport_deliver_tap_pkt(pkt); + vhost_add_used(vq, head, sizeof(pkt->hdr) + payload_len); + added = true; + pkt->off += payload_len; total_len += payload_len; |