Node constructor methods are supposed to be called in syscall

context always. Convert nodes to consistently use M_WAITOK flag
for memory allocation.

Reviewed by:	julian
This commit is contained in:
Gleb Smirnoff 2011-04-18 09:12:27 +00:00
parent ffbfc0aacb
commit 674d86bf91
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=220768
40 changed files with 43 additions and 144 deletions

View File

@ -348,9 +348,7 @@ ng_ccatm_constructor(node_p node)
{
struct ccnode *priv;
priv = malloc(sizeof(*priv), M_NG_CCATM, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NG_CCATM, M_WAITOK | M_ZERO);
priv->node = node;
priv->data = cc_create(&cc_funcs);

View File

@ -538,8 +538,7 @@ ng_sscfu_constructor(node_p node)
{
struct priv *priv;
if ((priv = malloc(sizeof(*priv), M_NG_SSCFU, M_NOWAIT|M_ZERO)) == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NG_SSCFU, M_WAITOK | M_ZERO);
if ((priv->sscf = sscfu_create(node, &sscfu_funcs)) == NULL) {
free(priv, M_NG_SSCFU);

View File

@ -246,8 +246,7 @@ ng_sscop_constructor(node_p node)
{
struct priv *p;
if ((p = malloc(sizeof(*p), M_NG_SSCOP, M_NOWAIT | M_ZERO)) == NULL)
return (ENOMEM);
p = malloc(sizeof(*p), M_NG_SSCOP, M_WAITOK | M_ZERO);
if ((p->sscop = sscop_create(node, &sscop_funcs)) == NULL) {
free(p, M_NG_SSCOP);

View File

@ -223,8 +223,7 @@ ng_uni_constructor(node_p node)
{
struct priv *priv;
if ((priv = malloc(sizeof(*priv), M_NG_UNI, M_NOWAIT | M_ZERO)) == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NG_UNI, M_WAITOK | M_ZERO);
if ((priv->uni = uni_create(node, &uni_funcs)) == NULL) {
free(priv, M_NG_UNI);

View File

@ -109,10 +109,7 @@ ng_hci_constructor(node_p node)
{
ng_hci_unit_p unit = NULL;
unit = malloc(sizeof(*unit), M_NETGRAPH_HCI,
M_NOWAIT | M_ZERO);
if (unit == NULL)
return (ENOMEM);
unit = malloc(sizeof(*unit), M_NETGRAPH_HCI, M_WAITOK | M_ZERO);
unit->node = node;
unit->debug = NG_HCI_WARN_LEVEL;

View File

@ -113,10 +113,7 @@ ng_l2cap_constructor(node_p node)
ng_l2cap_p l2cap = NULL;
/* Create new L2CAP node */
l2cap = malloc(sizeof(*l2cap),
M_NETGRAPH_L2CAP, M_NOWAIT|M_ZERO);
if (l2cap == NULL)
return (ENOMEM);
l2cap = malloc(sizeof(*l2cap), M_NETGRAPH_L2CAP, M_WAITOK | M_ZERO);
l2cap->node = node;
l2cap->debug = NG_L2CAP_WARN_LEVEL;

View File

@ -223,10 +223,7 @@ ng_netflow_constructor(node_p node)
int error = 0, i;
/* Initialize private data */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT);
if (priv == NULL)
return (ENOMEM);
bzero(priv, sizeof(*priv));
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
/* Make node and its data point at each other */
NG_NODE_SET_PRIVATE(node, priv);

View File

@ -103,10 +103,7 @@ ng_UI_constructor(node_p node)
priv_p priv;
/* Allocate private structure */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL) {
return (ENOMEM);
}
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, priv);
return (0);
}

View File

@ -183,25 +183,15 @@ nga_constructor(node_p node)
{
sc_p sc;
sc = malloc(sizeof(*sc), M_NETGRAPH_ASYNC, M_NOWAIT | M_ZERO);
if (sc == NULL)
return (ENOMEM);
sc = malloc(sizeof(*sc), M_NETGRAPH_ASYNC, M_WAITOK | M_ZERO);
sc->amode = MODE_HUNT;
sc->cfg.accm = ~0;
sc->cfg.amru = NG_ASYNC_DEFAULT_MRU;
sc->cfg.smru = NG_ASYNC_DEFAULT_MRU;
sc->abuf = malloc(ASYNC_BUF_SIZE(sc->cfg.smru),
M_NETGRAPH_ASYNC, M_NOWAIT);
if (sc->abuf == NULL)
goto fail;
M_NETGRAPH_ASYNC, M_WAITOK);
sc->sbuf = malloc(SYNC_BUF_SIZE(sc->cfg.amru),
M_NETGRAPH_ASYNC, M_NOWAIT);
if (sc->sbuf == NULL) {
free(sc->abuf, M_NETGRAPH_ASYNC);
fail:
free(sc, M_NETGRAPH_ASYNC);
return (ENOMEM);
}
M_NETGRAPH_ASYNC, M_WAITOK);
NG_NODE_SET_PRIVATE(node, sc);
sc->node = node;
return (0);

View File

@ -80,12 +80,7 @@ ng_atmllc_constructor(node_p node)
{
struct ng_atmllc_priv *priv;
priv = malloc(sizeof(*priv), M_NETGRAPH,
M_NOWAIT | M_ZERO);
if (priv == NULL) {
return (ENOMEM);
}
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, priv);
return (0);

View File

@ -309,18 +309,12 @@ ng_bridge_constructor(node_p node)
priv_p priv;
/* Allocate and initialize private info */
priv = malloc(sizeof(*priv), M_NETGRAPH_BRIDGE, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH_BRIDGE, M_WAITOK | M_ZERO);
ng_callout_init(&priv->timer);
/* Allocate and initialize hash table, etc. */
priv->tab = malloc(MIN_BUCKETS * sizeof(*priv->tab),
M_NETGRAPH_BRIDGE, M_NOWAIT | M_ZERO);
if (priv->tab == NULL) {
free(priv, M_NETGRAPH_BRIDGE);
return (ENOMEM);
}
M_NETGRAPH_BRIDGE, M_WAITOK | M_ZERO);
priv->numBuckets = MIN_BUCKETS;
priv->hashMask = MIN_BUCKETS - 1;
priv->conf.debugLevel = 1;

View File

@ -186,9 +186,7 @@ ng_car_constructor(node_p node)
priv_p priv;
/* Initialize private descriptor. */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, priv);
priv->node = node;

View File

@ -193,9 +193,7 @@ cisco_constructor(node_p node)
{
sc_p sc;
sc = malloc(sizeof(*sc), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (sc == NULL)
return (ENOMEM);
sc = malloc(sizeof(*sc), M_NETGRAPH, M_WAITOK | M_ZERO);
ng_callout_init(&sc->handle);
NG_NODE_SET_PRIVATE(node, sc);

View File

@ -163,9 +163,7 @@ ng_device_constructor(node_p node)
DBG;
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
/* Allocate unit number */
priv->unit = alloc_unr(ngd_unit);

View File

@ -343,9 +343,7 @@ ng_eiface_constructor(node_p node)
u_char eaddr[6] = {0,0,0,0,0,0};
/* Allocate node and interface private structures */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
ifp = priv->ifp = if_alloc(IFT_ETHER);
if (ifp == NULL) {

View File

@ -180,10 +180,7 @@ ng_etf_constructor(node_p node)
int i;
/* Initialize private descriptor */
privdata = malloc(sizeof(*privdata), M_NETGRAPH_ETF,
M_NOWAIT | M_ZERO);
if (privdata == NULL)
return (ENOMEM);
privdata = malloc(sizeof(*privdata), M_NETGRAPH_ETF, M_WAITOK | M_ZERO);
for (i = 0; i < HASHSIZE; i++) {
LIST_INIT((privdata->hashtable + i));
}

View File

@ -1197,9 +1197,7 @@ ng_fec_constructor(node_p node)
int error = 0;
/* Allocate node and interface private structures */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
ifp = priv->ifp = if_alloc(IFT_ETHER);
if (ifp == NULL) {

View File

@ -212,9 +212,7 @@ ngfrm_constructor(node_p node)
{
sc_p sc;
sc = malloc(sizeof(*sc), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (!sc)
return (ENOMEM);
sc = malloc(sizeof(*sc), M_NETGRAPH, M_WAITOK | M_ZERO);
sc->addrlen = 2; /* default */
/* Link the node and our private info */

View File

@ -233,10 +233,7 @@ ng_gif_demux_constructor(node_p node)
priv_p priv;
/* Allocate and initialize private info */
priv = malloc(sizeof(*priv), M_NETGRAPH_GIF_DEMUX,
M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH_GIF_DEMUX, M_WAITOK | M_ZERO);
priv->node = node;
NG_NODE_SET_PRIVATE(node, priv);

View File

@ -86,9 +86,7 @@ ng_hub_constructor(node_p node)
priv_p priv;
/* Allocate and initialize private info */
priv = malloc(sizeof(*priv), M_NETGRAPH_HUB, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH_HUB, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, priv);
return (0);

View File

@ -531,9 +531,7 @@ ng_iface_constructor(node_p node)
priv_p priv;
/* Allocate node and interface private structures */
priv = malloc(sizeof(*priv), M_NETGRAPH_IFACE, M_NOWAIT|M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH_IFACE, M_WAITOK | M_ZERO);
ifp = if_alloc(IFT_PROPVIRTUAL);
if (ifp == NULL) {
free(priv, M_NETGRAPH_IFACE);

View File

@ -523,10 +523,7 @@ ng_ksocket_constructor(node_p node)
priv_p priv;
/* Allocate private structure */
priv = malloc(sizeof(*priv),
M_NETGRAPH_KSOCKET, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH_KSOCKET, M_WAITOK | M_ZERO);
LIST_INIT(&priv->embryos);
/* cross link them */

View File

@ -361,9 +361,7 @@ ng_l2tp_constructor(node_p node)
int i;
/* Allocate private structure */
priv = malloc(sizeof(*priv), M_NETGRAPH_L2TP, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH_L2TP, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, priv);
priv->node = node;

View File

@ -185,9 +185,7 @@ nglmi_constructor(node_p node)
{
sc_p sc;
sc = malloc(sizeof(*sc), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (sc == NULL)
return (ENOMEM);
sc = malloc(sizeof(*sc), M_NETGRAPH, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, sc);
sc->node = node;

View File

@ -201,9 +201,7 @@ ng_mppc_constructor(node_p node)
priv_p priv;
/* Allocate private structure */
priv = malloc(sizeof(*priv), M_NETGRAPH_MPPC, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH_MPPC, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, priv);

View File

@ -272,10 +272,7 @@ ng_nat_constructor(node_p node)
priv_p priv;
/* Initialize private descriptor. */
priv = malloc(sizeof(*priv), M_NETGRAPH,
M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
/* Init aliasing engine. */
priv->lib = LibAliasInit(NULL);

View File

@ -187,9 +187,7 @@ ng_one2many_constructor(node_p node)
priv_p priv;
/* Allocate and initialize private info */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
priv->conf.xmitAlg = NG_ONE2MANY_XMIT_ROUNDROBIN;
priv->conf.failAlg = NG_ONE2MANY_FAIL_MANUAL;

View File

@ -253,9 +253,7 @@ ngp_constructor(node_p node)
{
priv_p priv;
priv = malloc(sizeof(*priv), M_NG_PIPE, M_ZERO | M_NOWAIT);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NG_PIPE, M_ZERO | M_WAITOK);
NG_NODE_SET_PRIVATE(node, priv);
/* Mark node as single-threaded */

View File

@ -490,9 +490,7 @@ ng_ppp_constructor(node_p node)
int i;
/* Allocate private structure */
priv = malloc(sizeof(*priv), M_NETGRAPH_PPP, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH_PPP, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, priv);

View File

@ -611,9 +611,7 @@ ng_pppoe_constructor(node_p node)
int i;
/* Initialize private descriptor. */
privp = malloc(sizeof(*privp), M_NETGRAPH_PPPOE, M_NOWAIT | M_ZERO);
if (privp == NULL)
return (ENOMEM);
privp = malloc(sizeof(*privp), M_NETGRAPH_PPPOE, M_WAITOK | M_ZERO);
/* Link structs together; this counts as our one reference to *node. */
NG_NODE_SET_PRIVATE(node, privp);

View File

@ -281,9 +281,7 @@ ng_pptpgre_constructor(node_p node)
int i;
/* Allocate private structure */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, priv);

View File

@ -165,9 +165,7 @@ ng_rfc1490_constructor(node_p node)
priv_p priv;
/* Allocate private structure */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
/* Initialize to default encapsulation method - ietf-ip */
priv->enc = ng_rfc1490_encaps;

View File

@ -154,10 +154,7 @@ ng_xxx_constructor(node_p node)
int i;
/* Initialize private descriptor */
privdata = malloc(sizeof(*privdata), M_NETGRAPH,
M_NOWAIT | M_ZERO);
if (privdata == NULL)
return (ENOMEM);
privdata = malloc(sizeof(*privdata), M_NETGRAPH, M_WAITOK | M_ZERO);
for (i = 0; i < XXX_NUM_DLCIS; i++) {
privdata->channel[i].dlci = -2;
privdata->channel[i].channel = i;

View File

@ -273,9 +273,7 @@ ng_source_constructor(node_p node)
{
sc_p sc;
sc = malloc(sizeof(*sc), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (sc == NULL)
return (ENOMEM);
sc = malloc(sizeof(*sc), M_NETGRAPH, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, sc);
sc->node = node;

View File

@ -85,9 +85,7 @@ ng_split_constructor(node_p node)
priv_p priv;
/* Allocate node */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_ZERO | M_NOWAIT);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_ZERO | M_WAITOK);
/* Link together node and private info */
NG_NODE_SET_PRIVATE(node, priv);

View File

@ -248,9 +248,7 @@ ng_sppp_constructor (node_p node)
int error = 0;
/* Allocate node and interface private structures */
priv = malloc (sizeof(*priv), M_NETGRAPH_SPPP, M_NOWAIT|M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH_SPPP, M_WAITOK | M_ZERO);
ifp = if_alloc(IFT_PPP);
if (ifp == NULL) {

View File

@ -153,9 +153,7 @@ ng_tee_constructor(node_p node)
{
sc_p privdata;
privdata = malloc(sizeof(*privdata), M_NETGRAPH, M_NOWAIT|M_ZERO);
if (privdata == NULL)
return (ENOMEM);
privdata = malloc(sizeof(*privdata), M_NETGRAPH, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, privdata);
return (0);

View File

@ -156,9 +156,7 @@ ngt_constructor(node_p node)
sc_p sc;
/* Allocate private structure */
sc = malloc(sizeof(*sc), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (sc == NULL)
return (ENOMEM);
sc = malloc(sizeof(*sc), M_NETGRAPH, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, sc);
sc->node = node;

View File

@ -243,9 +243,7 @@ ng_vjc_constructor(node_p node)
priv_p priv;
/* Allocate private structure */
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
NG_NODE_SET_PRIVATE(node, priv);

View File

@ -161,9 +161,7 @@ ng_vlan_constructor(node_p node)
priv_p priv;
int i;
priv = malloc(sizeof(*priv), M_NETGRAPH, M_NOWAIT | M_ZERO);
if (priv == NULL)
return (ENOMEM);
priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO);
for (i = 0; i < HASHSIZE; i++)
LIST_INIT(&priv->hashtable[i]);
NG_NODE_SET_PRIVATE(node, priv);