linux_dsm_epyc7002/arch/s390/kvm
David Hildenbrand b938eacea0 KVM: s390: fix external call injection without sigp interpretation
Commit ea5f496925 ("KVM: s390: only one external call may be pending
at a time") introduced a bug on machines that don't have SIGP
interpretation facility installed.
The injection of an external call will now always fail with -EBUSY
(if none is already pending).

This leads to the following symptoms:
- An external call will be injected but with the wrong "src cpu id",
  as this id will not be remembered.
- The target vcpu will not be woken up, therefore the guest will hang if
  it cannot deal with unexpected failures of the SIGP EXTERNAL CALL
  instruction.
- If an external call is already pending, -EBUSY will not be reported.

Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org # v4.0
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2015-05-08 15:51:12 +02:00
..
diag.c KVM/ARM changes for v4.1: 2015-04-07 18:09:20 +02:00
gaccess.c KVM: s390: Add MEMOP ioctls for reading/writing guest memory 2015-03-17 16:26:24 +01:00
gaccess.h KVM: s390: Add MEMOP ioctls for reading/writing guest memory 2015-03-17 16:26:24 +01:00
guestdbg.c KVM: s390: Use the read_guest_abs() in guest debug functions 2015-03-06 13:41:02 +01:00
intercept.c KVM: s390: Guest's memory access functions get access registers 2015-03-17 16:25:04 +01:00
interrupt.c KVM: s390: fix external call injection without sigp interpretation 2015-05-08 15:51:12 +02:00
irq.h KVM: s390: irq routing for adapter interrupts. 2014-03-21 13:43:00 +01:00
Kconfig rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
kvm-s390.c KVM: s390: disable RRBM again 2015-04-15 17:00:49 +02:00
kvm-s390.h KVM: s390: migrate vcpu interrupt state 2015-03-31 21:07:31 +02:00
Makefile KVM: s390: hardware support for guest debugging 2014-04-22 13:24:51 +02:00
priv.c KVM: s390: deliver floating interrupts in order of priority 2015-03-31 21:07:27 +02:00
sigp.c KVM: s390: Guest's memory access functions get access registers 2015-03-17 16:25:04 +01:00
trace-s390.h tracing: Add TRACE_SYSTEM_VAR to kvm-s390 2015-04-07 12:31:39 -04:00
trace.h KVM: s390: interpretive execution of SIGP EXTERNAL CALL 2014-05-16 14:57:28 +02:00