1
linux/arch/s390/kvm
Carsten Otte e52b2af541 KVM: s390: Fix race condition in kvm_s390_handle_wait
The call to add_timer was issued before local_int.lock was taken and before
timer_due was set to 0. If the timer expires before the lock is being taken,
the timer function will set timer_due to 1 and exit before the vcpu falls
asleep. Depending on other external events, the vcpu might sleep forever.
This fix pulls setting timer_due to the beginning of the function before
add_timer, which ensures correct behavior.

Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-06-06 21:08:26 +03:00
..
diag.c KVM: s390: use yield instead of schedule to implement diag 0x44 2008-06-06 21:08:26 +03:00
gaccess.h
intercept.c [S390] s390-kvm: leave sie context on work. Removes preemption requirement 2008-05-07 09:23:01 +02:00
interrupt.c KVM: s390: Fix race condition in kvm_s390_handle_wait 2008-06-06 21:08:26 +03:00
Kconfig [S390] s390-kvm: leave sie context on work. Removes preemption requirement 2008-05-07 09:23:01 +02:00
kvm-s390.c KVM: s390: Send program check on access error 2008-06-06 21:08:26 +03:00
kvm-s390.h KVM: s390: intercepts for diagnose instructions 2008-04-27 12:00:46 +03:00
Makefile KVM: s390: intercepts for diagnose instructions 2008-04-27 12:00:46 +03:00
priv.c [S390] Move stfl to system.h and delete duplicated version. 2008-04-30 13:38:46 +02:00
sie64a.S
sigp.c KVM: s390: interprocessor communication via sigp 2008-04-27 12:00:46 +03:00