Author: sbruno Date: Thu Jan 12 16:24:10 2017 New Revision: 311986 URL: https://svnweb.freebsd.org/changeset/base/311986
Log: Fix panic on mb_free_ext() due to NULL destructor. This used to happen because of the SET_MBUF_DESTRUCTOR() called on unregif. Submitted by: Vincenzo Maffione <v.maffi...@gmail.com> Modified: head/sys/dev/netmap/netmap_generic.c Modified: head/sys/dev/netmap/netmap_generic.c ============================================================================== --- head/sys/dev/netmap/netmap_generic.c Thu Jan 12 16:22:28 2017 (r311985) +++ head/sys/dev/netmap/netmap_generic.c Thu Jan 12 16:24:10 2017 (r311986) @@ -165,12 +165,12 @@ nm_os_get_mbuf(struct ifnet *ifp, int le * has a KASSERT(), checking that the mbuf dtor function is not NULL. */ +static void void_mbuf_dtor(struct mbuf *m, void *arg1, void *arg2) { } + #define SET_MBUF_DESTRUCTOR(m, fn) do { \ - (m)->m_ext.ext_free = (void *)fn; \ + (m)->m_ext.ext_free = fn ? (void *)fn : (void *)void_mbuf_dtor; \ } while (0) -static void void_mbuf_dtor(struct mbuf *m, void *arg1, void *arg2) { } - static inline struct mbuf * nm_os_get_mbuf(struct ifnet *ifp, int len) { _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"