[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230113223619.162405-2-parav@nvidia.com>
Date: Sat, 14 Jan 2023 00:36:18 +0200
From: Parav Pandit <parav@...dia.com>
To: <mst@...hat.com>, <jasowang@...hat.com>, <netdev@...r.kernel.org>,
<davem@...emloft.net>, <kuba@...nel.org>
CC: <edumazet@...gle.com>, <pabeni@...hat.com>,
<virtualization@...ts.linux-foundation.org>,
Parav Pandit <parav@...dia.com>
Subject: [PATCH net-next 1/2] virtio_net: Fix short frame length check
A smallest Ethernet frame defined by IEEE 802.3 is 60 bytes without any
preemble and CRC.
Current code only checks for minimal 14 bytes of Ethernet header length.
Correct it to consider the minimum Ethernet frame length.
Fixes: 296f96fcfc16 ("Net driver using virtio")
Signed-off-by: Parav Pandit <parav@...dia.com>
---
drivers/net/virtio_net.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 7723b2a49d8e..d45e140b6852 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -1248,7 +1248,7 @@ static void receive_buf(struct virtnet_info *vi, struct receive_queue *rq,
struct sk_buff *skb;
struct virtio_net_hdr_mrg_rxbuf *hdr;
- if (unlikely(len < vi->hdr_len + ETH_HLEN)) {
+ if (unlikely(len < vi->hdr_len + ETH_ZLEN)) {
pr_debug("%s: short packet %i\n", dev->name, len);
dev->stats.rx_length_errors++;
if (vi->mergeable_rx_bufs) {
--
2.26.2
Powered by blists - more mailing lists