[PATCH 2.6.14-rc2] aoe [1/3]: explicitly set minimum packet length to ETH_ZLEN

Ed L. Cashin
2005-09-29T17:03:00Z

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>

Explicitly set the minimum packet length to ETH_ZLEN and zero the
packet data.

diff -u 2.6.14-rc2-aoe/drivers/block/aoe/aoecmd.c 2.6.14-rc2-aoe/drivers/block/aoe/aoecmd.c
--- 2.6.14-rc2-aoe/drivers/block/aoe/aoecmd.c 2005-09-29 12:01:55.000000000 -0400
+++ 2.6.14-rc2-aoe/drivers/block/aoe/aoecmd.c 2005-09-29 12:01:56.000000000 -0400
@@ -20,6 +20,9 @@
{
struct sk_buff *skb;

+ if (len < ETH_ZLEN)
+ len = ETH_ZLEN;
+
skb = alloc_skb(len, GFP_ATOMIC);
if (skb) {
skb->nh.raw = skb->mac.raw = skb->data;
@@ -27,6 +30,7 @@
skb->protocol = __constant_htons(ETH_P_AOE);
skb->priority = 0;
skb_put(skb, len);
+ memset(skb->head, 0, len);
skb->next = skb->prev = NULL;

/* tell the network layer not to perform IP checksums

--
Ed L. Cashin <ecashin@coraid.com>