From 745e97fea4169ce4a217dbb4a1c46055a2ccc468 Mon Sep 17 00:00:00 2001 From: Renato Botelho Date: Tue, 22 Mar 2016 08:27:42 -0300 Subject: Backport patch from D5698 This is an attempt to fix Chelsio cxl driver mbuf leak https://reviews.freebsd.org/D5698 (cherry picked from commit c35924db4e1edd83f5a845760098fc8cbd7f7456) --- sys/dev/netmap/netmap_generic.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sys/dev') diff --git a/sys/dev/netmap/netmap_generic.c b/sys/dev/netmap/netmap_generic.c index ecdb368..4983516 100644 --- a/sys/dev/netmap/netmap_generic.c +++ b/sys/dev/netmap/netmap_generic.c @@ -129,8 +129,9 @@ static inline struct mbuf * netmap_get_mbuf(int len) { struct mbuf *m; - m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR | M_NOFREE); + m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); if (m) { + m->m_flags |= M_NOFREE; /* XXXNP: Almost certainly incorrect. */ m->m_ext.ext_arg1 = m->m_ext.ext_buf; // XXX save m->m_ext.ext_free = (void *)netmap_default_mbuf_destructor; m->m_ext.ext_type = EXT_EXTREF; -- cgit v1.1