summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/hypervisor/1497479
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/gemma3:12b/hypervisor/1497479')
-rw-r--r--results/classifier/gemma3:12b/hypervisor/149747924
1 files changed, 24 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/hypervisor/1497479 b/results/classifier/gemma3:12b/hypervisor/1497479
new file mode 100644
index 000000000..d50ff7683
--- /dev/null
+++ b/results/classifier/gemma3:12b/hypervisor/1497479
@@ -0,0 +1,24 @@
+
+memory corruption with migrate/savevm in TCG mode
+
+[ISSUE]
+
+QEMU releases 2.3.1 and lower are forgetting to flush TLBs before enabling the global dirty pages log and entering the final stage of saving the VM.
+
+[DESCRIPTION]
+
+The situation is the following:
+1. TLB misses is the only way for page dirtying in the TCG mode.
+2. If TLB is hit by a running VM during the execution of the `ram_save_iterate' by migration thread (e.g. if VM is mostly idling) then some pages are missing in the dirty log.
+3. These pages are then not migrated during `ram_save_complete'.
+4. This makes memory content in a saved VM state differ from the actual VM memory.
+5. If the affected area includes some Kernel data structures such as trees or lists this can cause Kernel to Oops after loading the saved state.
+
+[SOLUTION]
+
+A proposed solution is to flush TLB when `log_global_start' is called.
+Here is the patch: https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1493049/+attachment/4459905/+files/tcg-commit-on-log-global-start.patch
+
+[LINKS]
+
+Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1493049
\ No newline at end of file