History log of /freebsd-10-stable/sys/kern/uipc_mbuf.c
Revision Date Author Comments
# 308376 06-Nov-2016 avos

MFC r288990:
Fix regression from r248371. We need to copy packet header to new
mbuf. Unlike in the pre-r248371 code, assert that M_PKTHDR is set
only on a first mbuf.

PR: 195074


# 297478 31-Mar-2016 np

MFC r297298:
Plug leak in m_unshare.

m_unshare passes on the source mbuf's flags as-is to m_getcl and this
results in a leak if the flags include M_NOFREE. The fix is to clear
the bits not listed in M_COPYALL before calling m_getcl. M_RDONLY
should probably be filtered out too but that's outside the scope of this
fix.

Add assertions in the zone_mbuf and zone_pack ctors to catch similar
bugs.

Update netmap_get_mbuf to not pass M_NOFREE to m_getcl. It's not clear
what the original code was trying to do but it's likely incorrect.
Updated code is no different functionally but it avoids the newly added
assertions.

Sponsored by: Chelsio Communications


# 283198 21-May-2015 ae

MFC r282594:
m_dup() is supposed to give a writable copy of an mbuf chain. It uses
m_dup_pkthdr(), that uses M_COPYFLAGS mask to copy m_flags field.
If original mbuf chain has M_RDONLY flag, its copy also will have it.
Reset this flag explicitly.


# 258483 22-Nov-2013 glebius

Merge r258128 from head:
Fix a very bad typo from r248887.

Approved by: re (kib)


# 283198 21-May-2015 ae

MFC r282594:
m_dup() is supposed to give a writable copy of an mbuf chain. It uses
m_dup_pkthdr(), that uses M_COPYFLAGS mask to copy m_flags field.
If original mbuf chain has M_RDONLY flag, its copy also will have it.
Reset this flag explicitly.


# 258483 22-Nov-2013 glebius

Merge r258128 from head:
Fix a very bad typo from r248887.

Approved by: re (kib)