|
@@ -527,8 +527,10 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
|
|
|
if (rc == SIE_INTERCEPT_RERUNVCPU)
|
|
if (rc == SIE_INTERCEPT_RERUNVCPU)
|
|
|
goto rerun_vcpu;
|
|
goto rerun_vcpu;
|
|
|
|
|
|
|
|
- if (signal_pending(current) && !rc)
|
|
|
|
|
|
|
+ if (signal_pending(current) && !rc) {
|
|
|
|
|
+ kvm_run->exit_reason = KVM_EXIT_INTR;
|
|
|
rc = -EINTR;
|
|
rc = -EINTR;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
if (rc == -ENOTSUPP) {
|
|
if (rc == -ENOTSUPP) {
|
|
|
/* intercept cannot be handled in-kernel, prepare kvm-run */
|
|
/* intercept cannot be handled in-kernel, prepare kvm-run */
|