diff options
| author | Akihiko Odaki <akihiko.odaki@daynix.com> | 2023-02-23 19:20:03 +0900 |
|---|---|---|
| committer | Jason Wang <jasowang@redhat.com> | 2023-03-10 15:35:38 +0800 |
| commit | f9a9eb16e2f19754ae32994c8c62a5b1d5dc2169 (patch) | |
| tree | 632976214f0f0dacd1ede7fda7356dc5e3a1de66 /hw/net/net_tx_pkt.h | |
| parent | 156dc1555d98be9e7572138068e633c38aabc38e (diff) | |
| download | focaccia-qemu-f9a9eb16e2f19754ae32994c8c62a5b1d5dc2169.tar.gz focaccia-qemu-f9a9eb16e2f19754ae32994c8c62a5b1d5dc2169.zip | |
net: Check L4 header size
net_tx_pkt_build_vheader() inspects TCP header but had no check for the header size, resulting in an undefined behavior. Check the header size and drop the packet if the header is too small. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw/net/net_tx_pkt.h')
| -rw-r--r-- | hw/net/net_tx_pkt.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/net/net_tx_pkt.h b/hw/net/net_tx_pkt.h index 4ec8bbe9bd..2e38a5fa69 100644 --- a/hw/net/net_tx_pkt.h +++ b/hw/net/net_tx_pkt.h @@ -59,9 +59,10 @@ struct virtio_net_hdr *net_tx_pkt_get_vhdr(struct NetTxPkt *pkt); * @tso_enable: TSO enabled * @csum_enable: CSO enabled * @gso_size: MSS size for TSO + * @ret: operation result * */ -void net_tx_pkt_build_vheader(struct NetTxPkt *pkt, bool tso_enable, +bool net_tx_pkt_build_vheader(struct NetTxPkt *pkt, bool tso_enable, bool csum_enable, uint32_t gso_size); /** |