Module Name: src Committed By: thorpej Date: Sun Mar 15 23:14:41 UTC 2020
Modified Files: src/sys/kern: uipc_mbuf.c src/sys/net: if_ethersubr.c src/sys/sys: mbuf.h Log Message: Add and use a new function, mowner_init_owner(), that initializes an MBUFTRACE mowner structure (so that providers of it don't have to grovel the internals). To generate a diff of this commit: cvs rdiff -u -r1.236 -r1.237 src/sys/kern/uipc_mbuf.c cvs rdiff -u -r1.282 -r1.283 src/sys/net/if_ethersubr.c cvs rdiff -u -r1.225 -r1.226 src/sys/sys/mbuf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/uipc_mbuf.c diff -u src/sys/kern/uipc_mbuf.c:1.236 src/sys/kern/uipc_mbuf.c:1.237 --- src/sys/kern/uipc_mbuf.c:1.236 Fri Dec 6 07:27:07 2019 +++ src/sys/kern/uipc_mbuf.c Sun Mar 15 23:14:41 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: uipc_mbuf.c,v 1.236 2019/12/06 07:27:07 maxv Exp $ */ +/* $NetBSD: uipc_mbuf.c,v 1.237 2020/03/15 23:14:41 thorpej Exp $ */ /* * Copyright (c) 1999, 2001, 2018 The NetBSD Foundation, Inc. @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uipc_mbuf.c,v 1.236 2019/12/06 07:27:07 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uipc_mbuf.c,v 1.237 2020/03/15 23:14:41 thorpej Exp $"); #ifdef _KERNEL_OPT #include "opt_mbuftrace.h" @@ -2054,6 +2054,14 @@ nextchain: #if defined(MBUFTRACE) void +mowner_init_owner(struct mowner *mo, const char *name, const char *descr) +{ + memset(mo, 0, sizeof(*mo)); + strlcpy(mo->mo_name, name, sizeof(mo->mo_name)); + strlcpy(mo->mo_descr, descr, sizeof(mo->mo_descr)); +} + +void mowner_attach(struct mowner *mo) { Index: src/sys/net/if_ethersubr.c diff -u src/sys/net/if_ethersubr.c:1.282 src/sys/net/if_ethersubr.c:1.283 --- src/sys/net/if_ethersubr.c:1.282 Wed Jan 29 04:11:35 2020 +++ src/sys/net/if_ethersubr.c Sun Mar 15 23:14:41 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ethersubr.c,v 1.282 2020/01/29 04:11:35 thorpej Exp $ */ +/* $NetBSD: if_ethersubr.c,v 1.283 2020/03/15 23:14:41 thorpej Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_ethersubr.c,v 1.282 2020/01/29 04:11:35 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ethersubr.c,v 1.283 2020/03/15 23:14:41 thorpej Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -1007,14 +1007,8 @@ ether_ifattach(struct ifnet *ifp, const ifp->if_broadcastaddr = etherbroadcastaddr; bpf_attach(ifp, DLT_EN10MB, sizeof(struct ether_header)); #ifdef MBUFTRACE - strlcpy(ec->ec_tx_mowner.mo_name, ifp->if_xname, - sizeof(ec->ec_tx_mowner.mo_name)); - strlcpy(ec->ec_tx_mowner.mo_descr, "tx", - sizeof(ec->ec_tx_mowner.mo_descr)); - strlcpy(ec->ec_rx_mowner.mo_name, ifp->if_xname, - sizeof(ec->ec_rx_mowner.mo_name)); - strlcpy(ec->ec_rx_mowner.mo_descr, "rx", - sizeof(ec->ec_rx_mowner.mo_descr)); + mowner_init_owner(&ec->ec_tx_mowner, ifp->if_xname, "tx"); + mowner_init_owner(&ec->ec_rx_mowner, ifp->if_xname, "rx"); MOWNER_ATTACH(&ec->ec_tx_mowner); MOWNER_ATTACH(&ec->ec_rx_mowner); ifp->if_mowner = &ec->ec_tx_mowner; Index: src/sys/sys/mbuf.h diff -u src/sys/sys/mbuf.h:1.225 src/sys/sys/mbuf.h:1.226 --- src/sys/sys/mbuf.h:1.225 Thu Mar 5 15:18:55 2020 +++ src/sys/sys/mbuf.h Sun Mar 15 23:14:41 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: mbuf.h,v 1.225 2020/03/05 15:18:55 riastradh Exp $ */ +/* $NetBSD: mbuf.h,v 1.226 2020/03/15 23:14:41 thorpej Exp $ */ /* * Copyright (c) 1996, 1997, 1999, 2001, 2007 The NetBSD Foundation, Inc. @@ -412,6 +412,7 @@ extern const char * const mbuftypes[]; #ifdef MBUFTRACE /* Mbuf allocation tracing. */ +void mowner_init_owner(struct mowner *, const char *, const char *); void mowner_init(struct mbuf *, int); void mowner_ref(struct mbuf *, int); void m_claim(struct mbuf *, struct mowner *); @@ -420,6 +421,7 @@ void mowner_attach(struct mowner *); void mowner_detach(struct mowner *); void m_claimm(struct mbuf *, struct mowner *); #else +#define mowner_init_owner(mo, n, d) __nothing #define mowner_init(m, type) __nothing #define mowner_ref(m, flags) __nothing #define mowner_revoke(m, all, flags) __nothing