Author: jhb
Date: Wed May  1 21:26:33 2019
New Revision: 347004
URL: https://svnweb.freebsd.org/changeset/base/347004

Log:
  MFC 345659: Use a dedicated malloc type for lagg(4)'s structures.

Modified:
  stable/12/sys/net/if_lagg.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/net/if_lagg.c
==============================================================================
--- stable/12/sys/net/if_lagg.c Wed May  1 19:35:45 2019        (r347003)
+++ stable/12/sys/net/if_lagg.c Wed May  1 21:26:33 2019        (r347004)
@@ -111,6 +111,7 @@ static void lagg_clone_destroy(struct ifnet *);
 VNET_DEFINE_STATIC(struct if_clone *, lagg_cloner);
 #define        V_lagg_cloner   VNET(lagg_cloner)
 static const char laggname[] = "lagg";
+static MALLOC_DEFINE(M_LAGG, laggname, "802.3AD Link Aggregation Interface");
 
 static void    lagg_capabilities(struct lagg_softc *);
 static int     lagg_port_create(struct lagg_softc *, struct ifnet *);
@@ -478,10 +479,10 @@ lagg_clone_create(struct if_clone *ifc, int unit, cadd
        struct ifnet *ifp;
        static const u_char eaddr[6];   /* 00:00:00:00:00:00 */
 
-       sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK|M_ZERO);
+       sc = malloc(sizeof(*sc), M_LAGG, M_WAITOK|M_ZERO);
        ifp = sc->sc_ifp = if_alloc(IFT_ETHER);
        if (ifp == NULL) {
-               free(sc, M_DEVBUF);
+               free(sc, M_LAGG);
                return (ENOSPC);
        }
        LAGG_SX_INIT(sc);
@@ -568,7 +569,7 @@ lagg_clone_destroy(struct ifnet *ifp)
        LAGG_LIST_UNLOCK();
 
        LAGG_SX_DESTROY(sc);
-       free(sc, M_DEVBUF);
+       free(sc, M_LAGG);
 }
 
 static void
@@ -682,7 +683,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *
                ifr.ifr_mtu = oldmtu;
        }
 
-       lp = malloc(sizeof(struct lagg_port), M_DEVBUF, M_WAITOK|M_ZERO);
+       lp = malloc(sizeof(struct lagg_port), M_LAGG, M_WAITOK|M_ZERO);
        lp->lp_softc = sc;
 
        /* Check if port is a stacked lagg */
@@ -690,7 +691,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *
        SLIST_FOREACH(sc_ptr, &V_lagg_list, sc_entries) {
                if (ifp == sc_ptr->sc_ifp) {
                        LAGG_LIST_UNLOCK();
-                       free(lp, M_DEVBUF);
+                       free(lp, M_LAGG);
                        if (oldmtu != -1)
                                (*ifp->if_ioctl)(ifp, SIOCSIFMTU,
                                    (caddr_t)&ifr);
@@ -701,7 +702,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *
                        if (lagg_port_checkstacking(sc_ptr) >=
                            LAGG_MAX_STACKING) {
                                LAGG_LIST_UNLOCK();
-                               free(lp, M_DEVBUF);
+                               free(lp, M_LAGG);
                                if (oldmtu != -1)
                                        (*ifp->if_ioctl)(ifp, SIOCSIFMTU,
                                            (caddr_t)&ifr);
@@ -812,7 +813,7 @@ lagg_port_destroy_cb(epoch_context_t ec)
        ifp = lp->lp_ifp;
 
        if_rele(ifp);
-       free(lp, M_DEVBUF);
+       free(lp, M_LAGG);
 }
 
 static int
@@ -1584,7 +1585,7 @@ lagg_setmulti(struct lagg_port *lp)
        CK_STAILQ_FOREACH(ifma, &scifp->if_multiaddrs, ifma_link) {
                if (ifma->ifma_addr->sa_family != AF_LINK)
                        continue;
-               mc = malloc(sizeof(struct lagg_mc), M_DEVBUF, M_NOWAIT);
+               mc = malloc(sizeof(struct lagg_mc), M_LAGG, M_NOWAIT);
                if (mc == NULL) {
                        IF_ADDR_WUNLOCK(scifp);
                        return (ENOMEM);
@@ -1615,7 +1616,7 @@ lagg_clrmulti(struct lagg_port *lp)
                SLIST_REMOVE(&lp->lp_mc_head, mc, lagg_mc, mc_entries);
                if (mc->mc_ifma && lp->lp_detaching == 0)
                        if_delmulti_ifma(mc->mc_ifma);
-               free(mc, M_DEVBUF);
+               free(mc, M_LAGG);
        }
        return (0);
 }
@@ -2059,7 +2060,7 @@ lagg_lb_attach(struct lagg_softc *sc)
        struct lagg_lb *lb;
 
        LAGG_XLOCK_ASSERT(sc);
-       lb = malloc(sizeof(struct lagg_lb), M_DEVBUF, M_WAITOK | M_ZERO);
+       lb = malloc(sizeof(struct lagg_lb), M_LAGG, M_WAITOK | M_ZERO);
        lb->lb_key = m_ether_tcpip_hash_init();
        sc->sc_psc = lb;
 
@@ -2074,7 +2075,7 @@ lagg_lb_detach(struct lagg_softc *sc)
 
        lb = (struct lagg_lb *)sc->sc_psc;
        if (lb != NULL)
-               free(lb, M_DEVBUF);
+               free(lb, M_LAGG);
 }
 
 static int
_______________________________________________
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"

Reply via email to