mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Make sure to zero out memory before calling madvise to increase robustness
Avi pointed out that it's not entirely safe to rely on madvise zeroing out memory. So let's do it explicitly before calling madvise. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
@@ -3358,13 +3358,13 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
|
||||
|
||||
if (flags & RAM_SAVE_FLAG_COMPRESS) {
|
||||
uint8_t ch = qemu_get_byte(f);
|
||||
#if defined(__linux__)
|
||||
memset(qemu_get_ram_ptr(addr), ch, TARGET_PAGE_SIZE);
|
||||
#ifndef _WIN32
|
||||
if (ch == 0 &&
|
||||
(!kvm_enabled() || kvm_has_sync_mmu())) {
|
||||
madvise(qemu_get_ram_ptr(addr), TARGET_PAGE_SIZE, MADV_DONTNEED);
|
||||
} else
|
||||
}
|
||||
#endif
|
||||
memset(qemu_get_ram_ptr(addr), ch, TARGET_PAGE_SIZE);
|
||||
} else if (flags & RAM_SAVE_FLAG_PAGE)
|
||||
qemu_get_buffer(f, qemu_get_ram_ptr(addr), TARGET_PAGE_SIZE);
|
||||
} while (!(flags & RAM_SAVE_FLAG_EOS));
|
||||
|
||||
Reference in New Issue
Block a user