| Kernel v2.4.19 /net/packet/af_packet.c |
|---|
 2.4.19
 net
 packet
 af_packet.c
diff -urN linux-2.4.18/net/packet/af_packet.c linux-2.4.19/net/packet/af_packet.c
--- linux-2.4.18/net/packet/af_packet.c Fri Dec 21 09:42:06 2001
+++ linux-2.4.19/net/packet/af_packet.c Fri Aug 2 17:39:46 2002
@@ -355,6 +355,8 @@
if (dev->hard_header) {
skb->data -= dev->hard_header_len;
skb->tail -= dev->hard_header_len;
+ if (len < dev->hard_header_len)
+ skb->nh.raw = skb->data;
}
/* Returns -EFAULT on error */
@@ -1660,7 +1662,7 @@
pg_vec[i] = __get_free_pages(GFP_KERNEL, order);
if (!pg_vec[i])
goto out_free_pgvec;
-
+ memset((void *)(pg_vec[i]), 0, PAGE_SIZE << order);
pend = virt_to_page(pg_vec[i] + (PAGE_SIZE << order) - 1);
for (page = virt_to_page(pg_vec[i]); page <= pend; page++)
SetPageReserved(page);
|