ep(4) is totally weird. due to hardware design limitations it plays wierd games with caching mbufs. as part of that it used regular mbufs and makes them M_PKTHDR mbufs on the fly, instead of calling m_gethdr. of course it did it hackish and wrong and did not properly initialize the pkthdr fields, which stated to cause problems as soon as we started to stuff more into the packet header. so use the freshly introduced m_inithdr() to make the mbuf a pktdr mbuf. problem found + analyzed by janjaap@stack.nl PR5563, input theo, ok claudio
ep(4) is totally weird. due to hardware design limitations it plays
wierd games with caching mbufs. as part of that it used regular mbufs
and makes them M_PKTHDR mbufs on the fly, instead of calling m_gethdr.
of course it did it hackish and wrong and did not properly initialize
the pkthdr fields, which stated to cause problems as soon as we started
to stuff more into the packet header.
so use the freshly introduced m_inithdr() to make the mbuf a pktdr mbuf.
problem found + analyzed by janjaap@stack.nl PR5563, input theo, ok claudio

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars