summaryrefslogtreecommitdiffstats
path: root/sys/contrib/altq
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2012-09-22 12:49:36 +0000
committerglebius <glebius@FreeBSD.org>2012-09-22 12:49:36 +0000
commitd91f23ae3d2beb18cedf81e4ec13451d7db9c172 (patch)
tree197d64d42f3fccc7f64d63a5c2f9f5072f465828 /sys/contrib/altq
parent66da4b41b33657686a22e405117852035b6cc042 (diff)
downloadFreeBSD-src-d91f23ae3d2beb18cedf81e4ec13451d7db9c172.zip
FreeBSD-src-d91f23ae3d2beb18cedf81e4ec13451d7db9c172.tar.gz
Convert more M_WAITOK malloc() to M_NOWAIT.
Reported by: Kim Culhan <w8hdkim gmail.com>
Diffstat (limited to 'sys/contrib/altq')
-rw-r--r--sys/contrib/altq/altq/altq_priq.c10
-rw-r--r--sys/contrib/altq/altq/altq_red.c3
-rw-r--r--sys/contrib/altq/altq/altq_rio.c3
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 0dde938..72bad80 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 b461ce0..b589454 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 f80d766..a48cd6d 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)
OpenPOWER on IntegriCloud