
On Fri, Sep 06, 2019 at 04:25:17PM +0200, Michal Privoznik wrote:
In some places where virDomainObjListForEach() is called the passed callback calls virDomainObjListRemoveLocked(). Well, this is unsafe, because the former only grabs a read lock but the latter modifies the list. I've identified the following unsafe calls:
- qemuProcessReconnectAll() - libxlReconnectDomains()
The rest seem to be safe.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/bhyve/bhyve_driver.c | 2 +- src/bhyve/bhyve_process.c | 2 +- src/conf/virdomainobjlist.c | 12 ++++++++++-- src/conf/virdomainobjlist.h | 1 + src/libxl/libxl_driver.c | 11 +++++++---- src/lxc/lxc_process.c | 4 ++-- src/qemu/qemu_process.c | 3 ++- src/vmware/vmware_driver.c | 2 +- 8 files changed, 25 insertions(+), 12 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano