From abfed95bf2788dbe89129d1c493bfbefa8dd895e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Mon, 6 Nov 2017 15:58:29 +0100 Subject: [PATCH] backup: use offline_mode for backup collection This object is used solely for manipulating qubes.xml for the backup. Do not open any connection to hypervisor/QubesDB/libvirt etc. This will help avoiding various leaks (memory, FD). --- qubes/backup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qubes/backup.py b/qubes/backup.py index c7933e2c..ff3c7121 100644 --- a/qubes/backup.py +++ b/qubes/backup.py @@ -694,7 +694,7 @@ class Backup(object): self.tmpdir = tempfile.mkdtemp() shutil.copy(qubes_xml, os.path.join(self.tmpdir, 'qubes.xml')) qubes_xml = os.path.join(self.tmpdir, 'qubes.xml') - backup_app = qubes.Qubes(qubes_xml) + backup_app = qubes.Qubes(qubes_xml, offline_mode=True) backup_app.events_enabled = False files_to_backup = self._files_to_backup @@ -709,6 +709,7 @@ class Backup(object): backup_app.domains[qid].features['backup-path'] = vm_info.subdir backup_app.domains[qid].features['backup-size'] = vm_info.size backup_app.save() + del backup_app vmproc = None if self.target_vm is not None: