vhost_net: fix wrong iter offset when setting number of buffers
authorJason Wang <jasowang@redhat.com>
Sun, 15 Feb 2015 08:35:17 +0000 (16:35 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 15 Feb 2015 16:17:15 +0000 (08:17 -0800)
commit0960b6417e9ed8e4b4aa3c54e257324a9352f40b
tree57ed67565cc5723eedfb15bc30894f29069177af
parentca9f1fd263e14765a4c213e46940876ad78fce28
vhost_net: fix wrong iter offset when setting number of buffers

In commit ba7438aed924 ("vhost: don't bother copying iovecs in
handle_rx(), kill memcpy_toiovecend()"), we advance iov iter fixup
sizeof(struct virtio_net_hdr) bytes and fill the number of buffers
after doing the socket recvmsg(). This work well but was broken after
commit 6e03f896b52c ("Merge
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net") which tries
to advance sizeof(struct virtio_net_hdr_mrg_rxbuf). It will fill the
number of buffers at the wrong place. This patch fixes this.

Fixes 6e03f896b52c
("Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net")
Cc: David S. Miller <davem@davemloft.net>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/vhost/net.c