Maksim Yevmenkin wrote this message on Fri, Apr 29, 2005 at 10:51 -0700: > [...] > > >>>>i think we have few options here: > >>>> > >>>>1) revert back original tapwrite function that was changed in v. > >>>>1.48 and set offset to 2 bytes in top mbuf > >>>> > >>>>2) change current version of tapwrite so it would m_prepend and > >>>>m_pullup mbuf after m_uiotombuf > >>>> > >>>>3) change m_uiotombuf to accept one more parameter - mbuf offset at > >>>>which data should be copied. there are not that many users of > >>>>m_uiotombuf > > please find and review the attached patch (untested) that implements > option (3) above. > > >I could try to port the changes netbsd made using m_copyup and > >send you the resulting patchfile. IPv4 has already been serviced by > >John-Mark Gurney in perforce. > > having these changes in the tree is a good thing, but it will require > more testing. maybe for now we could get away with simpler changes?
> @@ -1342,12 +1342,15 @@ > total = min(uio->uio_resid, len); > else > total = uio->uio_resid; > + if (align >= MHLEN) > + goto nospace; > if (total > MHLEN) Shouldn't this check be total + align > MHLEN? > m_final = m_getcl(how, MT_DATA, M_PKTHDR); > else > m_final = m_gethdr(how, MT_DATA); > if (m_final == NULL) > goto nospace; > + m_adj(m_final, align); > m_new = m_final; > while (progress < total) { > length = total - progress; -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not." _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"