Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F166700127
D49840.id153703.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
790 B
Referenced Files
None
Subscribers
None
D49840.id153703.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, hlen + 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
Sun, Aug 16, 5:43 PM (11 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36829193
Default Alt Text
D49840.id153703.diff (790 B)
Attached To
Mode
D49840: ipv6: leave room for link headers in UDP
Attached
Detach File
Event Timeline
Log In to Comment