[1/1] vhost: fix missing gso_size validity check
Checks
Commit Message
The value of tso_segsz cannot be 0, instead check that value of
gso_size was set.
Fixes: d0cf91303d73 ("vhost: add Tx offload capabilities")
Cc: stable@dpdk.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
---
lib/vhost/virtio_net.c | 3 +++
1 file changed, 3 insertions(+)
Comments
Hi,
In the title: s/gso_size/GSO size/
On 12/20/24 4:45 AM, Yunjian Wang wrote:
> The value of tso_segsz cannot be 0, instead check that value of
> gso_size was set.
>
> Fixes: d0cf91303d73 ("vhost: add Tx offload capabilities")
> Cc: stable@dpdk.org
>
> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
> ---
> lib/vhost/virtio_net.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c
> index 69901ab3b5..2ac5bc29a3 100644
> --- a/lib/vhost/virtio_net.c
> +++ b/lib/vhost/virtio_net.c
> @@ -2733,6 +2733,9 @@ vhost_dequeue_offload_legacy(struct virtio_net *dev, struct virtio_net_hdr *hdr,
> }
>
> if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) {
> + if (hdr->gso_size == 0)
> + goto error;
> +
> switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) {
> case VIRTIO_NET_HDR_GSO_TCPV4:
> case VIRTIO_NET_HDR_GSO_TCPV6:
With the title amended, the patch looks good to me:
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
No need to send a new version, I can fix the title while applying.
Thanks,
Maxime
On 12/20/24 4:45 AM, Yunjian Wang wrote:
> The value of tso_segsz cannot be 0, instead check that value of
> gso_size was set.
>
> Fixes: d0cf91303d73 ("vhost: add Tx offload capabilities")
> Cc: stable@dpdk.org
>
> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
> ---
> lib/vhost/virtio_net.c | 3 +++
> 1 file changed, 3 insertions(+)
>
Applied to next-virtio/for-next-net
Thanks,
Maxime
@@ -2733,6 +2733,9 @@ vhost_dequeue_offload_legacy(struct virtio_net *dev, struct virtio_net_hdr *hdr,
}
if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) {
+ if (hdr->gso_size == 0)
+ goto error;
+
switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) {
case VIRTIO_NET_HDR_GSO_TCPV4:
case VIRTIO_NET_HDR_GSO_TCPV6: