Re: [PATCH 00/11] KVM updates for Linux 2.6.24-rc review

From: Laurent Vivier
Date: Sun Oct 21 2007 - 07:54:41 EST


Avi Kivity a écrit :
Avi Kivity wrote:
The following patches fix fallout from the main 2.6.24 KVM merge. An
exception is the movnti emulation patch, which adds support for Linux
2.6.16 guests.

The patches can be found in kvm.git in the branch kvm-updates-2.6.24.
There is also a branch kvm-updates-2.6.25 which will form the basis of
the next merge window submission.

Please review the patches and let me know if something is wrong or if
a patch is missing.



Laurent, I believe the following patch (in kvm-updates-2.6.25) needs to go into 2.6.24 as well. Can you comment on this?

What kind of comment do you want ?
What are the requirements to go in 2.6.24 instead of 2.6.25 ?

Is a bug correction enough ? :-P

This patch correct a bad behavior of x86_emulate_insn() in case of error with a REP prefix.

This patch is needed because, without it, when REP prefix is used with an instruction failing for some reasons (like IO or page fault) we don't restore all modified registers (like RSI and RDI), but only ECX and EIP, so when we re-enter in x86_emulate_insn() we modify again an already modified value. Moreover, this patch manages correctly the case where the instruction fails in writeback().


commit 6de232e39be372f85bea96eb741962acc7fcb1f7
Author: Laurent Vivier <Laurent.Vivier@xxxxxxxx>
Date: Mon Oct 1 11:01:06 2007 +0200

KVM: x86 emulator: Correct management of REP prefix

This patch corrects some errors appearing when we have an emulation failure
on an operation using REP prefix.

When x86_emulate_insn() fails, saving EIP and ECX is not enough as emulation
should have modified other registers like RSI or RDI. Moreover, the emulation
can fail on the writeback, and in this case we are not able to restore
registers.

At beginning of x86_emulate_insn(), we restore registers from vcpu as they were
not modified by x86d_decode_insn() and we save EIP to be able to restore it
in case of failure.




--
---------------- Laurent.Vivier@xxxxxxxx -----------------
"Given enough eyeballs, all bugs are shallow" E. S. Raymond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/