fd close()ed after call to unix_file_del of same fd
Change-Id: Ia8bf77b72b6cea7c70e004199ce11a33b6260720
Signed-off-by: Eyal Bari <ebari@cisco.com>
unix_file_del (&unix_main, unix_main.file_pool + apif->unix_file_index);
apif->unix_file_index = ~0;
}
unix_file_del (&unix_main, unix_main.file_pool + apif->unix_file_index);
apif->unix_file_index = ~0;
}
+ else
+ close (apif->fd);
+
ring_sz = apif->rx_req->tp_block_size * apif->rx_req->tp_block_nr +
apif->tx_req->tp_block_size * apif->tx_req->tp_block_nr;
if (munmap (apif->rx_ring, ring_sz))
ring_sz = apif->rx_req->tp_block_size * apif->rx_req->tp_block_nr +
apif->tx_req->tp_block_size * apif->tx_req->tp_block_nr;
if (munmap (apif->rx_ring, ring_sz))
host_if_name);
apif->rx_ring = NULL;
apif->tx_ring = NULL;
host_if_name);
apif->rx_ring = NULL;
apif->tx_ring = NULL;
apif->fd = -1;
vec_free (apif->rx_req);
apif->fd = -1;
vec_free (apif->rx_req);
unix_file_del (&unix_main, unix_main.file_pool + nif->unix_file_index);
nif->unix_file_index = ~0;
}
unix_file_del (&unix_main, unix_main.file_pool + nif->unix_file_index);
nif->unix_file_index = ~0;
}
close (nif->fd);
if (nif->mem_region)
close (nif->fd);
if (nif->mem_region)
unix_file_del (&unix_main, unix_main.file_pool + vui->unix_file_index);
vui->unix_file_index = ~0;
}
unix_file_del (&unix_main, unix_main.file_pool + vui->unix_file_index);
vui->unix_file_index = ~0;
}
+ else
+ close (vui->unix_fd);
hash_unset (vum->vhost_user_interface_index_by_sock_fd, vui->unix_fd);
hash_unset (vum->vhost_user_interface_index_by_listener_fd, vui->unix_fd);
hash_unset (vum->vhost_user_interface_index_by_sock_fd, vui->unix_fd);
hash_unset (vum->vhost_user_interface_index_by_listener_fd, vui->unix_fd);
vui->unix_fd = -1;
vui->is_up = 0;
for (q = 0; q < vui->num_vrings; q++)
vui->unix_fd = -1;
vui->is_up = 0;
for (q = 0; q < vui->num_vrings; q++)
unix_file_del (&unix_main, unix_main.file_pool + ti->unix_file_index);
ti->unix_file_index = ~0;
}
unix_file_del (&unix_main, unix_main.file_pool + ti->unix_file_index);
ti->unix_file_index = ~0;
}
+ else
+ close(ti->unix_fd);
hash_unset (tm->tapcli_interface_index_by_unix_fd, ti->unix_fd);
hash_unset (tm->tapcli_interface_index_by_sw_if_index, ti->sw_if_index);
hash_unset (tm->tapcli_interface_index_by_unix_fd, ti->unix_fd);
hash_unset (tm->tapcli_interface_index_by_sw_if_index, ti->sw_if_index);
close(ti->provision_fd);
ti->unix_fd = -1;
ti->provision_fd = -1;
close(ti->provision_fd);
ti->unix_fd = -1;
ti->provision_fd = -1;