svn commit: r225971 - stable/9/sys/netinet6
Bjoern A. Zeeb
bz at FreeBSD.org
Tue Oct 4 12:45:25 UTC 2011
Author: bz
Date: Tue Oct 4 12:45:24 2011
New Revision: 225971
URL: http://svn.freebsd.org/changeset/base/225971
Log:
MFC r225885:
Fix an obvious bug from r186196 shadowing a variable, not correctly
appending the new mbuf to the chain reference but possibly causing an mbuf
nextpkt loop leading to a memory used after handoff (or having been freed)
and leaking an mbuf here.
Reviewed by: rwatson, brooks
Approved by: re (kib)
Modified:
stable/9/sys/netinet6/nd6.c
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/amd64/include/xen/ (props changed)
stable/9/sys/boot/ (props changed)
stable/9/sys/boot/i386/efi/ (props changed)
stable/9/sys/boot/ia64/efi/ (props changed)
stable/9/sys/boot/ia64/ski/ (props changed)
stable/9/sys/boot/powerpc/boot1.chrp/ (props changed)
stable/9/sys/boot/powerpc/ofw/ (props changed)
stable/9/sys/cddl/contrib/opensolaris/ (props changed)
stable/9/sys/conf/ (props changed)
stable/9/sys/contrib/dev/acpica/ (props changed)
stable/9/sys/contrib/octeon-sdk/ (props changed)
stable/9/sys/contrib/pf/ (props changed)
stable/9/sys/contrib/x86emu/ (props changed)
Modified: stable/9/sys/netinet6/nd6.c
==============================================================================
--- stable/9/sys/netinet6/nd6.c Tue Oct 4 11:35:18 2011 (r225970)
+++ stable/9/sys/netinet6/nd6.c Tue Oct 4 12:45:24 2011 (r225971)
@@ -2042,14 +2042,15 @@ nd6_output_lle(struct ifnet *ifp, struct
if (*chain == NULL)
*chain = m;
else {
- struct mbuf *m = *chain;
+ struct mbuf *mb;
/*
* append mbuf to end of deferred chain
*/
- while (m->m_nextpkt != NULL)
- m = m->m_nextpkt;
- m->m_nextpkt = m;
+ mb = *chain;
+ while (mb->m_nextpkt != NULL)
+ mb = mb->m_nextpkt;
+ mb->m_nextpkt = m;
}
return (error);
}
More information about the svn-src-stable-9
mailing list