diff options
author | glebius <glebius@FreeBSD.org> | 2012-09-22 12:49:36 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2012-09-22 12:49:36 +0000 |
commit | d91f23ae3d2beb18cedf81e4ec13451d7db9c172 (patch) | |
tree | 197d64d42f3fccc7f64d63a5c2f9f5072f465828 /sys | |
parent | 66da4b41b33657686a22e405117852035b6cc042 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/contrib/altq/altq/altq_priq.c | 10 | ||||
-rw-r--r-- | sys/contrib/altq/altq/altq_red.c | 3 | ||||
-rw-r--r-- | 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 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) |