|
@@ -844,8 +844,11 @@ void kvm_s390_vcpu_crypto_reset_all(struct kvm *kvm)
|
|
|
|
|
|
kvm_s390_vcpu_block_all(kvm);
|
|
kvm_s390_vcpu_block_all(kvm);
|
|
|
|
|
|
- kvm_for_each_vcpu(i, vcpu, kvm)
|
|
|
|
|
|
+ kvm_for_each_vcpu(i, vcpu, kvm) {
|
|
kvm_s390_vcpu_crypto_setup(vcpu);
|
|
kvm_s390_vcpu_crypto_setup(vcpu);
|
|
|
|
+ /* recreate the shadow crycb by leaving the VSIE handler */
|
|
|
|
+ kvm_s390_sync_request(KVM_REQ_VSIE_RESTART, vcpu);
|
|
|
|
+ }
|
|
|
|
|
|
kvm_s390_vcpu_unblock_all(kvm);
|
|
kvm_s390_vcpu_unblock_all(kvm);
|
|
}
|
|
}
|
|
@@ -3203,6 +3206,8 @@ retry:
|
|
|
|
|
|
/* nothing to do, just clear the request */
|
|
/* nothing to do, just clear the request */
|
|
kvm_clear_request(KVM_REQ_UNHALT, vcpu);
|
|
kvm_clear_request(KVM_REQ_UNHALT, vcpu);
|
|
|
|
+ /* we left the vsie handler, nothing to do, just clear the request */
|
|
|
|
+ kvm_clear_request(KVM_REQ_VSIE_RESTART, vcpu);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|