]> 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)
commit8e1f6bf39f30d18efcdad4356a9093dd5f2730a7
tree2aec852e2d10c710c79d5a6b50b680d05aeff460
parent143814267b8354f6091bd7d53c4540ea1d7bd73f
[S390] kvm-s390: Fix host crash on misbehaving guests

commit 2d2770e76a0af1510f79df4c617e3e879fde089d ([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