diff options
author | royger <royger@FreeBSD.org> | 2016-02-11 11:53:32 +0000 |
---|---|---|
committer | royger <royger@FreeBSD.org> | 2016-02-11 11:53:32 +0000 |
commit | 45887feced9ae0d70ffadabe5fef1d5d54a37ef8 (patch) | |
tree | e9a60652e9c13bb4e094ffa9337fe5d6d1da5aac /sys/dev | |
parent | b78ed75c2c7c3a3fc3a45961a65b7527f8ca07db (diff) | |
download | FreeBSD-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.c | 4 |
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); |