https://bugs.dragonflybsd.org/https://bugs.dragonflybsd.org/favicon.ico?16293952082008-10-28T00:38:00ZDragonFlyBSD bugtrackerDragonFlyBSD - Bug #1154: fix ip_input m_len assertionhttps://bugs.dragonflybsd.org/issues/1154?journal_id=54922008-10-28T00:38:00Znthery
<ul></ul><p>The diff looks fine to me (but I don't know much about networking).</p>
<p>Out of curiosity in ip_localforward(), how can the packet be freed<br />while we are trying to forward it?</p>
<p>+ /* The packet was freed; we are done */</p>
<p>Cheers,<br />Nicolas</p> DragonFlyBSD - Bug #1154: fix ip_input m_len assertionhttps://bugs.dragonflybsd.org/issues/1154?journal_id=54932008-10-28T09:38:03Zsepherosa
<ul></ul><p>Above comment is in following code block:<br />+ if (m->m_len < hlen) {<br />+ m = m_pullup(m, hlen);<br />+ if (m == NULL) {<br />+ /* The packet was freed; we are done */<br />+ return 1;<br />+ }<br />+ }</p>
<p>If m_pullup failed ('m' is freed), then we lost the mbuf, so we could<br />not return 0 to let ip_output keep going.</p>
<p>Best Regards,<br />sephe</p> DragonFlyBSD - Bug #1154: fix ip_input m_len assertionhttps://bugs.dragonflybsd.org/issues/1154?journal_id=55662008-12-01T20:39:46Zaoiko
<ul></ul><p>committed by sephe@</p>