Fix an alignment panic my preserving the 2byte padding (ETHER_ALIGN) on our

copied mbuf, which keeps the IP header 32-bit aligned. This copied mbuf is
reinjected back into ether_input and off to the IP routines.

Reported and tested by:	Peter van Dijk
Approved by:		mlaier (mentor)
MFC after:		3 days
This commit is contained in:
thompsa 2005-09-22 01:46:11 +00:00
parent 85af1344fb
commit 7aea953706

View File

@ -1751,7 +1751,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m)
*/
KASSERT(bifp->if_bridge == NULL,
("loop created in bridge_input"));
mc2 = m_dup(m, M_DONTWAIT);
mc2 = m_copypacket(m, M_DONTWAIT);
if (mc2 != NULL) {
mc2->m_pkthdr.rcvif = bifp;
(*bifp->if_input)(bifp, mc2);