Date: Mon, 4 Dec 2000 16:48:55 -0600 From: Jonathan Lemon <jlemon@flugsvamp.com> To: freebsd-security@freebsd.org, mouss <usebsd@free.fr> Subject: Re: ipfw/dummy: memory leak or what? Message-ID: <20001204164855.I56974@prism.flugsvamp.com>
next in thread | raw e-mail | index | archive | help
In <XFMail.001204142832.jhb@FreeBSD.org>, John Baldwin wrote:
>
> if (m->m_type == MT_DUMMYNET) {
> rule = (struct ip_fw_chain *)(m->m_data) ;
> m = m->m_next ;
> ip = mtod(m, struct ip *);
> hlen = IP_VHL_HL(ip->ip_vhl) << 2;
> goto iphack ;
> } else
This isn't (theoretically) a leak. Dummynet works by prepending
a private data structure onto the mbuf chain; this structure is
not an mbuf, and should not be passed to m_freem().
Instead, look at the following fragment of code within
ip_dummynet.c:transmit_event(), which takes care of freeing
the data structure:
switch (pkt->dn_dir) {
case DN_TO_IP_IN :
ip_input((struct mbuf *)pkt) ;
break ;
}
FREE(pkt, M_IPFW);
Although this is quite non-obvious, from my point of view.
--
Jonathan
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001204164855.I56974>
