diff options
Diffstat (limited to 'results/classifier/gemma3:12b/hypervisor/1497479')
| -rw-r--r-- | results/classifier/gemma3:12b/hypervisor/1497479 | 24 |
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 00000000..d50ff768 --- /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 |