From 03fb709e1fd7a696d5d00f0f09c2cef739c0727e Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Sat, 22 Sep 2012 12:49:36 +0000 Subject: [PATCH] Convert more M_WAITOK malloc() to M_NOWAIT. Reported by: Kim Culhan --- sys/contrib/altq/altq/altq_priq.c | 10 ++++++---- sys/contrib/altq/altq/altq_red.c | 3 +-- sys/contrib/altq/altq/altq_rio.c | 3 +-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/contrib/altq/altq/altq_priq.c b/sys/contrib/altq/altq/altq_priq.c index 0dde938d8510..72bad809d270 100644 --- a/sys/contrib/altq/altq/altq_priq.c +++ b/sys/contrib/altq/altq/altq_priq.c @@ -362,8 +362,9 @@ priq_class_create(struct priq_if *pif, int pri, int qlimit, int flags, int qid) if (flags & PRCF_RIO) { cl->cl_red = (red_t *)rio_alloc(0, NULL, red_flags, red_pkttime); - if (cl->cl_red != NULL) - qtype(cl->cl_q) = Q_RIO; + if (cl->cl_red == NULL) + goto err_ret; + qtype(cl->cl_q) = Q_RIO; } else #endif if (flags & PRCF_RED) { @@ -371,8 +372,9 @@ priq_class_create(struct priq_if *pif, int pri, int qlimit, int flags, int qid) qlimit(cl->cl_q) * 10/100, qlimit(cl->cl_q) * 30/100, red_flags, red_pkttime); - if (cl->cl_red != NULL) - qtype(cl->cl_q) = Q_RED; + if (cl->cl_red == NULL) + goto err_ret; + qtype(cl->cl_q) = Q_RED; } } #endif /* ALTQ_RED */ diff --git a/sys/contrib/altq/altq/altq_red.c b/sys/contrib/altq/altq/altq_red.c index b461ce03f995..b589454ef042 100644 --- a/sys/contrib/altq/altq/altq_red.c +++ b/sys/contrib/altq/altq/altq_red.c @@ -231,10 +231,9 @@ red_alloc(int weight, int inv_pmax, int th_min, int th_max, int flags, int w, i; int npkts_per_sec; - rp = malloc(sizeof(red_t), M_DEVBUF, M_WAITOK); + rp = malloc(sizeof(red_t), M_DEVBUF, M_NOWAIT | M_ZERO); if (rp == NULL) return (NULL); - bzero(rp, sizeof(red_t)); rp->red_avg = 0; rp->red_idle = 1; diff --git a/sys/contrib/altq/altq/altq_rio.c b/sys/contrib/altq/altq/altq_rio.c index f80d76611f9d..a48cd6dc33c1 100644 --- a/sys/contrib/altq/altq/altq_rio.c +++ b/sys/contrib/altq/altq/altq_rio.c @@ -204,10 +204,9 @@ rio_alloc(int weight, struct redparams *params, int flags, int pkttime) int w, i; int npkts_per_sec; - rp = malloc(sizeof(rio_t), M_DEVBUF, M_WAITOK); + rp = malloc(sizeof(rio_t), M_DEVBUF, M_NOWAIT | M_ZERO); if (rp == NULL) return (NULL); - bzero(rp, sizeof(rio_t)); rp->rio_flags = flags; if (pkttime == 0)