]> git.baikalelectronics.ru Git - kernel.git/commit
[S390] kvm-s390: Fix host crash on misbehaving guests
authorChristian Borntraeger <borntraeger@de.ibm.com>
Mon, 6 Jun 2011 12:14:38 +0000 (14:14 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 6 Jun 2011 12:14:56 +0000 (14:14 +0200)
commitef0b235e7a257ce33fab3f0b844cc0e6221c99f9
tree2aec852e2d10c710c79d5a6b50b680d05aeff460
parent3efe088d15865c5fe751148d0cd497d7bcd8d167
[S390] kvm-s390: Fix host crash on misbehaving guests

commit 472891de7ef259b60f2f357b27cf33a67e31a592 ([S390] kvm-390: Let
kernel exit SIE instruction on work) fixed a problem of commit
commit efc628a181265f2c6ec29842a8e8b245899e9b50 ([S390] virtualization
aware cpu measurement) but uncovered another one.

If a kvm guest accesses guest real memory that doesnt exist, the
page fault handler calls the sie hook, which then rewrites
the return psw from sie_inst to either sie_exit or sie_reenter.
On return, the page fault handler will then detect the wrong access
as a kernel fault causing a kernel oops in sie_reenter or sie_exit.

We have to add these two addresses to the exception  table to allow
graceful exits.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kvm/sie64a.S