summaryrefslogtreecommitdiffstats
path: root/sys/dev/netmap/netmap_mem2.c
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2012-10-17 18:21:14 +0000
committeremaste <emaste@FreeBSD.org>2012-10-17 18:21:14 +0000
commitb993898a36477020570d9872d03dcd8e07d0ab9a (patch)
tree5fc0f7eb674023be17bec67f627e61f5bd16d29e /sys/dev/netmap/netmap_mem2.c
parent57b3e442e27c31c4e610a0e8effc3f47b2572fc6 (diff)
downloadFreeBSD-src-b993898a36477020570d9872d03dcd8e07d0ab9a.zip
FreeBSD-src-b993898a36477020570d9872d03dcd8e07d0ab9a.tar.gz
Avoid panic when a netmap instance cannot obtain memory.
A uint32_t is always >= 0. Sponsored by: ADARA Networks
Diffstat (limited to 'sys/dev/netmap/netmap_mem2.c')
-rw-r--r--sys/dev/netmap/netmap_mem2.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/netmap/netmap_mem2.c b/sys/dev/netmap/netmap_mem2.c
index 03a665a..cc97a97 100644
--- a/sys/dev/netmap/netmap_mem2.c
+++ b/sys/dev/netmap/netmap_mem2.c
@@ -325,7 +325,8 @@ netmap_new_bufs(struct netmap_if *nifp,
return;
cleanup:
- for (i--; i >= 0; i--) {
+ while (i > 0) {
+ i--;
netmap_obj_free(nm_mem->nm_buf_pool, slot[i].buf_idx);
}
}
OpenPOWER on IntegriCloud