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(a)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(a)redhat.com>
Jano