Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F152819384
D49840.id153691.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
808 B
Referenced Files
None
Subscribers
None
D49840.id153691.diff
View Options
diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c
--- a/sys/netinet6/udp6_usrreq.c
+++ b/sys/netinet6/udp6_usrreq.c
@@ -860,14 +860,18 @@
hlen = sizeof(struct ip6_hdr);
/*
- * Calculate data length and get a mbuf
- * for UDP and IP6 headers.
+ * Calculate data length and get a mbuf for UDP, IP6, and possible
+ * link-layer headers. Immediate slide the data pointer back forward
+ * since we won't use that space at this layer.
*/
- M_PREPEND(m, hlen + sizeof(struct udphdr), M_NOWAIT);
+ M_PREPEND(m, sizeof(struct ip6_hdr) + sizeof(struct udphdr) + max_linkhdr, M_NOWAIT);
if (m == NULL) {
error = ENOBUFS;
goto release;
}
+ m->m_data += max_linkhdr;
+ m->m_len -= max_linkhdr;
+ m->m_pkthdr.len -= max_linkhdr;
/*
* Stuff checksum and output datagram.
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 18, 7:56 AM (5 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31707125
Default Alt Text
D49840.id153691.diff (808 B)
Attached To
Mode
D49840: ipv6: leave room for link headers in UDP
Attached
Detach File
Event Timeline
Log In to Comment