diff options
Diffstat (limited to 'results/scraper/launchpad-without-comments/1497479')
| -rw-r--r-- | results/scraper/launchpad-without-comments/1497479 | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1497479 b/results/scraper/launchpad-without-comments/1497479 new file mode 100644 index 000000000..a4d3883d0 --- /dev/null +++ b/results/scraper/launchpad-without-comments/1497479 @@ -0,0 +1,23 @@ +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 |