Re: [Qemu-devel] kvm bug in __rmap_clear_dirty during live migration

From: Herongguang (Stephen)
Date: Fri Feb 24 2017 - 04:36:14 EST




On 2017/2/24 10:23, Herongguang (Stephen) wrote:


On 2017/2/22 22:43, Paolo Bonzini wrote:


On 22/02/2017 14:31, Chris Friesen wrote:


Can you reproduce it with kernel 4.8+? I'm suspecting commmit
4e59516a12a6 ("kvm: vmx: ensure VMCS is current while enabling PML",
2016-07-14) to be the fix.

I can't easily try with a newer kernel, the software package we're using
has kernel patches that would have to be ported.

I'm at a conference, don't really have time to set up a pair of test
machines from scratch with a custom kernel.

Hopefully Gaohuai and Rongguang can help with this too.

Paolo

.

Yes, we are looking into and testing this.

I think this can result in any memory corruption, if VM1 writes its
PML buffer into VM2âs VMCS (since sched_in/sched_out notifier of VM1
is not registered yet), then VM1 is destroyed (hence its PML buffer
is freed back to kernel), after that, VM2 starts migration, so CPU
logs VM2âs dirty GFNS into a freed memory, results in any memory corruption.

As its severity, this commit (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4e59516a12a6ef6dcb660cb3a3f70c64bd60cfec)
is eligible to back port to kernel stable.

Hi, Greg, can you cherry pick commit 4e59516a12a6ef6dcb660cb3a3f70c64bd60cfec to 4.4-y?