summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorroyger <royger@FreeBSD.org>2016-02-11 11:53:32 +0000
committerroyger <royger@FreeBSD.org>2016-02-11 11:53:32 +0000
commit45887feced9ae0d70ffadabe5fef1d5d54a37ef8 (patch)
treee9a60652e9c13bb4e094ffa9337fe5d6d1da5aac /sys/dev
parentb78ed75c2c7c3a3fc3a45961a65b7527f8ca07db (diff)
downloadFreeBSD-src-45887feced9ae0d70ffadabe5fef1d5d54a37ef8.zip
FreeBSD-src-45887feced9ae0d70ffadabe5fef1d5d54a37ef8.tar.gz
xen-netfront: rearrange error paths in setup_txqs
Coverity spotted double free errors in error path. Fix that by removing the extraneous calls. Coverity ID: 1349798 Submitted by: Wei Liu <wei.liu2@citrix.com> Reviewed by: royger Sponsored by: Citrix Systems R&D Differential revision: https://reviews.freebsd.org/D5251
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/xen/netfront/netfront.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/dev/xen/netfront/netfront.c b/sys/dev/xen/netfront/netfront.c
index 89aef62..296c940 100644
--- a/sys/dev/xen/netfront/netfront.c
+++ b/sys/dev/xen/netfront/netfront.c
@@ -906,11 +906,9 @@ setup_txqs(device_t dev, struct netfront_info *info,
fail_bind_port:
taskqueue_drain_all(txq->tq);
fail_start_thread:
- gnttab_free_grant_references(txq->gref_head);
- free(txq->ring.sring, M_DEVBUF);
- gnttab_end_foreign_access_ref(txq->ring_ref);
buf_ring_free(txq->br, M_DEVBUF);
taskqueue_free(txq->tq);
+ gnttab_end_foreign_access_ref(txq->ring_ref);
fail_grant_ring:
gnttab_free_grant_references(txq->gref_head);
free(txq->ring.sring, M_DEVBUF);
OpenPOWER on IntegriCloud